tempname: merge from glibc and coreutils
[gnulib.git] / ChangeLog
blobb7b39272f93a0bb6641a3e3f053c98ce08bd8d70
1 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3         tempname: merge from glibc and coreutils
4         Also, merge in Gnulib’s more-recent methods of making it easier
5         to share between Gnulib and glibc, and fix a few randomness
6         glitches.
7         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
8         (__set_errno): Remove; libc-config.h does that for us.
9         Do not include <sys/time.h>.
10         (__secure_getenv) [_LIBC]: New macro.
11         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
12         (RANDOM_BITS): Rewrite.
13         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
14         (random_value): New typedef.
15         (try_file, try_dir, try_nocreate): Move up.
16         (gen_tempname_len, try_tempname_len): New functions.
17         (gen_tempname_len): Use a constant array rather than a switch.
18         (try_tempname_len): Don’t assume string length fits in int.
19         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
20         has enough entropy (it’s a bit short).
21         (__gen_tempname): Rewrite in terms of gen_tempname_len.
22         (__try_tempname): Rewrite in terms of try_tempname_len.
23         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
24         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
25         Add getentropy, libc-config.
27 2020-05-31  Bruno Haible  <bruno@clisp.org>
29         getrandom, getentropy: Mention the crypto/gc-random module.
30         Suggested by Simon Josefsson in
31         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
32         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
33         crypto/gc-random module.
34         * doc/glibc-functions/getentropy.texi: Likewise.
36 2020-05-31  Bruno Haible  <bruno@clisp.org>
38         getentropy: Enhance tests.
39         * tests/test-getentropy.c (main): Add one more test.
40         * tests/test-unistd-c++.cc: Check the signature of getentropy.
42 2020-05-31  Bruno Haible  <bruno@clisp.org>
44         getentropy: Work around a macOS and Solaris problem.
45         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
46         'getentropy' module.
47         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48         UNISTD_H_HAVE_SYS_RANDOM_H.
49         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
50         UNISTD_H_HAVE_SYS_RANDOM_H.
51         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
52         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
53         problem. List more platforms.
55 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
57         fnmatch: merge from glibc
58         Also, merge in Gnulib’s more-recent methods of making it easier
59         to share between Gnulib and glibc.
60         * lib/fnmatch.c: Reorder includes to match glibc better.
61         Include libc-config.h instead of config.h.
62         Include alloca.h only if _LIBC || HAVE_ALLOCA.
63         Do not include "../locale/elem-hash.h" if _LIBC.
64         Define macros for btowc, etc. if _LIBC.  All uses simplified.
65         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
66         Include intprops.h, since glibc has it now.
67         (SIZE_MAX): Remove; use (size_t) -1 instead.
68         Omit the "Comment out all this code" ifdef, since Gnulib
69         has never really needed it.
70         (STREQ): Remove; no longer used.
71         (__libc_use_alloca, alloca, alloca_account): Define as
72         needed if !_LIBC.
73         (ISWCTYPE): Remove; all uses replaced by iswctype.
74         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
75         (internal_function): Remove.  All uses removed.
76         (STRUCT): New macro.
77         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
78         (WMEMCMP): New macro.
79         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
80         and <locale/weightwc.h>.
81         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
82         __builtin_expect.  Check for integer overflow more
83         systematically.  Account for alloca storage better when
84         recursive.  Use strnlen instead of strlen for efficiency.
85         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
86         (struct STRUCT): New type.
87         (FCT, EXT): New ENDS and ALLOCA_USED args.
88         All callers changed.
89         (FCT): Prefer __glibc_unlikely to __builtin_expect.
90         Simplify by assuming WIDE_CHAR_SUPPORT.
91         Copy _LIBC code from glibc without worrying Gnulib compatibility.
92         Cast cold to UCHAR to avoid signedness warning.
93         (END): Check for invalid pattern.
94         (EXT): Improve alloca/malloc checking (taken from glibc),
95         and improve it some more by using intprops.h and checking
96         for integer overflow and using bool for booleans.
97         * lib/libc-config.h (compat_symbol): New macro.
98         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
99         acceptable to non-GCC when a trailing semicolon is added.
100         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
101         libc-config, strnlen.  Remove alloca.
103 2020-05-31  Bruno Haible  <bruno@clisp.org>
105         getrandom: Doc and test tweaks.
106         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
107         it sets errno when failing.
108         * tests/test-getrandom.c (main): Disable the high-quality check on those
109         platforms on which it fails.
110         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
111         Cygwin to the list of platforms that don't have the function. Add a note
112         about the quality of the result.
113         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
114         declaration; this is fixed by module 'getrandom'.
116 2020-05-31  Bruno Haible  <bruno@clisp.org>
118         getrandom: Add support for native Windows.
119         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
120         <wincrypt.h>.
121         (CRYPT_VERIFY_CONTEXT): New macro.
122         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
123         'A'.
124         (GetProcAddress): New macro.
125         (BCryptGenRandomFuncType): New type.
126         (BCryptGenRandomFunc, initialized): New variables.
127         (initialize): New function.
128         (getrandom): On native Windows, use <bcrypt.h> API when available, and
129         <wincrypt.h> API as fallback.
130         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
131         * modules/getrandom (Link): New section.
132         * modules/getentropy (Link): Likewise.
133         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
134         $(LIB_GETRANDOM).
135         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
136         $(LIB_GETRANDOM).
137         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
138         against $(LIB_GETRANDOM).
139         * doc/glibc-functions/getrandom.texi: Mention the native Windows
140         support.
142 2020-05-31  Bruno Haible  <bruno@clisp.org>
144         getrandom: Simplify the determination of the random number devices.
145         Suggested by Paul Eggert in
146         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
147         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
148         macros.
149         * modules/getrandom (Depends-on): Remove crypto/gc-random.
151 2020-05-31  Bruno Haible  <bruno@clisp.org>
153         crypto/gc-random: Fix list of crypto devices for Solaris.
154         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
156 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
158         list: fix GCC warnings
159         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
160         (gl_tree_next_node, gl_tree_node_nx_set_value)
161         (gl_tree_previous_node, gl_tree_next_node):
162         Mark unused arguments.
163         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
164         * lib/gl_anylinked_list2.h (gl_linked_node_value)
165         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
167         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
168         the same variable name in nested scopes.
170 2020-05-31  Bruno Haible  <bruno@clisp.org>
172         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
173         Reported by Akim Demaille in
174         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
175         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
176         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
177         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
178         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
179         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
181 2020-05-30  Bruno Haible  <bruno@clisp.org>
183         wmemchr: Relicense under LGPLv2+.
184         * modules/wmemchr (License): Set to LGPLv2+.
186 2020-05-30  Bruno Haible  <bruno@clisp.org>
188         wmempcpy: New module.
189         Reported by Paul Eggert in
190         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
191         * lib/wchar.in.h (wmempcpy): New declaration.
192         * lib/wmempcpy.c: New file.
193         * m4/wmempcpy.m4: New file.
194         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
195         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
196         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
197         HAVE_WMEMPCPY.
198         * modules/wmempcpy: New file.
199         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
200         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
201         * modules/mempcpy (Description): Fix typo.
203 2020-05-30  Bruno Haible  <bruno@clisp.org>
205         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
206         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
208 2020-05-30  Bruno Haible  <bruno@clisp.org>
210         sys_random: Work around macOS bug.
211         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
212         <stdlib.h> before <sys/random.h>.
213         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
214         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
215         first.
216         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
218 2020-05-30  Bruno Haible  <bruno@clisp.org>
220         getrandom: Override incompatible system function on Solaris 11.
221         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
222         * lib/getrandom.c (getrandom): When the system has getrandom, just
223         invoke it.
224         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
225         system's getrandom function's prototype is not the expected one.
226         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
227         REPLACE_GETRANDOM.
228         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
229         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
230         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
231         EAGAIN.
232         * doc/glibc-functions/getrandom.texi: Mention the new module and the
233         Solaris problem.
235 2020-05-30  Bruno Haible  <bruno@clisp.org>
237         sys_random: Add C++ tests.
238         * tests/test-sys_random-c++.cc: New file.
239         * modules/sys_random-c++-tests: New file.
240         * modules/sys_random-tests (Depends-on): Depend on it.
242         sys_random: Add tests.
243         * tests/test-sys_random.c: New file.
244         * modules/sys_random-tests: New file.
246         sys_random: New module.
247         * lib/sys_random.in.h: Use the common idioms for overridable header
248         files.
249         * m4/sys_random_h.m4: New file.
250         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
251         * modules/sys_random: New file.
252         * modules/getrandom (Files): Remove lib/sys_random.in.h.
253         (Depends-on): Add sys_random.
254         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
255         gl_UNISTD_MODULE_INDICATOR.
256         (Makefile.am): Don't generate sys/random.h here.
257         * doc/glibc-headers/sys_random.texi: New file.
258         * doc/gnulib.texi: Include it.
260 2020-05-30  Bruno Haible  <bruno@clisp.org>
262         unistd: Remove conflicting declaration of getrandom().
263         * lib/unistd.in.h (getrandom): Remove declaration.
264         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
265         declared.
266         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
267         HAVE_GETRANDOM.
268         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
269         HAVE_GETRANDOM.
271 2020-05-30  Bruno Haible  <bruno@clisp.org>
273         getrandom: Add tests.
274         * tests/test-getrandom.c: New file.
275         * modules/getrandom-tests: New file.
277 2020-05-30  Bruno Haible  <bruno@clisp.org>
279         crypto/gc-random: Fix link error on MSVC.
280         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
281         * modules/crypto/gc-random (Link): New section.
282         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
283         $(LIB_GC_RANDOM).
285 2020-05-30  Bruno Haible  <bruno@clisp.org>
287         Don't assume that UNICODE is not defined.
288         Many Windows API functions are defined differently (redirecting to a
289         function with suffix 'W') if the application defines the macro UNICODE
290         than by default (redirecting to a function with suffix 'A').
291         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
292         variant with suffix 'A'.
293         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
294         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
295         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
296         * lib/getlogin.c (GetUserName): Likewise.
297         * lib/getlogin_r.c (GetUserName): Likewise.
298         * lib/gettimeofday.c (LoadLibrary): Likewise.
299         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
300         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
301         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
302         * lib/mountlist.c (GetDriveType): Likewise.
303         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
304         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
305         Likewise.
306         * lib/physmem.c (GetModuleHandle): Likewise.
307         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
308         PeekMessage, DispatchMessage): Likewise.
309         * lib/progreloc.c (GetModuleFileName): Likewise.
310         * lib/putenv.c (SetEnvironmentVariable): Likewise.
311         * lib/read.c (GetNamedPipeHandleState): Likewise.
312         * lib/readdir.c (FindNextFile): Likewise.
313         * lib/relocatable.c (GetModuleFileName): Likewise.
314         * lib/rename.c (MoveFileEx): Likewise.
315         * lib/rewinddir.c (FindFirstFile): Likewise.
316         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
317         PeekMessage, DispatchMessage): Likewise.
318         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
319         * lib/socket.c (WSASocket): Likewise.
320         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
321         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
322         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
323         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
324         * lib/tmpdir.c (GetTempPath): Likewise.
325         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
326         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
327         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
328         * lib/windows-cond.c (CreateEvent): Likewise.
329         * lib/windows-rwlock.c (CreateEvent): Likewise.
330         * lib/windows-timedmutex.c (CreateEvent): Likewise.
331         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
332         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
333         * lib/write.c (GetNamedPipeHandleState): Likewise.
335 2020-05-30  Bruno Haible  <bruno@clisp.org>
337         physmem: Fix compilation errors on MSVC.
338         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
339         * modules/physmem (Depends-on): Add unistd.
341 2020-05-29  Bruno Haible  <bruno@clisp.org>
343         gnulib-tool: Fix link errors with a particular set of modules on mingw.
344         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
345         LDADD a second time, after the second occurrence of libtests.a.
346         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
348 2020-05-29  Bruno Haible  <bruno@clisp.org>
350         fnmatch: Rely on more gnulib modules.
351         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
352         wmempcpy, mempcpy.
353         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
354         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
355         HAVE_MEMPCPY are all 1.
356         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
357         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
359 2020-05-29  Bruno Haible  <bruno@clisp.org>
361         Avoid dynamic lookup of Windows API functions when possible.
362         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
363         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
364         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
365         (use_win32_p): Define differently.
366         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
367         CreateHardLinkFunc, initialized, initialize): Don't define in a build
368         for Windows XP or higher.
370 2020-05-29  Daiki Ueno  <ueno@gnu.org>
372         read-file: disable buffering if RF_SENSITIVE is set
373         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
374         Suggested by Glenn Strauss.
375         (fread_file): Suggest calling setvbuf before calling this
376         function.  Suggested by Bruno Haible.
378 2020-05-29  Bruno Haible  <bruno@clisp.org>
380         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
381         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
382         program.
383         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
384         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
385         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
386         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
388 2020-05-29  Bruno Haible  <bruno@clisp.org>
390         Fix compilation error on native Windows (regression from 2020-05-28).
391         Reported by Daiki Ueno.
392         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
393         macro when not using dynamic loading.
394         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
395         QueryFullProcessImageNameFunc): Likewise.
396         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
397         GetFinalPathNameByHandleFunc): Likewise.
399 2020-05-29  Daiki Ueno  <ueno@gnu.org>
401         fopen-gnu-tests: fix "\x" escape usage
402         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
404 2020-05-28  Bruno Haible  <bruno@clisp.org>
406         Avoid dynamic loading of Windows API functions when possible.
407         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
408         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
409         * lib/gettimeofday.c (GetProcAddress,
410         GetSystemTimePreciseAsFileTimeFuncType,
411         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
412         define in a build for Windows 8 or higher.
413         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
414         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
415         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
416         in a build for Windows Vista or higher.
417         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
418         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
419         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
421 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
423         explicit_bzero-tests: improve -Wmissing-declarations pacification
424         * tests/test-explicit_bzero.c: Now noinline.
425         Suggested by Bruno Haible in:
426         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
428 2020-05-28  Bruno Haible  <bruno@clisp.org>
430         Fix build errors due to read-file changes (regression from 2020-05-27).
431         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
432         invocation.
433         * tests/test-sameacls.c (main): Likewise.
434         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
435         read_binary_file.
436         * tests/test-pipe-filter-ii1.c (main): Likewise.
438 2020-05-28  Bruno Haible  <bruno@clisp.org>
440         fts: Make more robust in multithreaded applications.
441         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
442         * modules/fts (Depends-on): Add 'open'.
444 2020-05-28  Bruno Haible  <bruno@clisp.org>
446         relocatable-prog: Make more robust in multithreaded applications.
447         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
448         relocatable-prog-wrapper.
449         (find_executable): Pass an O_CLOEXEC flag to open().
450         * modules/relocatable-prog (Depends-on): Add 'open'.
452 2020-05-28  Bruno Haible  <bruno@clisp.org>
454         getloadavg: Make more robust in multithreaded applications.
455         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
456         Simplify use of O_CLOEXEC.
457         * modules/getloadavg (Depends-on): Add 'open'.
459 2020-05-28  Bruno Haible  <bruno@clisp.org>
461         vma-iter: Make more robust in multithreaded applications.
462         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
463         open().
464         * modules/vma-iter (Depends-on): Add 'open'.
466 2020-05-28  Bruno Haible  <bruno@clisp.org>
468         truncate: Make more robust in multithreaded applications.
469         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
471 2020-05-28  Bruno Haible  <bruno@clisp.org>
473         pagealign_alloc: Make more robust in multithreaded applications.
474         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
475         open().
476         * modules/pagealign_alloc (Depends-on): Add 'open'.
478 2020-05-28  Bruno Haible  <bruno@clisp.org>
480         openat: Make more robust in multithreaded applications.
481         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
483 2020-05-28  Bruno Haible  <bruno@clisp.org>
485         at-internal: Make more robust in multithreaded applications.
486         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
487         open().
489 2020-05-28  Bruno Haible  <bruno@clisp.org>
491         mountlist: Make more robust in multithreaded applications.
492         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
493         open().
494         * modules/mountlist (Depends-on): Add 'open'.
496 2020-05-28  Bruno Haible  <bruno@clisp.org>
498         login_tty: Make more robust in multithreaded applications.
499         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
500         * modules/login_tty (Depends-on): Add 'open'.
502 2020-05-28  Bruno Haible  <bruno@clisp.org>
504         javacomp: Make more robust in multithreaded applications.
505         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
506         open().
507         * modules/javacomp (Depends-on): Add 'open'.
509 2020-05-28  Bruno Haible  <bruno@clisp.org>
511         getprogname: Make more robust in multithreaded applications.
512         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
513         * modules/getprogname (Depends-on): Add 'open'.
515 2020-05-28  Bruno Haible  <bruno@clisp.org>
517         get_progname_of: Make more robust in multithreaded applications.
518         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
519         open().
520         * modules/get_progname_of (Depends-on): Add 'open'.
522 2020-05-28  Bruno Haible  <bruno@clisp.org>
524         get_ppid_of: Make more robust in multithreaded applications.
525         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
526         * modules/get_ppid_of (Depends-on): Add 'open'.
528 2020-05-28  Bruno Haible  <bruno@clisp.org>
530         get-rusage-as: Make more robust in multithreaded applications.
531         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
532         flag to open().
533         * modules/get-rusage-as (Depends-on): Add 'open'.
535 2020-05-28  Bruno Haible  <bruno@clisp.org>
537         crypto/gc: Make more robust in multithreaded applications.
538         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
539         * modules/crypto/gc (Depends-on): Add 'open'.
541 2020-05-28  Bruno Haible  <bruno@clisp.org>
543         copy-file: Make more robust in multithreaded applications.
544         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
545         open().
547 2020-05-28  Bruno Haible  <bruno@clisp.org>
549         chown: Make more robust in multithreaded applications.
550         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
552 2020-05-28  Bruno Haible  <bruno@clisp.org>
554         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
555         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
557 2020-05-28  Daiki Ueno  <ueno@gnu.org>
559         fopen-gnu: make 'b' flag can be used with 'e' on Windows
560         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
561         specified on Windows.
562         * tests/test-fopen-gnu.c (DATA): New define.
563         (main): Add test for reading binary files with an 'e' flag.
565 2020-05-27  Bruno Haible  <bruno@clisp.org>
567         Don't assume that UNICODE is not defined.
568         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
569         differently if the application defines the macro UNICODE.
570         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
571         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
572         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
573         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
574         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
576 2020-05-27  Bruno Haible  <bruno@clisp.org>
578         Improve pattern for defining _WIN32_WINNT.
579         Newer versions of the Windows API may not only add, but also remove API
580         functions. Therefore, when the user is e.g. building for Windows 10, we
581         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
582         use of APIs that were present in Windows 8 but removed in Windows 10.
583         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
584         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
585         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
586         * lib/sethostname.c (_WIN32_WINNT): Likewise.
587         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
589 2020-05-27  Bruno Haible  <bruno@clisp.org>
591         javacomp: Make more robust in multithreaded applications.
592         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
593         * modules/javacomp (Depends-on): Add fopen-gnu.
595 2020-05-27  Bruno Haible  <bruno@clisp.org>
597         mountlist: Make more robust in multithreaded applications.
598         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
599         to fopen.
600         * modules/mountlist (Depends-on): Add fopen-gnu.
602 2020-05-27  Bruno Haible  <bruno@clisp.org>
604         sethostname: Make more robust in multithreaded applications.
605         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
606         * modules/sethostname (Depends-on): Add fopen-gnu.
608 2020-05-27  Bruno Haible  <bruno@clisp.org>
610         readutmp: Make more robust in multithreaded applications.
611         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
612         * modules/readutmp (Depends-on): Add fopen-gnu.
614 2020-05-27  Bruno Haible  <bruno@clisp.org>
616         getpass: Make more robust in multithreaded applications.
617         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
618         * modules/getpass (Depends-on): Add fopen-gnu.
620 2020-05-27  Bruno Haible  <bruno@clisp.org>
622         getloadavg: Make more robust in multithreaded applications.
623         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
624         * modules/getloadavg (Depends-on): Add fopen-gnu.
626 2020-05-27  Bruno Haible  <bruno@clisp.org>
628         exclude: Make more robust in multithreaded applications.
629         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
630         * modules/exclude (Depends-on): Add fopen-gnu.
632 2020-05-27  Bruno Haible  <bruno@clisp.org>
634         bitset: Make more robust in multithreaded applications.
635         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
636         'e' flag to fopen.
637         * modules/bitset (Depends-on): Add fopen-gnu.
639 2020-05-27  Daiki Ueno  <ueno@gnu.org>
641         read-file: add RF_SENSITIVE flag
642         * lib/read-file.h (RF_SENSITIVE): New define.
643         * lib/read-file.c (fread_file, read_file): Take into account of
644         RF_SENSITIVE flag.
645         * modules/read-file (Depends-on): Add explicit_bzero.
646         This adds an alternative behavior of those functions to explicitly
647         clear the internal memory block when it becomes unused.  This is
648         useful for reading sensitive information from a file.
650 2020-05-27  Daiki Ueno  <ueno@gnu.org>
652         read-file: add flags to modify reading behavior
653         * lib/read-file.h (RF_BINARY): New define.
654         (fread_file, read_file): Take FLAGS argument.
655         (read_binary_file): Remove.
656         * lib/read-file.c (internal_read_file): Merge into ...
657         (read_file): ... here.
658         * modules/read-file-tests (Files): Add "tests/macros.h".
659         * tests/test-read-file.c (main): Refactor using ASSERT macro.
660         * NEWS: Mention this change.
662 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
664         doc/gnulib-intro.texi: add missing "to" in sentence
665         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
666         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
667         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
669 2020-05-26  Bruno Haible  <bruno@clisp.org>
671         count-one-bits: Fix MSVC specific code.
672         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
673         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
674         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
675         using GCC.
676         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
677         (__popcnt64): In 32-bit mode, define as an inline function.
678         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
680 2020-05-26  Bruno Haible  <bruno@clisp.org>
682         argz: Avoid name clashes through argz.h.
683         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
684         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
685         * lib/argz.h: Don't use __ prefixed identifiers.
686         (const): Remove definition.
687         (argz_next): Remove inline definitions.
689 2020-05-26  Daiki Ueno  <ueno@gnu.org>
691         read-file: make use of fopen-gnu
692         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
693         (read_binary_file): Likewise.
694         * modules/read-file (Depends-on): Add fopen-gnu.
696 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
698         getentropy, getrandom: new modules
699         * MODULES.html.sh (func_all_modules):
700         * lib/unistd.in.h (getentropy, getrandom):
701         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
702         * modules/unistd (unistd.h):
703         Add support for getentropy, getrandom.
704         * doc/glibc-functions/getentropy.texi (getentropy):
705         * doc/glibc-functions/getrandom.texi (getrandom):
706         These are now fixed on some platforms.
707         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
708         * m4/getentropy.m4, m4/getrandom.m4:
709         * modules/getentropy, modules/getentropy-tests:
710         * modules/getrandom, modules/getrandom-tests:
711         * tests/test-getentropy.c, tests/test-getrandom.c:
712         New files.
714 2020-05-25  Bruno Haible  <bruno@clisp.org>
716         Add missing C99 dependencies.
717         Reported by Paul Smith <psmith@gnu.org> in
718         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
719         * modules/assert (Depends-on): Add c99.
720         * modules/filenamecat-lgpl (Depends-on): Likewise.
721         * modules/libc-config (Depends-on): Likewise.
722         * modules/mktime (Depends-on): Likewise.
723         * modules/random_r (Depends-on): Likewise.
724         * modules/regex (Depends-on): Likewise.
725         * modules/scratch_buffer (Depends-on): Likewise.
726         * modules/timespec-add (Depends-on): Likewise.
727         * modules/timespec-sub (Depends-on): Likewise.
728         * modules/verify (Depends-on): Likewise.
730 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
732         explicit_bzero-tests: pacify -Wmissing-declarations
733         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
734         Now static.
736 2020-05-24  Bruno Haible  <bruno@clisp.org>
738         fopen-gnu: Add tests.
739         * tests/test-fopen-gnu.c: New file.
740         * modules/fopen-gnu-tests: New file.
742         fopen-gnu: New module.
743         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
744         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
745         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
746         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
747         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
748         * modules/fopen-gnu: New file.
749         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
751 2020-05-24  Bruno Haible  <bruno@clisp.org>
753         open, openat: Really support O_CLOEXEC.
754         * lib/open.c (open): When have_cloexec is still undecided, do pass a
755         O_CLOEXEC flag to orig_open.
756         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
757         pass a O_CLOEXEC flag to orig_openat.
758         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
759         * modules/open-tests (Depends-on): Add fcntl.
760         * modules/openat-tests (Depends-on): Likewise.
761         * modules/fcntl-safer-tests (Depends-on): Likewise.
763 2020-05-24  Bruno Haible  <bruno@clisp.org>
765         fopen: Fix the trailing slash workaround.
766         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
767         write access. Pass the right flags to open().
768         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
770 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
772         assure: new macro ‘affirm’
773         * lib/assure.h: Include verify.h.
774         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
775         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
776         and commentary by Bruno Haible in:
777         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
778         * modules/assure (Depends-on:): Add verify.
780 2020-05-23  Bruno Haible  <bruno@clisp.org>
782         calloc-gnu: Make test work in non-flat address spaces.
783         Uses code by Paul Eggert.
784         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
785         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
787 2020-05-23  Bruno Haible  <bruno@clisp.org>
789         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
790         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
791         AC_RUN_IFELSE invocations.
793 2020-05-23  Bruno Haible  <bruno@clisp.org>
795         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
796         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
797         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
798         don't have it.
799         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
800         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
801         don't have it.
802         * lib/isnanf-nolibm.h (__has_builtin): New macro.
803         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
804         it.
805         * lib/isnanl-nolibm.h (__has_builtin): New macro.
806         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
807         it.
808         * lib/math.in.h (__has_builtin): New macro.
809         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
810         it.
811         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
812         it.
813         (isnan): Don't use the builtins on clang versions that don't have
814         __builtin_isnanf and __builtin_isnanl.
816 2020-05-23  Bruno Haible  <bruno@clisp.org>
818         calloc-gnu: Avoid wrong configure results with clang.
819         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
820         'volatile', to defeat compiler optimizations.
822 2020-05-23  Bruno Haible  <bruno@clisp.org>
824         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
825         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
826         'long double' values by reference, with values taken from a statically
827         allocated array.
829 2020-05-23  Bruno Haible  <bruno@clisp.org>
831         findprog-in: Ignore directories.
832         Reported by Frederick Eaton via Dmitry Goncharov in
833         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
834         * lib/findprog-in.c (find_in_given_path): When the file found is a
835         directory, set errno to EACCES and, during a PATH search, continue
836         searching.
837         * modules/findprog-in (Depends-on): Add sys_stat, stat.
839 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
841         verify: document ‘assume’ better
842         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
844 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
846         gendocs: Clarify licenses for templates.
847         * doc/gendocs_template: Add a GNU All-Permissive license notice
848         and bump Parent-Version.
849         * doc/gendocs_template_min: Add a GNU All-Permissive license
850         notice and copy the explanatory comment about the license notice
851         at the bottom from gendocs_template.
853 2020-05-21  Bruno Haible  <bruno@clisp.org>
855         group-member: Relicense under LGPLv2+.
856         Jim Meyering's approval is in
857         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
858         Paul Eggert's approval is in
859         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
860         Eric Blake's approval is in
861         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
862         * modules/group-member (License): Change to LGPLv2+.
864 2020-05-21  Bruno Haible  <bruno@clisp.org>
866         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
867         Reported by Tim Rühsen in
868         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
869         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
871 2020-05-21  Bruno Haible  <bruno@clisp.org>
873         regex: Avoid wrong configure results with "clang -fsanitize=leak".
874         Reported by Tim Rühsen in
875         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
876         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
877         before returning with status 0.
879 2020-05-21  Bruno Haible  <bruno@clisp.org>
881         glob: Avoid wrong configure results with "clang -fsanitize=leak".
882         Reported by Tim Rühsen in
883         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
884         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
886 2020-05-21  Bruno Haible  <bruno@clisp.org>
888         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
889         Reported by Tim Rühsen in
890         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
891         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
892         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
893         respectively.
895 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
897         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
898         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
900 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
902         ftoastr: fix ifndef typo
903         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
905 2020-05-19  Bruno Haible  <bruno@clisp.org>
907         havelib: Tweak documentation.
908         * doc/havelib.texi (Searching for Libraries): Fix typo.
910 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
912         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
913         This was needed earlier because modules had to import the main script,
914         but that is no longer true.  Rename the script so that it is
915         consistent with all other scripts in gnulib and uses hyphens.
916         * build-aux/vcs_to_changelog.py: Rename to...
917         * build-aux/vcs-to-changelog.py: ... this.
918         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
919         * modules/vcs-to-changelog: Likewise.
921 2020-05-17  Bruno Haible  <bruno@clisp.org>
923         Clarify intended usage of the license file modules.
924         Reported by Asher Gordon <AsDaGo@posteo.net> in
925         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
926         * doc/licenses-texi.texi (License Texinfo sources): Mention the
927         GNU AGPL. Explain the intended usage of the modules.
928         * modules/fdl (Notice): Discourage use as a module.
929         * modules/fdl-1.3 (Notice): Likewise.
931 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
933         hash: add hash_xinsert
934         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
936 2020-05-16  Bruno Haible  <bruno@clisp.org>
938         findprog-lgpl: Fix link error (existing since 2008-09-02).
939         * modules/findprog-lgpl (Makefile.am): Arrange to compile
940         findprog-lgpl.c, not findprog.c.
941         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
942         XNMALLOC.
944 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
946         c-stack: pacify -Wunused-result when DEBUG
947         Problem reported by Marc Nieper-Wißkirchen in:
948         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
949         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
950         Explicitly ignore write failures.
952 2020-05-13  Jim Meyering  <meyering@fb.com>
954         announce-gen: improve a comment
955         * build-aux/announce-gen: Improve comment.
957 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
959         xalloc: pacify -Wanalyzer-possible-null-argument
960         Problem reported for GCC 10.1.0 by Bruno Haible in:
961         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
962         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
963         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
964         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
966 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
968         careadlinkat: fix GCC 10 workaround
969         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
970         Massage the code so that it’s closer to what it was before
971         the GCC 10.1.0 workaround was introduced.  This fixes
972         a loop when !buffer and the bug workaround is in effect.
973         Remove unnecessary casts.  Defend in a different way
974         against (buffer && !buffer_size), by adding at least 1
975         to buf_size each time through the loop.
977 2020-05-10  Bruno Haible  <bruno@clisp.org>
979         doc: Mark HP-UX as unsupported.
980         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
982 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
984         careadlinkat: limit GCC workaround
985         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
986         10.1.0 and later, since the workaround is pretty bad and the GCC
987         bug should get fixed.
989 2020-05-10  Bruno Haible  <bruno@clisp.org>
991         havelib: Enhance documentation.
992         * doc/havelib.texi (Searching for Libraries): Mention the bad
993         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
995 2020-05-10  Bruno Haible  <bruno@clisp.org>
997         attribute: Clarify list of attributes.
998         * lib/attribute.h: Reorder the list of attributes, and group them by
999         purpose.
1001 2020-05-10  Bruno Haible  <bruno@clisp.org>
1003         string: Fix compilation error in C++ mode.
1004         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
1005         _GL_WARN_ON_USE.
1006         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
1007         instead of _GL_WARN_ON_USE.
1009 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
1011         announce-gen: add support for dist-lzip
1012         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
1014 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
1016         manywarnings: port to GCC 10.1
1017         * build-aux/gcc-warning.spec:
1018         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
1019         Add GCC 10.1.0 warnings.
1021         careadlinkat: pacify -Wreturn-local-addr
1022         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
1023         Pacify gcc 10’s -Wreturn-local-addr option.
1024         Simplify some of the later code.
1026 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
1028         attribute: remove ATTRIBUTE_DEPRECATED
1029         * lib/attribute.h: Improve recently-added comments, mostly
1030         by shortening them (use active voice, etc.).
1031         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
1032         Problem reported by Bruno Haible in:
1033         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
1035 2020-05-09  Bruno Haible  <bruno@clisp.org>
1037         attribute: Add comments.
1038         * lib/attribute.h: Document each macro.
1040 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
1042         bitset: use the attribute module
1043         * modules/bitset: Depend on 'attribute'.
1044         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
1045         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
1046         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
1047         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
1049 2020-05-09  Bruno Haible  <bruno@clisp.org>
1051         c-stack: Fix warning when DEBUG is enabled.
1052         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
1053         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
1054         * lib/c-stack.c: Include <stdio.h>.
1056 2020-05-09  Bruno Haible  <bruno@clisp.org>
1058         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
1059         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
1060         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1061         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1062         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1063         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1064         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1065         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1066         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1067         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
1068         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1069         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1070         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1072 2020-05-09  Bruno Haible  <bruno@clisp.org>
1074         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
1075         Reported by Akim Demaille in
1076         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
1077         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
1078         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
1079         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
1081 2020-05-09  Bruno Haible  <bruno@clisp.org>
1083         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
1084         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
1085         that usually comes from m4/gnulib-common.m4.
1086         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
1088 2020-05-09  Bruno Haible  <bruno@clisp.org>
1090         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
1091         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
1092         that usually comes from m4/gnulib-common.m4.
1093         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
1094         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
1095         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
1097 2020-05-09  Bruno Haible  <bruno@clisp.org>
1099         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
1100         * lib/uchar.in.h (char16_t): Define as macro if
1101         GNULIB_OVERRIDES_CHAR16_T.
1102         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
1103         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
1104         (gl_UCHAR_H): Invoke them.
1105         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
1106         GNULIB_OVERRIDES_CHAR32_T.
1107         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
1108         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
1109         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
1110         GNULIB_OVERRIDES_CHAR32_T.
1112 2020-05-09  Bruno Haible  <bruno@clisp.org>
1114         Macro tweaks.
1115         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
1116         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
1118 2020-05-08  Bruno Haible  <bruno@clisp.org>
1120         c32rtomb: Avoid compilation failure on Haiku.
1121         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
1122         inline definitions.
1123         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
1125 2020-05-08  Bruno Haible  <bruno@clisp.org>
1127         mbrtoc32: Avoid compilation failure on Haiku.
1128         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
1129         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
1130         AC_CHECK_FUNCS_ONCE.
1131         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
1133 2020-05-08  Bruno Haible  <bruno@clisp.org>
1135         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
1136         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
1138 2020-05-08  Bruno Haible  <bruno@clisp.org>
1140         list: Update documentation.
1141         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
1142         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
1143         * doc/containers.texi (Container data types): Document the new list
1144         operations and their complexity.
1146 2020-05-08  Bruno Haible  <bruno@clisp.org>
1148         ignore-value tests: Use module 'attribute'.
1149         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
1150         * tests/test-ignore-value.c: Include attribute.h.
1151         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
1152         * modules/ignore-value-tests (Depends-on): Add attribute.
1154 2020-05-08  Bruno Haible  <bruno@clisp.org>
1156         uniname/uniname: Use module 'attribute'.
1157         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
1158         * lib/uniname/uninames.h: Regenerated.
1159         * lib/uniname/uniname.c: Include attribute.h.
1160         * modules/uniname/uniname (Depends-on): Add attribute.
1162 2020-05-08  Bruno Haible  <bruno@clisp.org>
1164         c32rtomb: Use module 'attribute'.
1165         * lib/c32rtomb.c: Include attribute.h.
1166         (FALLTHROUGH): Remove macro.
1167         * modules/c32rtomb (Depends-on): Add attribute.
1169 2020-05-08  Bruno Haible  <bruno@clisp.org>
1171         xsize: Use module 'attribute'.
1172         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
1173         * modules/xsize (Depends-on): Add attribute.
1175 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1177         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
1179         * lib/attribute.h: Minor style fixes.
1181         Fix version-etc glitch on OpenIndiana
1182         Problem reported by Mats Erik Andersson in:
1183         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
1184         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
1185         that now clashes with gnulib-common.h.  All uses changed.
1187 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
1189         attribute: new module
1190         This simplifies use of GCC and C2X attributes like ‘deprecated’.
1191         * MODULES.html.sh: Add attribute.
1192         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
1193         * doc/gnulib.texi (Particular Modules): Add Attributes.
1194         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
1195         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
1196         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
1197         * lib/vasnprintf.c:
1198         Include attribute.h, and let it define FALLTHROUGH.
1199         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
1200         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
1201         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
1202         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
1203         This is a copy since Gawk doesn’t use Gnulib.
1204         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
1205         is incompatible with gl_COMMON_BODY’s.  All uses changed.
1206         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
1207         Keep the existing FALLTHROUGH definition since Glibc might use it,
1208         and it does no harm to Gnulib’s FALLTHROUGH.
1209         * lib/fts_.h, lib/inttostr.h:
1210         (__GNUC_PREREQ): Remove; no longer needed.
1211         (__attribute_warn_unused_result__): Remove.  All uses
1212         replaced by _GL_ATTRIBUTE_NODISCARD.
1213         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
1214         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
1215         __attribute__ ((__warn_unused_result__)), for forward
1216         compatibility to C2X.
1217         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
1218         _GL_ATTRIBUTE_NODISCARD.
1219         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
1220         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
1221         replaced by gl_COMMON_BODY’s implementation, which has a
1222         slightly different signature.
1223         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
1224         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
1225         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
1226         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
1227         No doubt all uses should be replaced, at some point.
1228         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
1229         (_Noreturn): Use it.
1230         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
1231         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
1232         (_GL_ATTRIBUTE_COLD)
1233         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
1234         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
1235         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
1236         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
1237         (_GL_ATTRIBUTE_MAYBE_UNUSED)
1238         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
1239         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
1240         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
1241         (_GL_ATTRIBUTE_RETURNS_NONNULL)
1242         (_GL_ATTRIBUTE_SENTINEL): New macros.
1243         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
1244         * modules/fnmatch, modules/freopen-safer, modules/fts:
1245         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
1246         * modules/quotearg, modules/savewd:
1247         * modules/unistdio/u16-u16-vasnprintf:
1248         * modules/unistdio/u16-vasnprintf:
1249         * modules/unistdio/u32-u32-vasnprintf:
1250         * modules/unistdio/u32-vasnprintf:
1251         * modules/unistdio/u8-u8-vasnprintf:
1252         * modules/unistdio/u8-vasnprintf:
1253         * modules/unistdio/ulc-vasnprintf:
1254         * modules/unistr/u8-uctomb, modules/vasnprintf:
1255         (Depends-on:): Add attribute module.
1257 2020-05-03  Bruno Haible  <bruno@clisp.org>
1259         bison: Fix today's commit.
1260         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
1262 2020-05-03  Bruno Haible  <bruno@clisp.org>
1264         list-c++: Add get_first, get_last, set_first, set_last operations.
1265         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
1266         set_first, set_last.
1267         * lib/gl_list.h: Tweak comments.
1269 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
1271         bison: rely on bison's %require to check a version requirement
1272         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
1273         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
1274         enough of not.
1275         So far it is the only know Yacc tool that supports '%require'.
1276         Other yaccs will actually even choke on seeing the -o option after the
1277         input file name.
1278         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
1280 2020-05-02  Bruno Haible  <bruno@clisp.org>
1282         list: Add get_first, get_last, set_first, set_last operations.
1283         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
1284         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
1285         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
1287 2020-05-02  Bruno Haible  <bruno@clisp.org>
1289         list: Remove redundant code for remove_first and remove_last operations.
1290         * lib/gl_list.h (struct gl_list_implementation): Remove fields
1291         remove_first, remove_last.
1292         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
1293         * lib/gl_array_list.c: Revert last change.
1294         * lib/gl_carray_list.c: Likewise.
1295         * lib/gl_anylinked_list2.h: Likewise.
1296         * lib/gl_linked_list.c: Likewise.
1297         * lib/gl_linkedhash_list.c: Likewise.
1298         * lib/gl_anytree_list2.h: Likewise.
1299         * lib/gl_avltree_list.c: Likewise.
1300         * lib/gl_avltreehash_list.c: Likewise.
1301         * lib/gl_rbtree_list.c: Likewise.
1302         * lib/gl_rbtreehash_list.c: Likewise.
1303         * lib/gl_sublist.c: Likewise.
1305 2020-05-02  Bruno Haible  <bruno@clisp.org>
1307         bison-i18n: Add support for cross-compilation.
1308         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
1309         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
1310         via Akim Demaille <akim@lrde.epita.fr>.
1311         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
1312         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
1313         Don't use bison's --print-localedir option when cross-compiling.
1314         Also, fix an error message and a comment.
1316 2020-05-01  Bruno Haible  <bruno@clisp.org>
1318         list: Add remove_first and remove_last operations.
1319         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
1320         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
1321         * lib/gl_list.h (struct gl_list_implementation): Add fields
1322         remove_first, remove_last.
1323         (gl_list_remove_first, gl_list_remove_last): New functions.
1324         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
1325         functions, based on gl_array_remove_at.
1326         (gl_array_list_implementation): Implement the new operations.
1327         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
1328         New functions, based on gl_carray_remove_at.
1329         (gl_carray_list_implementation): Implement the new operations.
1330         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
1331         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
1332         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
1333         new operations.
1334         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
1335         Likewise.
1336         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
1337         New functions, based on gl_tree_remove_at.
1338         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
1339         new operations.
1340         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1341         Likewise.
1342         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
1343         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
1344         Likewise.
1345         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
1346         New functions, based on gl_sublist_remove_at.
1347         (gl_sublist_list_implementation): Implement the new operations.
1348         * lib/gl_list.hh (class gl_List): Add methods remove_first,
1349         remove_last.
1350         * tests/test-array_list.c (main): Test also gl_list_remove_first and
1351         gl_list_remove_last.
1352         * tests/test-avltree_list.c (main): Likewise.
1353         * tests/test-avltreehash_list.c (main): Likewise.
1354         * tests/test-carray_list.c (main): Likewise.
1355         * tests/test-linked_list.c (main): Likewise.
1356         * tests/test-linkedhash_list.c (main): Likewise.
1357         * tests/test-rbtree_list.c (main): Likewise.
1358         * tests/test-rbtreehash_list.c (main): Likewise.
1360 2020-05-01  Bruno Haible  <bruno@clisp.org>
1362         parse-datetime: Fix a build failure with an older bison version.
1363         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
1364         parse-datetime.tab.c if a suitable version of bison was not found.
1366 2020-05-01  Bruno Haible  <bruno@clisp.org>
1368         bison: New module.
1369         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
1370         m4/parse-datetime.m4.
1371         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
1372         * modules/bison: New file.
1373         * modules/parse-datetime (Files): Remove m4/bison.m4.
1374         (Depends-on): Add bison.
1376 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
1378         Update users.txt.
1379         * users.txt: Add poke.
1381 2020-04-28  Bruno Haible  <bruno@clisp.org>
1383         posix_spawn_file_actions_addfchdir tests: Enhance test.
1384         * tests/test-posix_spawn5.c: Include findprog.h.
1385         (test): New function, extracted from main.
1386         (main): Invoke it. Also, invoke it with a program name such as
1387         "bin/pwd".
1388         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
1389         findprog.
1391 2020-04-28  Bruno Haible  <bruno@clisp.org>
1393         posix_spawn_file_actions_addchdir tests: Enhance test.
1394         * tests/test-posix_spawn4.c: Include findprog.h.
1395         (test): New function, extracted from main.
1396         (main): Invoke it. Also, invoke it with a program name such as
1397         "bin/pwd".
1398         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
1399         findprog.
1401 2020-04-28  Bruno Haible  <bruno@clisp.org>
1403         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
1404         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
1405         access elements of the wrong union member.
1407 2020-04-27  Bruno Haible  <bruno@clisp.org>
1409         getdate: Remove deprecated module.
1410         * modules/getdate: Remove file.
1411         * doc/getdate.texi: Remove file.
1412         * lib/getdate.h: Remove file.
1413         * NEWS: Mention the removal.
1415 2020-04-27  Bruno Haible  <bruno@clisp.org>
1417         realloc: Remove deprecated module.
1418         * modules/realloc: Remove file.
1419         * NEWS: Mention the removal.
1421 2020-04-27  Bruno Haible  <bruno@clisp.org>
1423         calloc: Remove deprecated module.
1424         * modules/calloc: Remove file.
1425         * NEWS: Mention the removal.
1427 2020-04-27  Bruno Haible  <bruno@clisp.org>
1429         malloc: Remove deprecated module.
1430         * modules/malloc: Remove file.
1431         * NEWS: Mention the removal.
1433 2020-04-27  Bruno Haible  <bruno@clisp.org>
1435         fnmatch-posix: Remove deprecated module.
1436         * modules/fnmatch-posix: Remove file.
1437         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
1438         * NEWS: Mention the removal.
1440 2020-04-27  Bruno Haible  <bruno@clisp.org>
1442         pipe: Remove deprecated module.
1443         * modules/pipe: Remove file.
1444         * lib/pipe.h: Remove file.
1445         * NEWS: Mention the removal.
1447 2020-04-27  Bruno Haible  <bruno@clisp.org>
1449         getopt: Remove deprecated module.
1450         * modules/getopt: Remove file.
1451         * NEWS: Mention the removal.
1453 2020-04-27  Bruno Haible  <bruno@clisp.org>
1455         remove-dest-slash: Remove deprecated module.
1456         * modules/rename-dest-slash: Remove file.
1457         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
1458         Update.
1459         * NEWS: Mention the removal.
1461 2020-04-27  Bruno Haible  <bruno@clisp.org>
1463         unictype/bidicategory-*: Remove deprecated modules.
1464         * modules/unictype/bidicategory-all: Remove file.
1465         * modules/unictype/bidicategory-byname: Remove file.
1466         * modules/unictype/bidicategory-name: Remove file.
1467         * modules/unictype/bidicategory-of: Remove file.
1468         * modules/unictype/bidicategory-test: Remove file.
1469         * MODULES.html.sh (Unicode string functions): Update.
1470         * NEWS: Mention the removals.
1472 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1474         Tune fts for FTS_LOGICAL+FTS_NOSTAT
1475         From a suggestion by Askar Safin in:
1476         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
1477         * lib/fts.c (fts_build): If file types are known, optimize
1478         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
1479         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
1480         non-directories.
1482 2020-04-19  Bruno Haible  <bruno@clisp.org>
1484         vasnprintf: Add support for printing wide characters using escapes.
1485         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
1486         (wctomb_fallback): New function.
1487         (local_wctomb): New function.
1488         (local_wcrtomb): New function or macro.
1489         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
1490         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
1491         %lc.
1493 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
1495         fts: remove NOSTAT_LEAF_OPTIMIZATION
1496         It caused ‘find’ and ‘du’ to dump core, and it was useful
1497         only for obsolescent Linux filesystems anyway.  Problem reported in:
1498         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
1499         Quite possibly there is still a serious underlying fts bug with
1500         tight-loop-check and mutating file systems, but if so this patch
1501         should cause the bug to be triggered less often.
1502         * lib/fts.c (enum leaf_optimization): Remove
1503         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
1504         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
1505         (leaf_optimization): Remove special cases for ReiserFS and XFS.
1506         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
1507         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
1508         Remove.  All uses removed.
1510 2020-04-13  Bastien Roucariès  <rouca@debian.org>
1512         explicit_bzero: Improve code style.
1513         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
1515 2020-04-13  Bastien Roucariès  <rouca@debian.org>
1517         explicit_bzero: On native Windows, use SecureZeroMemory().
1518         * lib/explicit_bzero.c: Include <windows.h>.
1519         (explicit_bzero): On native Windows, use SecureZeroMemory.
1521 2020-04-13  Bastien Roucariès  <rouca@debian.org>
1523         explicit_bzero: Use memset_s() when available.
1524         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
1525         (explicit_bzero): Use memset_s when available.
1526         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
1528 2020-04-13  Bastien Roucariès  <rouca@debian.org>
1530         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
1531         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
1532         free() that overwrite the memory with canaries.
1534 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
1536         bootstrap: recommend git submodule update --init
1537         Reported by Bruno Haible.
1538         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
1539         * build-aux/bootstrap: recommand "git submodule update --init"
1540         rather than "git submodule init".
1542 2020-04-12  Bruno Haible  <bruno@clisp.org>
1544         explicit_bzero: Add tests.
1545         * tests/test-explicit_bzero.c: New file.
1546         * modules/explicit_bzero-tests: New file.
1548 2020-04-11  Bruno Haible  <bruno@clisp.org>
1550         explicit_bzero: Relicense under LGPLv2+.
1551         Approved by Paul Eggert.
1552         * modules/explicit_bzero (License): Change to LGPLv2+.
1554 2020-04-10  Bruno Haible  <bruno@clisp.org>
1556         findprog, relocatable-prog: Ignore directories during PATH search.
1557         Reported by Frederick Eaton via Dmitry Goncharov in
1558         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
1560         * lib/findprog.c (find_in_path): When the file found in a PATH element
1561         is a directory, continue searching.
1562         * modules/findprog (Depends-on): Add sys_stat, stat.
1563         * modules/findprog-lgpl (Depends-on): Likewise.
1565         * lib/progreloc.c (maybe_executable): When the file found in a PATH
1566         element is a directory, continue searching.
1567         * lib/relocwrapper.c: Update comments.
1568         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
1569         (configure.ac-early): New section.
1571 2020-04-10  Bruno Haible  <bruno@clisp.org>
1573         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
1574         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
1575         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
1576         * MODULES.html.sh: In a git-less tarball, use the date of the first
1577         ChangeLog entry.
1579 2020-04-04  Bruno Haible  <bruno@clisp.org>
1581         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
1582         * m4/gettext.m4: Fix comments regarding the gettext library.
1583         * m4/intl-thread-locale.m4: Likewise.
1584         * m4/intlmacosx.m4: Likewise.
1585         * m4/lcmessage.m4: Likewise.
1586         * m4/nls.m4: Likewise.
1587         * m4/po.m4: Likewise.
1588         * m4/progtest.m4: Likewise.
1590 2020-04-04  Jim Meyering  <meyering@fb.com>
1592         maint: remove a stray inter-word space in a 6x-repeated comment
1593         Induce the changes by running this:
1594           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
1595         * build-aux/announce-gen: Change "by  perl" to "by perl".
1596         * build-aux/gitlog-to-changelog: Likewise.
1597         * build-aux/prefix-gnulib-mk: Likewise.
1598         * build-aux/update-copyright: Likewise.
1599         * build-aux/useless-if-before-free: Likewise.
1600         * tests/test-update-copyright.sh: Likewise.
1602 2020-03-28  Bruno Haible  <bruno@clisp.org>
1604         Use module 'filename' instead of module 'dosname'.
1606         * lib/at-func.c: Include filename.h instead of dosname.h.
1607         * lib/unlinkat.c: Likewise.
1608         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
1609         * modules/areadlinkat-with-size (Depends-on): Likewise.
1610         * modules/faccessat (Depends-on): Likewise.
1611         * modules/fchmodat (Depends-on): Likewise.
1612         * modules/fchownat (Depends-on): Likewise.
1613         * modules/fstatat (Depends-on): Likewise.
1614         * modules/mkdirat (Depends-on): Likewise.
1615         * modules/mkfifoat (Depends-on): Likewise.
1616         * modules/readlinkat (Depends-on): Likewise.
1617         * modules/selinux-at (Depends-on): Likewise.
1618         * modules/symlinkat (Depends-on): Likewise.
1619         * modules/unlinkat (Depends-on): Likewise.
1620         * modules/utimensat (Depends-on): Likewise.
1622         * lib/at-func2.c: Include filename.h instead of dosname.h.
1623         * modules/linkat (Depends-on): Add filename. Remove dosname.
1624         * modules/renameatu (Depends-on): Likewise.
1626         * lib/canonicalize.c: Include filename.h instead of dosname.h.
1627         * lib/canonicalize-lgpl.c: Likewise.
1628         * modules/canonicalize (Depends-on): Add filename.
1629         * modules/canonicalize-lgpl (Depends-on): Likewise.
1631         * lib/dirname.h: Include filename.h instead of dosname.h.
1632         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
1634         * lib/fchdir.c: Include filename.h instead of dosname.h.
1635         * modules/fchdir (Depends-on): Add filename. Remove dosname.
1637         * lib/openat.c: Include filename.h instead of dosname.h.
1638         * modules/openat (Depends-on): Add filename. Remove dosname.
1640         * lib/rmdir.c: Include filename.h instead of dosname.h.
1641         * modules/rmdir (Depends-on): Add filename. Remove dosname.
1643         * lib/savewd.c: Include filename.h instead of dosname.h.
1644         * modules/savewd (Depends-on): Add filename. Remove dosname.
1646         * lib/unlink.c: Include filename.h instead of dosname.h.
1647         * modules/unlink (Depends-on): Add filename. Remove dosname.
1649         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
1650         * lib/relocwrapper.c: Update comments.
1652         * modules/lstat (Depends-on): Remove dosname.
1654 2020-03-28  Bruno Haible  <bruno@clisp.org>
1656         dosname: Redirect to 'filename'.
1657         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
1658         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
1659         * lib/dosname.h: Remove all definitions. Just include filename.h.
1660         * modules/dosname (Status, Notice): Mark as deprecated.
1661         (Depends-on): Add 'filename'.
1663 2020-03-28  Bruno Haible  <bruno@clisp.org>
1665         dosname: Change IS_RELATIVE_FILE_NAME.
1666         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
1667         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
1668         * NEWS: Mention the change.
1670 2020-03-28  Bruno Haible  <bruno@clisp.org>
1672         filename: Copy some definitions from module 'dosname'.
1673         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
1674         (HAS_DEVICE): Document macro.
1675         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
1676         (IS_ABSOLUTE_FILE_NAME): Consider
1677         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
1678         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
1679         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
1680         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
1681         IS_PATH_WITH_DIR.
1682         (DllMain): Update.
1683         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
1684         IS_PATH_WITH_DIR.
1685         (find_executable): Update.
1686         * NEWS: Document the deprecations.
1688 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
1690         getopt-posix: port __GETOPT_PREFIX to macOS
1691         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
1692         Define to work around a problem with asm on macOS (Bug#40205).
1694 2020-03-22  Bruno Haible  <bruno@clisp.org>
1696         MODULES.html.sh: Add support for reproducible builds.
1697         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
1698         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
1699         * MODULES.html.sh: Print the date of the last gnulib commit, not the
1700         current date.
1702 2020-03-22  Bruno Haible  <bruno@clisp.org>
1704         Several modules: Depend on stat.
1705         * modules/acl-permissions (Depends-on): Add stat.
1706         * modules/canonicalize (Depends-on): Likewise.
1707         * modules/file-has-acl (Depends-on): Likewise.
1708         * modules/fstat (Depends-on): Likewise.
1709         * modules/fstatat (Depends-on): Likewise.
1710         * modules/glob (Depends-on): Likewise.
1711         * modules/javacomp (Depends-on): Likewise.
1712         * modules/linkat (Depends-on): Likewise.
1713         * modules/mkdir (Depends-on): Likewise.
1714         * modules/pt_chown (Depends-on): Likewise.
1715         * modules/ptsname_r (Depends-on): Likewise.
1716         * modules/readlinkat (Depends-on): Likewise.
1717         * modules/rename (Depends-on): Likewise.
1718         * modules/renameatu (Depends-on): Likewise.
1719         * modules/tmpdir (Depends-on): Likewise.
1720         * modules/utimens (Depends-on): Likewise.
1721         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
1722         * modules/same (Depends-on): Remove stat.
1724 2020-03-22  Bruno Haible  <bruno@clisp.org>
1726         acl-permissions: Improve autoconf macro.
1727         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
1728         more reliably.
1730 2020-03-22  Bruno Haible  <bruno@clisp.org>
1732         file-has-acl: Fix module description.
1733         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
1734         (Depends-on): Depend on acl-permissions unconditionally.
1736 2020-03-21  Bruno Haible  <bruno@clisp.org>
1738         unlink: Ensure errno also on native Windows.
1739         * modules/unlink (Depends-on): Add malloc-posix.
1741 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
1743         unlink: fix malloc errno typo
1744         Problem reported by Tim Rühsen in:
1745         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
1746         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
1748 2020-03-16  Bruno Haible  <bruno@clisp.org>
1750         *printf-posix: Fix m4 error (regression from 2020-03-08).
1751         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
1752         brackets in AC_COMPILE_IFELSE invocation.
1754 2020-03-08  Bruno Haible  <bruno@clisp.org>
1756         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
1757         * modules/crypto/af_alg (Depends-on): Add fstat.
1758         * modules/renameatu (Depends-on): Likewise.
1759         * modules/same (Depends-on): Likewise.
1760         * modules/term-style-control (Depends-on): Likewise.
1762 2020-03-08  Bruno Haible  <bruno@clisp.org>
1764         *printf-posix: Document why it's overridden on some glibc systems.
1765         Reported by Adrian Bunk <bunk@stusta.de> in
1766         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
1767         * doc/posix-functions/*printf.texi: Document the problem with the %n
1768         directive on some glibc systems.
1769         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
1770         the cross-compilation guesses accordingly.
1772 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
1774         open, openat: port to (O_RDWR | O_RDONLY) != 0
1775         Potential portability problem reported by Dan Gohman in:
1776         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
1777         * lib/open.c (open):
1778         * lib/openat.c (rpl_openat):
1779         Don’t assume O_RDONLY is disjoint from O_RDWR.
1781 2020-03-07  Bruno Haible  <bruno@clisp.org>
1783         openat: Fix theoretically possible issue on GNU/Hurd.
1784         Reported by Dan Gohman <sunfish@mozilla.com> in
1785         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
1786         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
1787         ignore the bits that are also set in O_RDONLY.
1789 2020-02-24  Bruno Haible  <bruno@clisp.org>
1791         getloadavg: Don't use /usr/local when cross-compiling on AIX.
1792         Reported by Jens Rehsack <sno@netbsd.org> in
1793         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
1794         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
1795         cross-compiling.
1797 2020-02-24  Bruno Haible  <bruno@clisp.org>
1799         fcntl: Add witness of gnulib override.
1800         Reported by Jens Rehsack <sno@netbsd.org> in
1801         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
1802         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
1803         macros.
1805 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
1807         Update users.txt.
1808         * users.txt: Add datamash, time.
1810 2020-02-23  Bruno Haible  <bruno@clisp.org>
1812         uni*/base: Use 'restrict'.
1813         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
1814         from lib/regex.h.
1815         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
1816         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
1817         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
1818         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
1819         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
1820         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
1821         '_UC_RESTRICT'.
1822         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
1823         u32_conv_to_encoding): Use '_UC_RESTRICT'.
1824         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
1825         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
1826         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
1827         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
1828         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
1829         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
1830         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
1831         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
1832         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
1833         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
1834         '_UC_RESTRICT'.
1835         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
1836         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
1837         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
1838         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
1839         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
1840         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
1841         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
1842         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
1844 2020-02-23  Bruno Haible  <bruno@clisp.org>
1846         glob, spawn: Use improved '_Restrict_' definition.
1847         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
1848         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
1850 2020-02-23  Bruno Haible  <bruno@clisp.org>
1852         crypto/gc: Use 'restrict'.
1853         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
1854         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
1856         crypto/hmac-*: Use 'restrict'.
1857         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
1858         'restrict'.
1859         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
1860         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
1861         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
1862         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
1864         crypto/sm3: Use 'restrict'.
1865         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
1866         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
1868         crypto/*-buffer: Use 'restrict'.
1869         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
1870         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
1872         crypto/sha512-buffer: Use 'restrict'.
1873         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
1874         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
1875         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
1877         crypto/sha256-buffer: Use 'restrict'.
1878         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
1879         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
1880         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
1882         crypto/sha1-buffer: Use 'restrict'.
1883         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
1884         'restrict'.
1885         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
1887         crypto/md5-buffer: Use 'restrict'.
1888         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
1889         'restrict'.
1890         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
1892         crypto/md4: Use 'restrict'.
1893         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
1894         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
1896         crypto/md2: Use 'restrict'.
1897         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
1898         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
1900         crypto/rijndael: Use 'restrict'.
1901         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
1902         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
1903         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
1905         crypto/arctwo: Use 'restrict'.
1906         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
1907         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
1909         crypto/arcfour: Use 'restrict'.
1910         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
1911         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
1913         careadlinkat: Use 'restrict'.
1914         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
1915         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
1916         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
1918         regex-quote: Use 'restrict'.
1919         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
1920         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
1922         system-quote: Use 'restrict'.
1923         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
1924         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
1926         sh-quote: Use 'restrict'.
1927         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
1928         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
1930         quotearg: Use 'restrict'.
1931         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
1932         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
1934         parse-datetime: Use 'restrict'.
1935         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
1936         'restrict'.
1937         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
1939         nstrftime: Use 'restrict'.
1940         * lib/strftime.h (nstrftime): Use 'restrict'.
1941         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
1943         mbstok_r: Use 'restrict'.
1944         * lib/string.in.h (mbstok_r): Use 'restrict'.
1946         xmemcoll: Use 'restrict'.
1947         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
1948         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
1950         memcoll: Use 'restrict'.
1951         * lib/memcoll.h (memcoll): Use 'restrict'.
1952         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
1954         vasnprintf: Use 'restrict'.
1955         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
1956         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
1958         c-vasnprintf: Use 'restrict'.
1959         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
1960         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
1962         c-vsnprintf: Use 'restrict'.
1963         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
1964         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
1966         c-snprintf: Use 'restrict'.
1967         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
1968         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
1970         astrxfrm: Use 'restrict'.
1971         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
1972         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
1974         amemxfrm: Use 'restrict'.
1975         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
1976         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
1978 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
1980         fchmodat, lchmod: simplify
1981         It appears that we may have overengineered lchmod and fchmodat,
1982         in that the code was prepared for some hypothetical platforms but
1983         was so complicated that it was hard to understand.  I attempted to
1984         improve the situation by simplifying the code when this
1985         simplification should not hurt on real platforms; we can re-add
1986         complexity later to port to platforms I didn’t know about.
1987         * lib/fchmodat.c (fchmodat):
1988         * lib/lchmod.c (lchmod):
1989         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
1990         around the /proc code that needs it.
1991         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
1992         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
1993         Do not include <config.h> twice.
1994         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
1995         lchmod on any known hosts.
1996         (lchmod): Do not defer to fchmodat, so that the lchmod module
1997         need not depend on the fchmodat module (which is a circular
1998         dependency).  Do not use openat, since ‘open’ suffices.
1999         Coalesce calls to lchmod/chmod.
2000         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
2001         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
2002         * modules/lchmod (Depends-on, configure.ac):
2003         * modules/sys_stat (Depends-on):
2004         Do not worry about replacing lchmod, since that shouldn’t happen.
2005         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
2006         Do not worry about whether lchmod works on non-symlinks,
2007         since every known lchmod works on non-symlinks.
2008         * modules/lchmod (Depends-on):
2009         Remove circular dependency on fchmodat.
2011 2020-02-22  Bruno Haible  <bruno@clisp.org>
2013         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
2014         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
2015         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
2017 2020-02-22  Bruno Haible  <bruno@clisp.org>
2019         Use 'restrict' in all POSIX function declarations.
2020         * lib/iconv.in.h (iconv): Use 'restrict'.
2021         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
2022         * lib/monetary.in.h (strfmon_l): Likewise.
2023         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
2024         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
2025         pthread_mutex_timedlock, pthread_rwlock_init,
2026         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
2027         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
2028         * lib/search.in.h (tdelete): Likewise.
2029         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
2030         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
2031         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
2032         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
2033         Likewise.
2034         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
2035         strtoull): Likewise.
2036         * lib/string.in.h (strncat): Likewise.
2037         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
2038         recvfrom): Likewise.
2039         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
2040         * lib/time.in.h (strftime): Likewise.
2041         * lib/unistd.in.h (readlink, readlinkat): Likewise.
2042         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
2043         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
2044         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
2045         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
2046         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
2047         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
2048         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
2049         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
2050         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
2051         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
2052         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
2053         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
2054         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2055         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
2056         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
2057         other *_h.m4 files.
2058         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
2060 2020-02-22  Bruno Haible  <bruno@clisp.org>
2062         Update NEWS.
2063         * NEWS: Mention the last change.
2065 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
2067         chmodat, chownat: new modules
2068         These are split from fchmodat, fchownat.  GNU Emacs needs the
2069         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
2070         lchmodat.  Split the latter two into a new module chmodat.
2071         Similarly for fchownat.  This the same basic idea for why statat
2072         was split from fstatat on 2013-01-23.
2073         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
2074         Rename from FCHMODAT_INLINE.  All uses changed.
2075         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
2076         Rename from FCHOWNAT_INLINE.  All uses changed.
2077         * lib/openat.h:
2078         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
2079         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
2080         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
2081         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
2082         (configure.ac): Remove fchmodat module indicator.
2083         (Makefile.am): Omit chmodat.c.
2084         (Maintainer): Add self.
2085         * modules/fchownat: Similarly, but for chown.
2086         * tests/test-fchownat.c (BASE): Don't define if already defined.
2087         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
2089 2020-02-22  Bruno Haible  <bruno@clisp.org>
2091         users.txt: Add groff.
2092         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
2093         * users.txt: Add groff.
2095 2020-02-22  Bruno Haible  <bruno@clisp.org>
2097         gnulib-tool: Ensure copied files are writable.
2098         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
2099         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
2100         * gnulib-tool (func_ensure_writable): New function.
2101         (func_ln_s, func_hardlink, func_lookup_file, func_import,
2102         func_create_testdir, copy-file): Invoke it after copying a file.
2104 2020-02-22  Bruno Haible  <bruno@clisp.org>
2106         users.txt: Update.
2107         * users.txt: Update URLs to projects that have moved or switched to git.
2108         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
2109         over the summary view. Add gawk.
2111 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
2113         largefile: remove _DARWIN_USE_64_BIT_INODE
2114         It’s not needed in currently-supported macOS versions, and was
2115         problematic anyway in MacOS X 10.5 which was the only version that
2116         could use it.  Problem reported by Peter Eisentraut in:
2117         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
2118         * m4/largefile.m4 (AC_SYS_LARGEFILE):
2119         Don’t define _DARWIN_USE_64_BIT_INODE.
2120         This syncs with Autoconf master.
2122         Add ‘extern "C"’ to count-one-bits.h etc.
2123         This ports these .h files to C++.
2124         Problem reported by Simon Marchi in:
2125         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
2126         * lib/count-leading-zeros.h, lib/count-one-bits.h:
2127         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
2129 2020-02-19  Bruno Haible  <bruno@clisp.org>
2131         uninorm/decompose-internal: Avoid "no previous prototype" warning.
2132         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
2133         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
2134         * lib/array-mergesort.h: Accept an optional macro definition
2135         STATIC_FROMTO.
2136         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
2138 2020-02-16  Bruno Haible  <bruno@clisp.org>
2140         fchmodat: Make more future-proof.
2141         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
2142         NEED_FCHMODAT_NONSYMLINK_FIX.
2143         (gl_PREREQ_FCHMODAT): New macro.
2144         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
2145         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
2146         without lchmod function.
2147         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
2149 2020-02-16  Bruno Haible  <bruno@clisp.org>
2151         lchmod: Make more future-proof.
2152         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
2153         (gl_PREREQ_LCHMOD): New macro.
2154         * lib/lchmod.c (orig_lchmod): New function.
2155         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
2156         Return EOPNOTSUPP only on Linux and on platforms without lchmod
2157         function.
2158         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
2160         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
2161         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
2163 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
2165         xnanosleep: prefer pause, and get remaining time
2166         Problem reported by Vladimir Panteleev in:
2167         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
2168         * lib/xnanosleep.c: Include intprops.h, unistd.h.
2169         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
2170         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
2171         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
2172         * modules/xnanosleep (Depends-on): Add intprops, unistd.
2174 2020-02-16  Bruno Haible  <bruno@clisp.org>
2176         lchmod: Improve cross-compilation guess.
2177         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
2178         cross-compiling, guess depending on the platform.
2180 2020-02-16  Bruno Haible  <bruno@clisp.org>
2182         fstrcmp: Add API to clean up resources.
2183         Reported by Akim Demaille <akim@lrde.epita.fr> in
2184         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
2185         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
2186         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
2188 2020-02-14  Bruno Haible  <bruno@clisp.org>
2190         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
2191         Reported by Christian Biesinger in
2192         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
2193         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
2194         corresponding module is not enabled.
2195         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
2196         prototype if the corresponding module is not enabled.
2198 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
2200         fchmodat, lchmod: port to buggy Linux filesystems
2201         Problem reported by Florian Weimer in:
2202         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
2203         * lib/fchmodat.c (fchmodat):
2204         * lib/lchmod.c (lchmod):
2205         Don’t assume that chmod on the O_PATH-opened fd will do
2206         the right thing on a symbolic link.
2207         * lib/fchmodat.c (fchmodat):
2208         Don’t attempt to special-case
2209         any flag value other than AT_SYMLINK_NOFOLLOW.
2211 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
2213         lchmod: pacify Coverity CID 1491216
2214         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
2215         not complain about unreachable code at the ‘struct stat st;’
2216         declaration.
2218 2020-02-10  Bruno Haible  <bruno@clisp.org>
2220         copysignf: Fix link error on HP-UX with cc.
2221         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
2222         HP-UX, set COPYSIGNF_LIBM to -lm.
2224 2020-02-10  Bruno Haible  <bruno@clisp.org>
2226         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
2227         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
2228         with $(LIB_SEMAPHORE).
2229         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
2230         with $(LIB_SEMAPHORE).
2232 2020-02-10  Bruno Haible  <bruno@clisp.org>
2234         ptsname_r-tests: Avoid unused function warning.
2235         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
2237 2020-02-08  Bruno Haible  <bruno@clisp.org>
2239         lchmod: Add tests.
2240         * tests/test-lchmod.c: New file.
2241         * modules/lchmod-tests: New file.
2243 2020-02-08  Bruno Haible  <bruno@clisp.org>
2245         lchmod: Ensure declaration on HP-UX.
2246         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
2247         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
2249 2020-02-08  Bruno Haible  <bruno@clisp.org>
2251         fchmodat: Strengthen tests.
2252         * tests/test-fchmodat.c (BASE): New macro.
2253         (main): Use it, to avoid conflicts with other unit tests. Verify that
2254         fchmodat changed the file permission bits.
2256 2020-02-08  Bruno Haible  <bruno@clisp.org>
2258         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
2259         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
2260         '#undef __need_system_sys_stat_h'.
2262 2020-02-08  Bruno Haible  <bruno@clisp.org>
2264         fchmodat: Improve cross-compilation guesses.
2265         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
2266         cross-compiling, guess depending on the platform.
2267         * doc/posix-functions/fchmodat.texi: Clarify.
2269 2020-02-08  Bruno Haible  <bruno@clisp.org>
2271         Fix compilation errors in a testdir created with --with-c++-tests.
2272         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
2273         since it does not work any more with g++ >= 4.4.
2275 2020-02-08  Bruno Haible  <bruno@clisp.org>
2277         doc: Update for glibc 2.31.
2278         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
2279         * doc/gnulib.texi: Include it.
2280         * doc/pastposix-functions/h_errno.texi: Update.
2281         * doc/posix-functions/*.texi: Likewise.
2283 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
2285         mountlist: consider smb3 file systems as remote
2286         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
2287         "smb3" as remote.
2289 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2291         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
2292         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
2293         they act like chmod on non-symlinks.
2294         * NEWS:
2295         * doc/glibc-functions/lchmod.texi (lchmod):
2296         * doc/posix-functions/fchmodat.texi (fchmodat):
2297         Mention this.
2298         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
2299         config.h, and undef it after including sys/stat.h the first time.
2300         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
2301         sys/stat.h a second time after defining orig_fchmodat.
2302         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
2303         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
2304         * lib/lchmod.c: New file.
2305         * lib/sys_stat.in.h (fchmodat, lchmod):
2306         Support replacing these functions.
2307         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
2308         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
2309         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
2310         Test that lchmod works on non-symlinks.
2311         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
2312         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
2313         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
2314         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
2315         * modules/lchmod (Files): Add lib/lchmod.c.
2316         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
2317         (configure.ac): Compile lchmod.c if needed.
2318         (lib_SOURCES): Add lchmod.c.
2319         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
2320         and REPLACE_LCHMOD.
2321         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
2322         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
2324 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
2326         mountlist: Consider AFS filesystems as remote
2327         df --local relies on the ME_REMOTE macro to determine if a given
2328         mount entry should be considered "local".  There is special logic
2329         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
2330         kernel's kafs module or AuriStorFS is treated as a local mount.
2331         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
2332         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
2334 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2336         Port _Noreturn to older Clang
2337         Problem reported by Jeffery Walton in:
2338         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
2339         * lib/_Noreturn.h (_Noreturn):
2340         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2341         Assume _Noreturn works in Clang 3.5 and later.
2342         It is documented to work in Clang 3.5:
2343         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
2344         and is not documented in Clang 3.4:
2345         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
2346         Apple sets __clang_version__ to a different value, so use
2347         __apple_build_version__ there.  See:
2348         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
2350 2020-02-04  Pádraig Brady  <P@draigBrady.com>
2352         test-canonicalize: avoid unused function warning
2353         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
2354         with the same guard as that used to protect usage of the null_ptr
2355         function, so that one doesn't get a -Wunused warning.
2356         * tests/test-canonicalize-lgpl.c: Likewise.
2358 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
2360         libc-config: port to Apple’s Clang variant
2361         * lib/libc-config.h (__glibc_clang_prereq):
2362         Port to Apple’s Clang variant, which uses a different
2363         numbering scheme for __clang_major__.
2365 2020-02-02  Bruno Haible  <bruno@clisp.org>
2367         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
2368         * doc/containers.texi: Document these new modules.
2370 2020-02-02  Bruno Haible  <bruno@clisp.org>
2372         omap-c++: Add tests.
2373         * tests/test-omap-c++.cc: New file.
2374         * modules/omap-c++-tests: New file.
2376         omap-c++: New module.
2377         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
2378         * modules/omap-c++: New file.
2380 2020-02-02  Bruno Haible  <bruno@clisp.org>
2382         map-c++: Add tests.
2383         * tests/test-map-c++.cc: New file.
2384         * modules/map-c++-tests: New file.
2386         map-c++: New module.
2387         * lib/gl_map.hh: New file, based on lib/gl_map.h.
2388         * modules/map-c++: New file.
2390 2020-02-02  Bruno Haible  <bruno@clisp.org>
2392         oset-c++: Add tests.
2393         * tests/test-oset-c++.cc: New file.
2394         * modules/oset-c++-tests: New file.
2396         oset-c++: New module.
2397         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
2398         * modules/oset-c++: New file.
2400 2020-02-02  Bruno Haible  <bruno@clisp.org>
2402         set-c++: Add tests.
2403         * tests/test-set-c++.cc: New file.
2404         * modules/set-c++-tests: New file.
2406         set-c++: New module.
2407         * lib/gl_set.hh: New file, based on lib/gl_set.h.
2408         * modules/set-c++: New file.
2410 2020-02-02  Bruno Haible  <bruno@clisp.org>
2412         list-c++: Add tests.
2413         * tests/test-list-c++.cc: New file.
2414         * modules/list-c++-tests: New file.
2416         list-c++: New module.
2417         * lib/gl_list.hh: New file, based on lib/gl_list.h.
2418         * modules/list-c++: New file.
2420 2020-02-02  Bruno Haible  <bruno@clisp.org>
2422         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
2423         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
2424         '_Noreturn'.
2425         * lib/sigpipe-die.h (sigpipe_die): Likewise.
2427 2020-02-02  Pádraig Brady  <P@draigBrady.com>
2429         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
2430         On x86_64 with glibc-2.30, gcc 9.2 is giving:
2431           error: argument 2 value '18446744073709551615'
2432           exceeds maximum object size 9223372036854775807
2433           [-Werror=alloc-size-larger-than=]
2434         The details of this restriction are discussed at:
2435         https://stackoverflow.com/q/42574890/4421
2436         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
2438 2020-02-02  Pádraig Brady  <P@draigBrady.com>
2440         sysctl.h: avoid including on glibc
2441         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
2442         * lib/physmem.c: Likewise.
2444 2020-02-02  Bruno Haible  <bruno@clisp.org>
2446         list, set, oset, map, omap: Avoid imperative voice in documentation.
2447         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
2448         in the specification of functions.
2449         * lib/gl_set.h: Likewise.
2450         * lib/gl_oset.h: Likewise.
2451         * lib/gl_map.h: Likewise.
2452         * lib/gl_omap.h: Likewise.
2453         * lib/gl_*.h: Likewise.
2455 2020-02-01  Bruno Haible  <bruno@clisp.org>
2457         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
2458         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
2459         does.
2461 2020-01-29  Bruno Haible  <bruno@clisp.org>
2463         array-map, hash-map, linkedhash-map: Fix module description.
2464         * modules/array-map (Description): Fix description.
2465         * modules/hash-map (Description): Likewise.
2466         * modules/linkedhash-map (Description): Likewise.
2468 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2470         dfa: do not depend on isblank
2471         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
2472         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
2473         * modules/dfa (Depends-on): Remove isblank.
2474         * modules/isblank: Add a module indicator, for lib/dfa.c.
2476         dfa: do not assume 64-bit int
2477         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
2478         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
2479         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
2480         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
2481         Fall back to 32-bit words.
2482         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
2483         of 4 64-bit args.  All uses changed.
2485 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2487         regex: remove limits-h dependency
2488         * modules/regex (Depends-on): Remove limits-h, since the
2489         code no longer depends on ULONG_WIDTH already being defined.
2491         regex: port to non-GCC pre-IEC-60559
2492         Problem reported by Arnold Robbins in:
2493         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
2494         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
2496 2020-01-25  Bruno Haible  <bruno@clisp.org>
2498         c32isxdigit: Add tests.
2499         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
2500         * tests/test-c32isxdigit.sh: New file.
2501         * modules/c32isxdigit-tests: New file.
2503         c32isxdigit: New module.
2504         * lib/c32isxdigit.c: New file.
2505         * modules/c32isxdigit: New file.
2506         * doc/posix-functions/iswxdigit.texi: Mention the new module.
2508 2020-01-25  Bruno Haible  <bruno@clisp.org>
2510         c32isupper: Add tests.
2511         * tests/test-c32isupper.c: New file.
2512         * tests/test-c32isupper.sh: New file.
2513         * modules/c32isupper-tests: New file.
2515         c32isupper: New module.
2516         * lib/c32isupper.c: New file.
2517         * modules/c32isupper: New file.
2518         * doc/posix-functions/iswupper.texi: Mention the new module.
2520 2020-01-25  Bruno Haible  <bruno@clisp.org>
2522         c32isspace: Add tests.
2523         * tests/test-c32isspace.c: New file.
2524         * tests/test-c32isspace.sh: New file.
2525         * modules/c32isspace-tests: New file.
2527         c32isspace: New module.
2528         * lib/c32isspace.c: New file.
2529         * modules/c32isspace: New file.
2530         * doc/posix-functions/iswspace.texi: Mention the new module.
2532 2020-01-25  Bruno Haible  <bruno@clisp.org>
2534         c32ispunct: Add tests.
2535         * tests/test-c32ispunct.c: New file.
2536         * tests/test-c32ispunct.sh: New file.
2537         * modules/c32ispunct-tests: New file.
2539         c32ispunct: New module.
2540         * lib/c32ispunct.c: New file.
2541         * modules/c32ispunct: New file.
2542         * doc/posix-functions/iswpunct.texi: Mention the new module.
2544 2020-01-25  Bruno Haible  <bruno@clisp.org>
2546         c32isprint: Add tests.
2547         * tests/test-c32isprint.c: New file.
2548         * tests/test-c32isprint.sh: New file.
2549         * modules/c32isprint-tests: New file.
2551         c32isprint: New module.
2552         * lib/c32isprint.c: New file.
2553         * modules/c32isprint: New file.
2554         * doc/posix-functions/iswprint.texi: Mention the new module.
2556 2020-01-25  Bruno Haible  <bruno@clisp.org>
2558         c32islower: Add tests.
2559         * tests/test-c32islower.c: New file.
2560         * tests/test-c32islower.sh: New file.
2561         * modules/c32islower-tests: New file.
2563         c32islower: New module.
2564         * lib/c32islower.c: New file.
2565         * modules/c32islower: New file.
2566         * doc/posix-functions/iswlower.texi: Mention the new module.
2568 2020-01-25  Bruno Haible  <bruno@clisp.org>
2570         c32isgraph: Add tests.
2571         * tests/test-c32isgraph.c: New file.
2572         * tests/test-c32isgraph.sh: New file.
2573         * modules/c32isgraph-tests: New file.
2575         c32isgraph: New module.
2576         * lib/c32isgraph.c: New file.
2577         * modules/c32isgraph: New file.
2578         * doc/posix-functions/iswgraph.texi: Mention the new module.
2580 2020-01-25  Bruno Haible  <bruno@clisp.org>
2582         c32isdigit: Add tests.
2583         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
2584         * tests/test-c32isdigit.sh: New file.
2585         * modules/c32isdigit-tests: New file.
2587         c32isdigit: New module.
2588         * lib/c32isdigit.c: New file.
2589         * modules/c32isdigit: New file.
2590         * doc/posix-functions/iswdigit.texi: Mention the new module.
2592 2020-01-25  Bruno Haible  <bruno@clisp.org>
2594         c32iscntrl: Add tests.
2595         * tests/test-c32iscntrl.c: New file.
2596         * tests/test-c32iscntrl.sh: New file.
2597         * modules/c32iscntrl-tests: New file.
2599         c32iscntrl: New module.
2600         * lib/c32iscntrl.c: New file.
2601         * modules/c32iscntrl: New file.
2602         * doc/posix-functions/iswcntrl.texi: Mention the new module.
2604 2020-01-25  Bruno Haible  <bruno@clisp.org>
2606         c32isblank: Add tests.
2607         * tests/test-c32isblank.c: New file.
2608         * tests/test-c32isblank.sh: New file.
2609         * modules/c32isblank-tests: New file.
2611         c32isblank: New module.
2612         * lib/c32isblank.c: New file.
2613         * modules/c32isblank: New file.
2614         * doc/posix-functions/iswblank.texi: Mention the new module.
2616 2020-01-25  Bruno Haible  <bruno@clisp.org>
2618         c32isalpha: Add tests.
2619         * tests/test-c32isalpha.c: New file.
2620         * tests/test-c32isalpha.sh: New file.
2621         * modules/c32isalpha-tests: New file.
2623         c32isalpha: New module.
2624         * lib/c32isalpha.c: New file.
2625         * modules/c32isalpha: New file.
2626         * doc/posix-functions/iswalpha.texi: Mention the new module.
2628 2020-01-25  Bruno Haible  <bruno@clisp.org>
2630         c32isalnum: Add tests.
2631         * tests/test-c32isalnum.c: New file.
2632         * tests/test-c32isalnum.sh: New file.
2633         * modules/c32isalnum-tests: New file.
2635         c32isalnum: New module.
2636         * lib/c32isalnum.c: New file.
2637         * lib/c32is-impl.h: New file.
2638         * modules/c32isalnum: New file.
2639         * doc/posix-functions/iswalnum.texi: Mention the new module.
2641 2020-01-25  Bruno Haible  <bruno@clisp.org>
2643         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
2644         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
2645         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
2646         c32isupper, c32isxdigit): New declarations.
2647         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
2648         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
2649         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
2650         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
2651         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
2652         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
2653         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
2654         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
2655         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
2656         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
2657         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
2658         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
2659         c32ispunct, c32isspace, c32isupper, c32isxdigit.
2661 2020-01-25  Bruno Haible  <bruno@clisp.org>
2663         mbchar, wctype: Use the corrected iswxdigit function.
2664         * modules/mbchar (Depends-on): Add iswxdigit.
2665         * modules/wctype (Depends-on): Likewise.
2667         iswxdigit: Add tests.
2668         * tests/test-iswxdigit.c: New file.
2669         * tests/test-iswxdigit.sh: New file.
2670         * modules/iswxdigit-tests: New file.
2672         iswxdigit: New module.
2673         * m4/iswxdigit.m4: New file.
2674         * lib/wctype.in.h (iswxdigit): Potentially override.
2675         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
2676         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
2677         * lib/iswxdigit.c: New file.
2678         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
2679         REPLACE_ISWXDIGIT.
2680         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
2681         REPLACE_ISWXDIGIT.
2682         * modules/iswxdigit: New file.
2683         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
2685 2020-01-25  Bruno Haible  <bruno@clisp.org>
2687         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
2688         Reported by John Donoghue <john.david.donoghue@gmail.com> in
2689         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
2690         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
2691         off_t on mingw, invoke _lseeki64 instead of lseek.
2693 2020-01-25  Bruno Haible  <bruno@clisp.org>
2695         iswdigit tests: Avoid test failure on Cygwin.
2696         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
2697         byte sequence, return 0.
2699         iswdigit: Fix test failure on native Windows.
2700         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
2702         mbchar, wctype: Use the corrected iswdigit function.
2703         * modules/mbchar (Depends-on): Add iswdigit.
2704         * modules/wctype (Depends-on): Likewise.
2706         iswdigit: Add tests.
2707         * tests/test-iswdigit.c: New file.
2708         * tests/test-iswdigit.sh: New file.
2709         * modules/iswdigit-tests: New file.
2711         iswdigit: New module.
2712         * m4/iswdigit.m4: New file.
2713         * lib/wctype.in.h (iswdigit): Potentially override.
2714         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
2715         * lib/iswdigit.c: New file.
2716         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
2717         REPLACE_ISWDIGIT.
2718         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
2719         REPLACE_ISWDIGIT.
2720         * modules/iswdigit: New file.
2721         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
2723 2020-01-25  Bruno Haible  <bruno@clisp.org>
2725         hard-locale tests: Make it easy to reuse the musl test.
2726         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
2727         * modules/hard-locale-tests (Files): Add it.
2728         (configure.ac): Invoke gl_MUSL_LIBC.
2730 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
2732         regex: port to Gawk on nonstandard platforms
2733         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
2734         This is useful for Gawk, which does not use the Gnulib stdlib-h
2735         module.  Problem reported by Arnold Robbins in:
2736         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
2738 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
2740         regex: fix bug with >=16 subexpressions
2741         * lib/regex_internal.h (struct re_backref_cache_entry):
2742         Use bitset_word_t as the type of eps_reachable_subexps_map,
2743         instead of unsigned short int.  This fixes a bug I introduced
2744         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
2745         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
2746         Remove unused member 'unused'.
2748         regex: simplify definition of BITSET_WORD_BITS
2749         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
2750         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
2751         * lib/regex_internal.h (BITSET_WORD_BITS):
2752         * modules/regex (Depends-on): Add limits-h.
2753         Simplify now that we can use ULONG_WIDTH.
2755 2020-01-20  Bruno Haible  <bruno@clisp.org>
2757         mbrtoc32: Add note about FreeBSD 12.
2758         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
2759         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
2760         affected.
2762 2020-01-20  Bruno Haible  <bruno@clisp.org>
2764         unistr/u8-uctomb: Fix warning.
2765         Reported by Andreas Schwab <schwab@suse.de> in
2766         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
2767         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
2768         (u8_uctomb): Add FALLTHROUGH markers.
2770 2020-01-20  Bruno Haible  <bruno@clisp.org>
2772         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
2773         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
2774         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
2775         (glthread_once): Use it.
2777 2020-01-19  Bruno Haible  <bruno@clisp.org>
2779         threadlib: Disable use of weak symbols on FreeBSD 11.
2780         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
2781         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
2782         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
2783         against a bug in FreeBSD 11.
2785 2020-01-19  Bruno Haible  <bruno@clisp.org>
2787         iconv_open: Improve z/OS support.
2788         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
2789         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
2790         Remove mapping for EUC-TW.
2792 2020-01-18  Bruno Haible  <bruno@clisp.org>
2794         Rename ~~gnulib.m4 to zzgnulib.m4.
2795         Suggested by Paul Eggert.
2796         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
2797         * gnulib-tool (func_get_filelist): Update.
2798         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
2800 2020-01-18  Bruno Haible  <bruno@clisp.org>
2802         doc: Update license notices.
2803         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
2804         reference to a section or to a "file as part of this distribution".
2806 2020-01-18  Bruno Haible  <bruno@clisp.org>
2808         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
2809         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
2810         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
2811         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
2812         AC_EGREP_CPP.
2814 2020-01-18  Bruno Haible  <bruno@clisp.org>
2816         Ensure Automake does not drop ~~gnulib.m4.
2817         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
2818         * m4/gnulib-common.m4 (gl_COMMON): Require it.
2820 2020-01-18  Bruno Haible  <bruno@clisp.org>
2822         Fix major regression from 2020-01-10.
2823         Reported by Paul Eggert in
2824         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
2825         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
2826         Don't AC_REQUIRE anything.
2827         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
2828         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
2829         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
2830         use ac_compile instead.
2831         (AC_CHECK_DECL): Remove override.
2832         * m4/~~gnulib.m4: New file.
2833         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
2834         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
2836 2020-01-17  Bruno Haible  <bruno@clisp.org>
2837             Paul Eggert  <eggert@cs.ucla.edu>
2839         glob: Fix use-after-free bug.
2840         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
2841         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
2842         * lib/glob.c (__glob): Delay freeing dirname until after the use of
2843         end_name.
2845 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2847         vcs-to-changelog: Fix parsing of fndecl without args.
2848         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
2849         for empty arguments.
2851 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2853         vcs-to-changelog: Add documentation.
2854         * doc/vcs-to-changelog.texi: New file.
2855         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
2856         section.
2858 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2860         vcs-to-changelog: Allow loading of custom quirks file.
2861         * build-aux/vcs_to_changelog.py: New commandline option -q.
2863 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2865         vcs-to-changelog: Fix formatting of ChangeLog output.
2866         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
2867         output.
2869 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2871         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
2872         Reported in
2873         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
2874         * build-aux/vcstocl/frontend_c.py: Remove shebang.
2876 2020-01-15  Simon Josefsson  <simon@josefsson.org>
2878         crypto/gc-pbkdf2: New module.
2879         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
2880         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
2881         * lib/gc-pbkdf2.c: New file.
2882         * lib/gc-pbkdf2-sha1.c: Use new interface.
2883         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
2884         * modules/crypto/gc-pbkdf2: New file.
2885         * modules/crypto/gc-pbkdf2-tests: New file.
2886         * tests/test-gc-pbkdf2.c: New file.
2888 2020-01-12  Bruno Haible  <bruno@clisp.org>
2890         c32stombs: Add tests.
2891         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
2892         * tests/test-c32stombs-1.sh: New file, based on
2893         tests/test-c32srtombs-1.sh.
2894         * tests/test-c32stombs-2.sh: New file, based on
2895         tests/test-c32srtombs-2.sh.
2896         * tests/test-c32stombs-3.sh: New file, based on
2897         tests/test-c32srtombs-3.sh.
2898         * tests/test-c32stombs-4.sh: New file, based on
2899         tests/test-c32srtombs-4.sh.
2900         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
2902         c32stombs: New module.
2903         * lib/uchar.in.h (c32stombs): New declaration.
2904         * lib/c32stombs.c: New file.
2905         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
2906         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
2907         * modules/c32stombs: New file.
2908         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
2909         * doc/posix-functions/wcstombs.texi: Mention the new module.
2911 2020-01-11  Jim Meyering  <meyering@fb.com>
2913         perl: require the "warnings" module
2914         * m4/perl.m4: Also "use warnings", so we reject the perl found
2915         on at least one IRIX 6.5 system. Reported by Bruno Haible in
2916         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
2918 2020-01-10  Bruno Haible  <bruno@clisp.org>
2920         Fix major regression from 2020-01-04.
2921         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
2922         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
2923         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
2924         AC_DEFUN_ONCE.
2925         (AC_CHECK_DECL): Invoke, not require, it.
2927 2020-01-10  Bruno Haible  <bruno@clisp.org>
2929         c32snrtombs: Add tests.
2930         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
2931         * tests/test-c32snrtombs-1.sh: New file, based on
2932         tests/test-wcsnrtombs1.sh.
2933         * tests/test-c32snrtombs-2.sh: New file, based on
2934         tests/test-wcsnrtombs2.sh.
2935         * tests/test-c32snrtombs-3.sh: New file, based on
2936         tests/test-wcsnrtombs3.sh.
2937         * tests/test-c32snrtombs-4.sh: New file, based on
2938         tests/test-wcsnrtombs4.sh.
2939         * modules/c32snrtombs-tests: New file, based on
2940         modules/wcsnrtombs-tests.
2942         c32snrtombs: New module.
2943         * lib/uchar.in.h (c32snrtombs): New declaration.
2944         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
2945         INTERNAL_STATE, WCRTOMB.
2946         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
2947         * lib/c32snrtombs.c: New file.
2948         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
2949         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
2950         * modules/c32snrtombs: New file.
2951         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
2952         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
2954 2020-01-09  Bruno Haible  <bruno@clisp.org>
2956         c32srtombs: Add tests.
2957         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
2958         * tests/test-c32srtombs-1.sh: New file, based on
2959         tests/test-wcsrtombs1.sh.
2960         * tests/test-c32srtombs-2.sh: New file, based on
2961         tests/test-wcsrtombs2.sh.
2962         * tests/test-c32srtombs-3.sh: New file, based on
2963         tests/test-wcsrtombs3.sh.
2964         * tests/test-c32srtombs-4.sh: New file, based on
2965         tests/test-wcsrtombs4.sh.
2966         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
2968         c32srtombs: New module.
2969         * lib/uchar.in.h (c32srtombs): New declaration.
2970         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
2971         INTERNAL_STATE, WCRTOMB.
2972         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
2973         * lib/c32srtombs.c: New file.
2974         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
2975         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
2976         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
2977         * modules/c32srtombs: New file.
2978         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
2979         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
2981 2020-01-08  Bruno Haible  <bruno@clisp.org>
2983         c32tob: Make consistent with mbrtoc32.
2984         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
2985         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
2986         use c32rtomb, not wctob.
2987         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
2988         (Depends-on): Add c32rtomb.
2989         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
2991 2020-01-08  Bruno Haible  <bruno@clisp.org>
2993         c32rtomb: Add tests.
2994         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
2995         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
2996         * tests/test-c32rtomb-w32.c: New file, based on
2997         tests/test-wcrtomb-w32.c.
2998         * tests/test-c32rtomb-w32-1.sh: New file, based on
2999         tests/test-wcrtomb-w32-1.sh.
3000         * tests/test-c32rtomb-w32-2.sh: New file, based on
3001         tests/test-wcrtomb-w32-2.sh.
3002         * tests/test-c32rtomb-w32-3.sh: New file, based on
3003         tests/test-wcrtomb-w32-3.sh.
3004         * tests/test-c32rtomb-w32-4.sh: New file, based on
3005         tests/test-wcrtomb-w32-4.sh.
3006         * tests/test-c32rtomb-w32-5.sh: New file, based on
3007         tests/test-wcrtomb-w32-5.sh.
3008         * tests/test-c32rtomb-w32-6.sh: New file, based on
3009         tests/test-wcrtomb-w32-6.sh.
3010         * tests/test-c32rtomb-w32-7.sh: New file, based on
3011         tests/test-wcrtomb-w32-7.sh.
3012         * modules/c32rtomb-tests: New file.
3014         c32rtomb: New module.
3015         * lib/uchar.in.h (c32rtomb): New declaration.
3016         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
3017         * m4/c32rtomb.m4: New file.
3018         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
3019         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
3020         REPLACE_C32RTOMB.
3021         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
3022         HAVE_C32RTOMB, REPLACE_C32RTOMB.
3023         * modules/c32rtomb: New file.
3024         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
3025         * doc/posix-functions/c32rtomb.texi: Document the new module.
3026         * doc/posix-functions/wcrtomb.texi: Mention the new module.
3028 2020-01-08  Bruno Haible  <bruno@clisp.org>
3030         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
3031         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
3032         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
3033         but is not working.
3034         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
3035         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
3036         differ, use the system's mbrtoc32, adding workarounds.
3037         * modules/mbrtoc32 (Depends-on): Add hard-locale.
3038         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
3039         Windows problem.
3040         * lib/btoc32.c: Include <stdio.h>, <string.h>.
3041         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
3042         use mbrtoc32, not btowc.
3043         * modules/btoc32 (Depends-on): Add mbrtoc32.
3044         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
3045         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
3046         * modules/mbsrtoc32s (Depends-on): Update conditions.
3047         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
3048         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
3049         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
3050         * modules/mbsnrtoc32s (Depends-on): Update conditions.
3051         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
3053 2020-01-07  Bruno Haible  <bruno@clisp.org>
3055         wcrtomb: Make multithread-safe, except possibly on IRIX.
3056         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
3057         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
3058         WCRTOMB_RETVAL_BUG.
3059         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
3060         wctomb only on IRIX.
3062 2020-01-05  Jim Meyering  <meyering@fb.com>
3064         tests: skip thread-using tests when threading is disabled
3065         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
3066         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
3067         of those, so they are skipped in this case.
3068         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
3069         * tests/test-setlocale_null-mt-all.c (main): Likewise.
3070         * tests/test-setlocale_null-mt-one.c (main): Likewise.
3072 2020-01-05  Bruno Haible  <bruno@clisp.org>
3074         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
3075         Reported by Jim Meyering in
3076         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
3077         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
3078         (GNULIB_defined_ptsname_r): New macro.
3079         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
3080         (main): Disable the NULL argument test if canonicalize_file_name does
3081         not come from gnulib.
3082         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
3083         (main): Disable the NULL argument test if canonicalize_file_name does
3084         not come from gnulib.
3085         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
3086         (test_errors): Disable the NULL argument test if ptsname_r does not come
3087         from gnulib.
3089 2020-01-04  Jim Meyering  <meyering@fb.com>
3091         update-copyright: reenable its always-skipped test
3092         * tests/test-update-copyright.sh: Restore the "-pi" options removed
3093         on 2019-06-15. Without those, an internal preliminary test would
3094         fail, causing this test always to be skipped.
3095         Verify that the test is now run and passes via this:
3096           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
3098 2020-01-05  Bruno Haible  <bruno@clisp.org>
3100         mbstoc32s: Add tests.
3101         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
3102         * tests/test-mbstoc32s-1.sh: New file, based on
3103         tests/test-mbsrtoc32s-1.sh.
3104         * tests/test-mbstoc32s-2.sh: New file, based on
3105         tests/test-mbsrtoc32s-2.sh.
3106         * tests/test-mbstoc32s-3.sh: New file, based on
3107         tests/test-mbsrtoc32s-3.sh.
3108         * tests/test-mbstoc32s-4.sh: New file, based on
3109         tests/test-mbsrtoc32s-4.sh.
3110         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
3112         mbstoc32s: New module.
3113         * lib/uchar.in.h (mbstoc32s): New declaration.
3114         * lib/mbstoc32s.c: New file.
3115         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
3116         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
3117         * modules/mbstoc32s: New file.
3118         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
3119         * doc/posix-functions/mbstowcs.texi: Mention the new module.
3121 2020-01-05  Bruno Haible  <bruno@clisp.org>
3123         Tweak recently added tests.
3124         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
3125         * tests/test-mbsrtoc32s.c: Likewise.
3126         * tests/test-mbsnrtoc32s.c: Likewise.
3128 2020-01-04  Bruno Haible  <bruno@clisp.org>
3130         mbsnrtoc32s: Add tests.
3131         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
3132         * tests/test-mbsnrtoc32s-1.sh: New file, based on
3133         tests/test-mbsnrtowcs1.sh.
3134         * tests/test-mbsnrtoc32s-2.sh: New file, based on
3135         tests/test-mbsnrtowcs2.sh.
3136         * tests/test-mbsnrtoc32s-3.sh: New file, based on
3137         tests/test-mbsnrtowcs3.sh.
3138         * tests/test-mbsnrtoc32s-4.sh: New file, based on
3139         tests/test-mbsnrtowcs4.sh.
3140         * modules/mbsnrtoc32s-tests: New file, based on
3141         modules/mbsnrtowcs-tests.
3143         mbsnrtoc32s: New module.
3144         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
3145         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
3146         INTERNAL_STATE, MBRTOWC.
3147         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
3148         * lib/mbsnrtoc32s.c: New file.
3149         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
3150         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
3151         * modules/mbsnrtoc32s: New file.
3152         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
3153         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
3155 2020-01-04  Bruno Haible  <bruno@clisp.org>
3157         mbsrtoc32s tests: Enhance test.
3158         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
3159         test strings for UTF-8 and GB18030.
3161 2020-01-04  Bruno Haible  <bruno@clisp.org>
3163         mbsrtoc32s: Fix bug.
3164         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
3165         that SMALL_WCHAR_T is defined.
3167 2020-01-04  Bruno Haible  <bruno@clisp.org>
3169         mbsrtoc32s: Add tests.
3170         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
3171         * tests/test-mbsrtoc32s-1.sh: New file, based on
3172         tests/test-mbsrtowcs1.sh.
3173         * tests/test-mbsrtoc32s-2.sh: New file, based on
3174         tests/test-mbsrtowcs2.sh.
3175         * tests/test-mbsrtoc32s-3.sh: New file, based on
3176         tests/test-mbsrtowcs3.sh.
3177         * tests/test-mbsrtoc32s-4.sh: New file, based on
3178         tests/test-mbsrtowcs4.sh.
3179         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
3181         mbsrtoc32s: New module.
3182         * lib/uchar.in.h (mbsrtoc32s): New declaration.
3183         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
3184         INTERNAL_STATE, MBRTOWC.
3185         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
3186         * lib/mbsrtoc32s.c: New file.
3187         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
3188         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
3189         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
3190         * modules/mbsrtoc32s: New file.
3191         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
3192         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
3194 2020-01-04  Bruno Haible  <bruno@clisp.org>
3196         mbrtowc, mbrtoc32: Tighten dependendies.
3197         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
3198         REPLACE_MBSTATE_T is 1.
3199         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
3200         REPLACE_MBSTATE_T is 0.
3201         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
3202         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
3203         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
3204         REPLACE_MBSTATE_T is 0.
3206 2020-01-04  Bruno Haible  <bruno@clisp.org>
3208         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
3209         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
3210         * modules/uchar (Files): Add stdint.m4.
3211         (Makefile.am): Substitute SMALL_WCHAR_T.
3212         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
3214 2020-01-04  Bruno Haible  <bruno@clisp.org>
3216         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
3217         Reported by Martin Storsjö <martin@martin.st> in
3218         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
3219         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
3220         New macros.
3221         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
3223 2020-01-04  Bruno Haible  <bruno@clisp.org>
3225         btoc32: Add tests.
3226         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
3227         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
3228         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
3229         * modules/btoc32-tests: New file, based on modules/btowc-tests.
3231         btoc32: New module.
3232         * lib/uchar.in.h (btoc32): New declaration.
3233         * lib/btoc32.c: New file.
3234         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
3235         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
3236         * modules/btoc32: New file.
3237         * tests/test-uchar-c++.cc: Test the signature of btoc32.
3238         * doc/posix-functions/btowc.texi: Mention the new module.
3240 2020-01-03  Bruno Haible  <bruno@clisp.org>
3242         uchar tests: Avoid compilation error with HP cc.
3243         * tests/test-uchar.c: Disable a test when HP cc is in use.
3245 2020-01-03  Bruno Haible  <bruno@clisp.org>
3247         mbrtoc32: Add tests.
3248         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
3249         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
3250         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
3251         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
3252         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
3253         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
3254         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
3255         * tests/test-mbrtoc32-w32-1.sh: New file, based on
3256         tests/test-mbrtowc-w32-1.sh.
3257         * tests/test-mbrtoc32-w32-2.sh: New file, based on
3258         tests/test-mbrtowc-w32-2.sh.
3259         * tests/test-mbrtoc32-w32-3.sh: New file, based on
3260         tests/test-mbrtowc-w32-3.sh.
3261         * tests/test-mbrtoc32-w32-4.sh: New file, based on
3262         tests/test-mbrtowc-w32-4.sh.
3263         * tests/test-mbrtoc32-w32-5.sh: New file, based on
3264         tests/test-mbrtowc-w32-5.sh.
3265         * tests/test-mbrtoc32-w32-6.sh: New file, based on
3266         tests/test-mbrtowc-w32-6.sh.
3267         * tests/test-mbrtoc32-w32-7.sh: New file, based on
3268         tests/test-mbrtowc-w32-7.sh.
3269         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
3271         mbrtoc32: New module.
3272         * lib/uchar.in.h (mbrtoc32): New declaration.
3273         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
3274         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
3275         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
3276         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
3277         REPLACE_MBRTOC32.
3278         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
3279         HAVE_MBRTOC32, REPLACE_MBRTOC32.
3280         * modules/mbrtoc32: New file, based on modules/mbrtowc.
3281         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
3282         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
3283         $(LIB_MBRTOWC).
3284         * doc/posix-functions/mbrtoc32.texi: Document the new module.
3285         * doc/posix-functions/mbrtowc.texi: Mention the new module.
3287 2020-01-03  Bruno Haible  <bruno@clisp.org>
3289         mbrtowc: Refactor to share code with mbrtoc32.
3290         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
3291         * lib/mbrtowc-impl-utf8.h: Likewise.
3292         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
3293         mbrtowc-impl.h.
3294         * modules/mbrtowc (Files): Add the new files.
3296 2020-01-03  Jim Meyering  <meyering@fb.com>
3298         doc: fix time.texi wording
3299         * doc/posix-headers/time.texi (time.h): Typo.
3301 2020-01-03  Bruno Haible  <bruno@clisp.org>
3303         mbrtowc: Refactor locale charset dispatching.
3304         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
3305         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
3306         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
3307         localcharset.h, streq.h.
3308         (enc_t): Remove type.
3309         (locale_enc): Remove function.
3310         (cached_locale_enc): Remove variable.
3311         (locale_enc_cached): Remove function.
3312         (mbrtowc): Invoke locale_encoding_classification.
3313         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
3314         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
3315         lc-charset-dispatch.c.
3316         (configure.ac): Arrange to compile lc-charset-dispatch.c.
3318 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3320         doc: mention 32-bit time_t issue
3321         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3322         * doc/posix-headers/time.texi (time.h): Mention 2038.
3324 2020-01-03  Bruno Haible  <bruno@clisp.org>
3326         mbrtowc: Ensure the mbtowc_lock is unique.
3327         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
3328         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
3329         lib/setlocale_null.c.
3330         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
3331         glthread/lock.h. Include mbtowc-lock.h.
3332         (mbtowc_lock): Remove declaration.
3333         (mbrtowc): Use mbtowc_with_lock.
3334         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
3335         threads.h. Set LIB_MBRTOWC.
3336         (gl_PREREQ_MBTOWC_LOCK): New macro.
3337         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
3338         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
3339         (Depends-on): Remove lock.
3340         (configure.ac): Arrange to compile mbtowc-lock.c.
3341         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
3342         * modules/acl (Link): Likewise.
3343         * modules/argmatch (Link): Likewise.
3344         * modules/backup-rename (Link): Likewise.
3345         * modules/backupfile (Link): Likewise.
3346         * modules/closein (Link): Likewise.
3347         * modules/closeout (Link): Likewise.
3348         * modules/copy-file (Link): Likewise.
3349         * modules/csharpcomp (Link): Likewise.
3350         * modules/csharpexec (Link): Likewise.
3351         * modules/dfa (Link): Likewise.
3352         * modules/exclude (Link): Likewise.
3353         * modules/fnmatch (Link): Likewise.
3354         * modules/fnmatch-gnu (Link): Likewise.
3355         * modules/fnmatch-posix (Link): Likewise.
3356         * modules/glob (Link): Likewise.
3357         * modules/human (Link): Likewise.
3358         * modules/javacomp (Link): Likewise.
3359         * modules/javaexec (Link): Likewise.
3360         * modules/javaversion (Link): Likewise.
3361         * modules/mbfile (Link): Likewise.
3362         * modules/mbiter (Link): Likewise.
3363         * modules/mbmemcasecmp (Link): Likewise.
3364         * modules/mbmemcasecoll (Link): Likewise.
3365         * modules/mbrlen (Link): Likewise.
3366         * modules/mbscasecmp (Link): Likewise.
3367         * modules/mbscasestr (Link): Likewise.
3368         * modules/mbschr (Link): Likewise.
3369         * modules/mbscspn (Link): Likewise.
3370         * modules/mbsinit (Link): Likewise.
3371         * modules/mbslen (Link): Likewise.
3372         * modules/mbsncasecmp (Link): Likewise.
3373         * modules/mbsnlen (Link): Likewise.
3374         * modules/mbsnrtowcs (Link): Likewise.
3375         * modules/mbspbrk (Link): Likewise.
3376         * modules/mbspcasecmp (Link): Likewise.
3377         * modules/mbsrchr (Link): Likewise.
3378         * modules/mbsrtowcs (Link): Likewise.
3379         * modules/mbssep (Link): Likewise.
3380         * modules/mbsspn (Link): Likewise.
3381         * modules/mbsstr (Link): Likewise.
3382         * modules/mbstok_r (Link): Likewise.
3383         * modules/mbswidth (Link): Likewise.
3384         * modules/mbuiter (Link): Likewise.
3385         * modules/mkdir-p (Link): Likewise.
3386         * modules/propername (Link): Likewise.
3387         * modules/quote (Link): Likewise.
3388         * modules/quotearg (Link): Likewise.
3389         * modules/quotearg-simple (Link): Likewise.
3390         * modules/regex-quote (Link): Likewise.
3391         * modules/rpmatch (Link): Likewise.
3392         * modules/sh-quote (Link): Likewise.
3393         * modules/system-quote (Link): Likewise.
3394         * modules/trim (Link): Likewise.
3395         * modules/unistdio/ulc-asnprintf (Link): Likewise.
3396         * modules/unistdio/ulc-fprintf (Link): Likewise.
3397         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
3398         * modules/unistdio/ulc-vasprintf (Link): Likewise.
3399         * modules/unistdio/ulc-vfprintf (Link): Likewise.
3400         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
3401         * modules/unistdio/ulc-vsprintf (Link): Likewise.
3402         * modules/xfreopen (Link): Likewise.
3403         * modules/xmemcoll (Link): Likewise.
3404         * modules/yesno (Link): Likewise.
3405         * modules/regex (Link): Add $(LIB_MBRTOWC).
3406         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
3407         instead of $(LIBTHREAD).
3408         * modules/argmatch-tests (Makefile.am): Likewise.
3409         * modules/closein-tests (Makefile.am): Likewise.
3410         * modules/copy-file-tests (Makefile.am): Likewise.
3411         * modules/dfa-tests (Makefile.am): Likewise.
3412         * modules/fnmatch-tests (Makefile.am): Likewise.
3413         * modules/glob-tests (Makefile.am): Likewise.
3414         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3415         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3416         * modules/mbrtowc-tests (Makefile.am): Likewise.
3417         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3418         * modules/mbscasestr-tests (Makefile.am): Likewise.
3419         * modules/mbschr-tests (Makefile.am): Likewise.
3420         * modules/mbscspn-tests (Makefile.am): Likewise.
3421         * modules/mbsinit-tests (Makefile.am): Likewise.
3422         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3423         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3424         * modules/mbspbrk-tests (Makefile.am): Likewise.
3425         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3426         * modules/mbsrchr-tests (Makefile.am): Likewise.
3427         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3428         * modules/mbsspn-tests (Makefile.am): Likewise.
3429         * modules/mbsstr-tests (Makefile.am): Likewise.
3430         * modules/quotearg-simple-tests (Makefile.am): Likewise.
3431         * modules/quotearg-tests (Makefile.am): Likewise.
3432         * modules/readtokens-tests (Makefile.am): Likewise.
3433         * modules/sh-quote-tests (Makefile.am): Likewise.
3434         * modules/system-quote-tests (Makefile.am): Likewise.
3435         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
3436         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3437         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
3438         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
3439         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
3440         * modules/yesno-tests (Makefile.am): Likewise.
3441         * modules/exclude-tests (Makefile.am): Link the programs with
3442         $(LIB_MBRTOWC).
3443         * modules/regex-tests (Makefile.am): Likewise.
3444         * modules/regex-quote-tests (Makefile.am): Likewise.
3446 2020-01-03  Bruno Haible  <bruno@clisp.org>
3448         getopt-posix: Fix compilation failure in testdirs.
3449         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
3450         when the gnulib module 'getopt-posix' is enabled.
3451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
3452         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
3453         module indicator.
3454         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
3456 2020-01-03  Bruno Haible  <bruno@clisp.org>
3458         doc: Mention the 64-bit inode number problem.
3459         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
3460         64-bit inode number problem.
3461         * doc/posix-functions/stat.texi: Mention that this module fixes the
3462         64-bit inode number problem.
3463         * doc/posix-functions/lstat.texi: Likewise.
3464         * doc/posix-functions/fstat.texi: Likewise.
3465         * doc/posix-functions/readdir.texi: Add more details.
3466         * doc/posix-functions/readdir_r.texi: Likewise.
3468 2020-01-02  Bruno Haible  <bruno@clisp.org>
3470         wcrtomb: Add more tests.
3471         * tests/test-wcrtomb-w32.c: Include localcharset.h.
3472         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
3473         locale_charset() returns the expected value; otherwise, skip the test.
3474         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
3475         * tests/test-wcrtomb-w32-7.sh: Likewise.
3476         * modules/wcrtomb-tests (Files): Add these files.
3477         (Depends-on): Add localcharset.
3478         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
3480 2020-01-02  Bruno Haible  <bruno@clisp.org>
3482         mbrtowc: Add more tests.
3483         * tests/test-mbrtowc-w32.c: Include localcharset.h.
3484         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
3485         locale_charset() returns the expected value; otherwise, skip the test.
3486         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
3487         * tests/test-mbrtowc-w32-7.sh: Likewise.
3488         * modules/mbrtowc-tests (Files): Add these files.
3489         (Depends-on): Add localcharset.
3490         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
3492 2020-01-02  Bruno Haible  <bruno@clisp.org>
3494         mbrtowc: Fix test failures on MSVC (regression by previous commit).
3495         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
3496         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
3497         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
3498         MBRTOWC_STORES_INCOMPLETE_BUG.
3499         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
3501 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3503         doc: mention glibc bug 24269
3504         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
3505         Reformat slightly so that it looks nicer in the Grep manual.
3507 2020-01-02  Bruno Haible  <bruno@clisp.org>
3509         mbrtowc: Don't replace mbstate_t on MSVC.
3510         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
3511         a missing mbsinit function on native Windows.
3512         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
3513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
3514         MSVC bug.
3515         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
3517 2020-01-02  Bruno Haible  <bruno@clisp.org>
3519         setlocale-null: Avoid crashing the MSVC linker.
3520         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
3521         MSVC.
3523 2020-01-02  Bruno Haible  <bruno@clisp.org>
3525         wchar: Make the HP-UX workaround work on HP-UX 11.31.
3526         * modules/wchar (Depends-on): Add inttypes-incomplete.
3527         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
3528         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
3529         of strtoimax.
3531 2020-01-02  Bruno Haible  <bruno@clisp.org>
3533         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
3534         * lib/mbrtowc.c: Include <stdint.h>.
3535         * modules/mbrtowc (Depends-on): Add stdint.
3537 2020-01-01  Pádraig Brady  <P@draigBrady.com>
3539         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
3540         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
3541         which will auto enable use of openssl, only for >= version 3,
3542         which is newly licensed under the Apache Software License.
3544 2020-01-01  Bruno Haible  <bruno@clisp.org>
3546         mbrtowc: Include function name in macro names.
3547         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
3548         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
3549         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
3550         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
3551         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
3552         C_LOCALE_MAYBE_EILSEQ.
3554 2020-01-01  Bruno Haible  <bruno@clisp.org>
3556         c32tob: New module.
3557         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
3558         (c32tob): New declaration.
3559         * lib/c32tob.c: New file.
3560         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
3561         macros.
3562         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
3563         * modules/uchar (Depends-on): Add snippet/c++defs.
3564         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
3565         uchar.h.
3566         * modules/c32tob: New file.
3567         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
3568         defined.
3569         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
3570         c32tob.
3571         * modules/uchar-c++-tests (Files): Add tests/signature.h.
3572         * doc/posix-functions/wctob.texi: Mention the new module.
3574 2020-01-01  Bruno Haible  <bruno@clisp.org>
3576         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
3577         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
3578         $(LIB_SETLOCALE).
3580 2020-01-01  Bruno Haible  <bruno@clisp.org>
3582         hard-locale tests: Fix a conflict with the C++ tests.
3583         * modules/hard-locale-tests (Makefile.am): Build a program named
3584         'current-locale', not 'locale'.
3586 2020-01-01  Bruno Haible  <bruno@clisp.org>
3588         doc: Update documentation about wchar_t.
3589         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
3590         wchar_t type.
3592 2020-01-01  Bruno Haible  <bruno@clisp.org>
3594         mbrtowc tests: Fix typos.
3595         * tests/test-mbrtowc.c (main): Fix typo.
3596         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
3598 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3600         maint: update copyright notices
3601         Before doing the following changes done by hand, I also ran ‘make
3602         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
3603         to do most of the copyright years automatically.  A few upstream
3604         sources are still in 2019 but these should eventually be changed
3605         automatically too.
3606         * build-aux/declared.sh (func_version):
3607         * build-aux/libtool-next-version (func_version):
3608         * build-aux/run-test (func_version):
3609         Update these notices by hand.  Put just the last year
3610         in output of programs, as per GNU coding standards.
3612 2019-12-31  Bruno Haible  <bruno@clisp.org>
3614         uchar: Add C++ tests.
3615         * tests/test-uchar-c++.cc: New file.
3616         * tests/test-uchar-c++2.cc: New file.
3617         * modules/uchar-c++-tests: New file.
3619         uchar: Add tests.
3620         * tests/test-uchar.c: New file.
3621         * modules/uchar-tests: New file.
3623         uchar: New module.
3624         * lib/uchar.in.h: New file.
3625         * m4/uchar.m4: New file.
3626         * modules/uchar: New file.
3627         * doc/posix-headers/uchar.texi: Mention the new module.
3629 2019-12-30  Jim Meyering  <meyering@fb.com>
3631         localeinfo: ->simple would be wrong for LC_ALL=C
3632         That would lead to using unnecessary and expensive code paths in dfa.c.
3633         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
3634         error that would have made grep many times slower in the C locale.
3635         With this change, and a file created like this:
3636           yes 00 | head -10000000 > in
3637         Running grep as follows becomes more than 40 times faster:
3638           LC_ALL=C grep -Fw 0 in
3640 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3642         doc: document trouble with back-references
3643         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
3645 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3647         doc: use “back-reference” for \1 etc.
3648         * doc/regex.texi: Consistently spell “back-reference” with
3649         a hyphen, since that’s how POSIX does it.
3651 2019-12-26  Jim Meyering  <meyering@fb.com>
3653         test-framework-sh: tighten an internal grep regexp
3654         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
3655         that helps test for a working printf.
3657 2019-12-26  Bruno Haible  <bruno@clisp.org>
3659         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
3660         Reported by Paul Eggert in
3661         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
3662         Simplification by Jim Meyering.
3663         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
3664         octal escape sequence in a UTF-8 locale.
3666 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
3668         mbrtowc: port better to narrow-wchar_t platforms
3669         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
3670         wchar_t is too narrow to represent all the Unicode characters,
3671         consider a byte sequence for an out-of-wchar_t-range character to
3672         be an encoding error.  This fixes grep’s surrogate-pair test
3673         failure on AIX 7.2.
3675 2019-12-24  Bruno Haible  <bruno@clisp.org>
3677         localcharset: Avoid referencing rpl_setlocale on native Windows.
3678         * lib/localcharset.c (setlocale): Undefine.
3680 2019-12-24  Bruno Haible  <bruno@clisp.org>
3682         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
3683         * m4/semaphore.m4: New file.
3684         * modules/lock-tests (Files): Add it.
3685         (configure.ac): Require gl_SEMAPHORE.
3686         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
3688 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
3690         strptime: fix typo in previous patch
3691         Problem and fix reported by Bruno Haible in:
3692         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
3693         * lib/strptime.c (day_of_the_week): Fix paren bug.
3695 2019-12-24  Bruno Haible  <bruno@clisp.org>
3697         setlocale-null: Make it easy to rely on the lock in another library.
3698         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
3699         defined.
3701 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3703         gethrxtime, mktime, nstrftime, strptime: tweak division performance
3704         Performanced analyzed by Bruno Haible in:
3705         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
3706         * config/srclist.txt: Do not sync mktime.c for now.
3707         * lib/mktime.c (shr, ydhms_diff):
3708         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
3709         * lib/strptime.c (day_of_the_week):
3710         * lib/xtime.h (xtime_sec):
3711         Redo with neither ‘%’ nor conditional branches.
3713 2019-12-23  Bruno Haible  <bruno@clisp.org>
3715         setlocale-null: Export the lock function also on non-Windows platforms.
3716         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
3717         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
3718         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
3719         * modules/setlocale-null (configure.ac): Invoke it.
3720         (Files): Add m4/visibility.m4.
3722 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3724         gethrxtime: fix rounding bug with negative args
3725         Problem reported by Bruno Haible in:
3726         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
3727         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
3728         with negative rounding.  Common platforms can compute / and % with
3729         a single instruction, so the simplified code should be shorter and
3730         faster on these platforms anyway.
3732 2019-12-22  Bruno Haible  <bruno@clisp.org>
3734         gethrxtime: remove incorrect overflow detection
3735         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
3736         integer overflow, as it didn’t suffice.  This reverts the xtime.h
3737         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
3738         cannot now see the need for anyway (even in cases where it works),
3739         as the patch is helpful only when the signs of S and NS disagree,
3740         and all callers pass nonnegative values for S and NS.
3742 2019-12-22  Bruno Haible  <bruno@clisp.org>
3744         setlocale-null: Add standalone include file.
3745         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
3746         * lib/locale.in.h: Include setlocale_null.h.
3747         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
3748         setlocale_null): Remove declarations.
3749         * lib/setlocale_null.c: Include setlocale_null.h.
3750         * lib/localename.c: Likewise.
3751         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
3752         (Depends-on): Add snippet/arg-nonnull.
3753         (Include): Allow either "setlocale_null.h" or <locale.h>.
3755 2019-12-22  Bruno Haible  <bruno@clisp.org>
3757         strfmon_l: Fix test failures on FreeBSD and Cygwin.
3758         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
3759         AC_RUN_IFELSE test.
3760         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
3761         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
3762         problem.
3764 2019-12-22  Bruno Haible  <bruno@clisp.org>
3766         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
3767         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
3768         unconditional AC_LIBOBJ.
3769         * modules/selinux-at: Likewise.
3770         * modules/xmemdup0: Likewise.
3771         * modules/xstrtoll: Likewise.
3773 2019-12-22  Bruno Haible  <bruno@clisp.org>
3775         longlong: Mark module obsolete.
3776         * modules/longlong (Status, Notice): New sections.
3778         stdint: Assume that the compiler supports 'long long'.
3779         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
3780         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
3781         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
3782         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
3783         AC_TYPE_UNSIGNED_LONG_LONG_INT.
3784         * modules/stdint (Files): Remove longlong.m4.
3785         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
3786         HAVE_UNSIGNED_LONG_LONG_INT.
3788         inttypes-incomplete: Assume that the compiler supports 'long long'.
3789         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
3790         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
3791         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
3792         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
3793         HAVE_LONG_LONG_INT to be 1.
3794         * modules/inttypes-incomplete (Makefile.am): Don't substitute
3795         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
3797         malloca: Assume that the compiler supports 'long long'.
3798         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
3799         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
3800         * modules/malloca (Files): Remove longlong.m4.
3801         * modules/relocatable-prog-wrapper (Files): Likewise.
3803         atoll: Assume that the compiler supports 'long long'.
3804         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
3805         * modules/atoll (Files): Remove longlong.m4.
3807         strtoll: Assume that the compiler supports 'long long'.
3808         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
3809         * modules/strtoll (Files): Remove longlong.m4.
3811         strtoull: Assume that the compiler supports 'long long'.
3812         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
3813         AC_TYPE_UNSIGNED_LONG_LONG_INT.
3814         * modules/strtoull (Files): Remove longlong.m4.
3816         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
3817         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
3818         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
3819         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
3820         AC_TYPE_LONG_LONG_INT.
3821         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
3822         AC_TYPE_UNSIGNED_LONG_LONG_INT.
3823         * modules/strtoimax (Files): Remove longlong.m4.
3824         * modules/strtoumax (Files): Likewise.
3826         xstrtoll: Assume that the compiler supports 'long long'.
3827         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
3828         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
3830         vasnprintf: Assume that the compiler supports 'long long'.
3831         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
3832         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
3833         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
3834         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
3835         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
3836         require AC_TYPE_LONG_LONG_INT.
3837         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
3838         gl_PREREQ_VASNPRINTF): Likewise.
3839         * modules/vasnprintf (Files): Remove longlong.m4.
3840         * modules/c-vasnprintf (Files): Likewise.
3841         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3842         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3843         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3844         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3845         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3846         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3847         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3849         gethrxtime: Assume that the compiler supports 'long long'.
3850         * lib/xtime.h (xtime_t): Define to 'long long int' always.
3851         (XTIME_PRECISION): Define to 1000000000 always.
3852         (xtime_make, xtime_sec): Optimize accordingly.
3853         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
3854         * modules/gethrxtime (Files): Remove longlong.m4.
3856         integer_length*: Assume that the compiler supports 'long long'.
3857         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
3858         * modules/integer_length (Files): Remove longlong.m4.
3859         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
3860         * modules/integer_length_l (Files): Remove longlong.m4.
3861         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
3862         * modules/integer_length_ll (Files): Remove longlong.m4.
3863         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
3865         count-one-bits: Assume that the compiler supports 'long long'.
3866         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
3867         * m4/count-one-bits.m4: Remove file.
3868         * modules/count-one-bits (Files): Remove it.
3869         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
3870         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
3871         unconditionally.
3873         count-trailing-zeros: Assume that the compiler supports 'long long'.
3874         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
3875         unconditionally.
3876         * m4/count-trailing-zeros.m4: Remove file.
3877         * modules/count-trailing-zeros (Files): Remove it.
3878         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
3879         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
3880         unconditionally.
3882         count-leading-zeros: Assume that the compiler supports 'long long'.
3883         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
3884         unconditionally.
3885         * m4/count-leading-zeros.m4: Remove file.
3886         * modules/count-leading-zeros (Files): Remove it.
3887         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
3888         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
3889         unconditionally.
3891 2019-12-22  Bruno Haible  <bruno@clisp.org>
3893         localcharset: Update support for OpenBSD.
3894         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
3896 2019-12-21  Bruno Haible  <bruno@clisp.org>
3898         pthread_sigmask: Avoid test failure on NetBSD 8.0.
3899         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
3900         NetBSD.
3901         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
3903 2019-12-21  Bruno Haible  <bruno@clisp.org>
3905         threadlib: Improve code structure.
3906         * m4/threadlib.m4: Reorder macros. Add comments.
3908 2019-12-21  Bruno Haible  <bruno@clisp.org>
3910         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
3911         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
3912         here from m4/threads.m4).
3913         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
3914         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
3915         (gl_STDTHREADLIB): New macro.
3916         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
3917         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
3919 2019-12-21  Bruno Haible  <bruno@clisp.org>
3921         sched_yield: Don't depend on threadlib and yield.
3922         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
3923         LIB_SCHED_YIELD.
3924         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
3925         m4/yield.m4).
3926         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
3927         gl_THREADLIB and gl_YIELD.
3928         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
3929         based on $(LIB_SCHED_YIELD).
3930         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
3931         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
3932         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
3933         (Depends-on): Remove threadlib.
3934         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
3935         * modules/threads-h (Files): Remove m4/yield.m4.
3936         * modules/pthread-cond-tests (Makefile.am): Link the programs against
3937         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
3938         * modules/pthread-mutex-tests (Makefile.am): Likewise.
3939         * modules/pthread-once-tests (Makefile.am): Likewise.
3940         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
3941         * modules/pthread-tss-tests (Makefile.am): Likewise.
3943 2019-12-21  Bruno Haible  <bruno@clisp.org>
3945         threads-h: Don't depend on threadlib.
3946         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
3947         not gl_THREADLIB_EARLY.
3949 2019-12-21  Bruno Haible  <bruno@clisp.org>
3951         nl_langinfo tests: Fix link error (regression from 2019-12-18).
3952         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
3953         with $(LIB_SETLOCALE).
3955 2019-12-21  Bruno Haible  <bruno@clisp.org>
3957         threadlib: Remove unused dependency (left over from 2019-07-06).
3958         * modules/threadlib (Depends-on): Remove havelib.
3960 2019-12-21  Bruno Haible  <bruno@clisp.org>
3962         New convention for multithread-safety tests.
3963         * tests/test-setlocale_null-mt-one.c: Renamed from
3964         tests/test-setlocale_null-one.c.
3965         * tests/test-setlocale_null-mt-all.c: Renamed from
3966         tests/test-setlocale_null-all.c.
3967         * modules/setlocale-null-tests (Files, Makefile.am): Update.
3969 2019-12-21  Bruno Haible  <bruno@clisp.org>
3971         quotearg tests: Fix conflict with hard-locale tests.
3972         * tests/testlocale: Renamed from tests/locale.
3973         * modules/quotearg-tests (Files): Update.
3974         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
3976 2019-12-21  Bruno Haible  <bruno@clisp.org>
3978         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
3979         Reported by Daniel Richard G. in
3980         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
3981         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
3982         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
3983         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
3984         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
3985         alternative to PTHREAD_RWLOCK_INITIALIZER.
3986         * lib/glthread/lock.c: Likewise.
3988 2019-12-21  Bruno Haible  <bruno@clisp.org>
3990         memcmp tests: Work around the clang bug.
3991         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
3992         the clang optimization.
3994 2019-12-20  Bruno Haible  <bruno@clisp.org>
3996         localcharset: Add support for z/OS encoding names.
3997         * lib/localcharset.h: Mention which encodings are used as locale
3998         encodings on z/OS.
4000 2019-12-20  Bruno Haible  <bruno@clisp.org>
4002         iconv_open: Add support for z/OS encoding names.
4003         Reported by Daniel Richard G. in
4004         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
4005         * lib/iconv_open-zos.gperf: New file.
4006         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
4007         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
4008         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
4009         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
4010         * doc/posix-functions/iconv_open.texi: Mention z/OS.
4012 2019-12-20  Bruno Haible  <bruno@clisp.org>
4014         doc: Document the problem of the per-thread locale functions on z/OS.
4015         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
4016         * doc/posix-functions/newlocale.texi: Likewise.
4017         * doc/posix-functions/duplocale.texi: Likewise.
4018         * doc/posix-functions/freelocale.texi: Likewise.
4020 2019-12-20  Bruno Haible  <bruno@clisp.org>
4022         localename, gettext: Fix host_os value for z/OS.
4023         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
4024         cross-configuration code.
4026 2019-12-19  Jim Meyering  <meyering@fb.com>
4028         nstrftime: avoid a shadowing warning
4029         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
4030         to avoid shadowing an "i" declared hundreds of lines above.
4032 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
4034         dfa: struct dfamust now uses flexible array
4035         * lib/dfa.c: Include flexmember.h.
4036         (dfamust, dfamustfree): Adjust to struct dfamust change.
4037         This saves a call to malloc+free.
4038         * lib/dfa.h (struct dfamust): Make the final member a
4039         flexible array member.
4040         * modules/dfa (Depends-on): Add flexmember.
4042         dfa: fast->small for array elements
4043         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
4044         since this type is used in arrays.  This change is more for
4045         documentation than for any practical effect, since the two types
4046         are the same on all known platforms.
4048 2019-12-19  Bruno Haible  <bruno@clisp.org>
4050         iconv tests: Test canonicalized, not system-dependent, encoding names.
4051         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
4052         * modules/iconv-tests (Depends-on): Add iconv_open.
4054 2019-12-18  Bruno Haible  <bruno@clisp.org>
4056         localename: Fix test failure on AIX 7.2.
4057         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
4058         locales on AIX.
4059         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
4060         locales on AIX.
4062 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4064         Improve port of AC_C_RESTRICT to Oracle C++
4065         Problem reported by Christian Biesinger in:
4066         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
4067         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
4068         Oracle Developer Studio C++ 12.5 or later.
4070 2019-12-18  Bruno Haible  <bruno@clisp.org>
4072         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
4073         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
4075 2019-12-18  Bruno Haible  <bruno@clisp.org>
4077         localename: Ensure multithread-safety in future changes.
4078         * lib/localename.c (setlocale): Reference the system's setlocale().
4079         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
4080         (gl_locale_name_posix): Likewise.
4081         * modules/localename (Depends-on): Add setlocale-null.
4083 2019-12-18  Bruno Haible  <bruno@clisp.org>
4085         setlocale-null: Make API more useful.
4086         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
4087         callers changed.
4088         (setlocale_null): New declaration.
4089         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
4090         extracted from setlocale_null_unlocked.
4091         (setlocale_null_unlocked): Invoke it.
4092         (setlocale_null_r): Renamed from setlocale_null.
4093         (setlocale_null): New function, extracted from setlocale_mtsafe in
4094         setlocale.c.
4095         * lib/setlocale.c: Don't include <errno.h>.
4096         (setlocale_mtsafe): Invoke setlocale_null.
4097         * lib/setlocale-lock.c: Update comments.
4098         * doc/posix-functions/setlocale.texi: Mention both functions.
4100 2019-12-18  Bruno Haible  <bruno@clisp.org>
4102         localename: Optimize code for native Windows.
4103         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
4104         category (not allowed here).
4106 2019-12-18  Bruno Haible  <bruno@clisp.org>
4108         setlocale: Make calls with NULL argument multithread-safe.
4109         * lib/setlocale.c: Include <errno.h>.
4110         (setlocale_mtsafe): New function.
4111         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
4112         (setlocale_improved): Renamed from rpl_setlocale.
4113         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
4114         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
4115         LIB_SETLOCALE.
4116         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
4117         (Link): New section.
4118         * tests/locale.c: Undefine setlocale.
4119         * tests/test-setlocale_null-one.c: Likewise.
4120         * tests/test-setlocale_null-all.c: Likewise.
4121         * modules/setlocale-tests (Makefile.am): Link the test programs with
4122         $(LIB_SETLOCALE).
4123         * modules/astrxfrm-tests (Makefile.am): Likewise.
4124         * modules/btowc-tests (Makefile.am): Likewise.
4125         * modules/c-ctype-tests (Makefile.am): Likewise.
4126         * modules/c-snprintf-tests (Makefile.am): Likewise.
4127         * modules/c-strcase-tests (Makefile.am): Likewise.
4128         * modules/c-vasprintf-tests (Makefile.am): Likewise.
4129         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
4130         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
4131         * modules/dfa-tests (Makefile.am): Likewise.
4132         * modules/duplocale-tests (Makefile.am): Likewise.
4133         * modules/hard-locale-tests (Makefile.am): Likewise.
4134         * modules/localcharset-tests (Makefile.am): Likewise.
4135         * modules/localename-tests (Makefile.am): Likewise.
4136         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
4137         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
4138         * modules/mbrtowc-tests (Makefile.am): Likewise.
4139         * modules/mbscasecmp-tests (Makefile.am): Likewise.
4140         * modules/mbscasestr-tests (Makefile.am): Likewise.
4141         * modules/mbschr-tests (Makefile.am): Likewise.
4142         * modules/mbscspn-tests (Makefile.am): Likewise.
4143         * modules/mbsinit-tests (Makefile.am): Likewise.
4144         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
4145         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
4146         * modules/mbspbrk-tests (Makefile.am): Likewise.
4147         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
4148         * modules/mbsrchr-tests (Makefile.am): Likewise.
4149         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
4150         * modules/mbsspn-tests (Makefile.am): Likewise.
4151         * modules/mbsstr-tests (Makefile.am): Likewise.
4152         * modules/nl_langinfo-tests (Makefile.am): Likewise.
4153         * modules/quotearg-tests (Makefile.am): Likewise.
4154         * modules/regex-tests (Makefile.am): Likewise.
4155         * modules/strfmon_l-tests (Makefile.am): Likewise.
4156         * modules/strtod-tests (Makefile.am): Likewise.
4157         * modules/strtold-tests (Makefile.am): Likewise.
4158         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
4159         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
4160         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
4161         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
4162         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
4163         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
4164         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
4165         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
4166         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
4167         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
4168         * modules/wcrtomb-tests (Makefile.am): Likewise.
4169         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
4170         * modules/wcsrtombs-tests (Makefile.am): Likewise.
4171         * modules/wcwidth-tests (Makefile.am): Likewise.
4172         * doc/posix-functions/setlocale.texi: Mention that the multithread-
4173         safety fix is also available in module 'setlocale'.
4175 2019-12-18  Bruno Haible  <bruno@clisp.org>
4177         hard-locale: Make multithread-safe.
4178         * lib/hard-locale.h (hard_locale): Move documentation to here.
4179         * lib/hard-locale.c: Don't include <stdlib.h>.
4180         (GLIBC_VERSION): Remove macro.
4181         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
4182         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
4183         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
4184         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
4185         (Link): New section.
4186         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
4187         $(LIB_HARD_LOCALE).
4189 2019-12-18  Bruno Haible  <bruno@clisp.org>
4191         hard-locale: Avoid test failure on Haiku.
4192         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
4194 2019-12-18  Bruno Haible  <bruno@clisp.org>
4196         setlocale-null: Handle NULL result from setlocale.
4197         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
4198         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
4199         from setlocale or _wsetlocale.
4201 2019-12-18  Bruno Haible  <bruno@clisp.org>
4203         hard-locale: Add test.
4204         * tests/test-hard-locale.c: New file.
4205         * tests/locale.c: New file.
4206         * modules/hard-locale-tests: New file.
4208 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
4210         dfa: do not match invalid UTF-8
4211         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
4212         from 5 to 9 tokens; this is needed due to the changes to
4213         add_utf8_anychar.
4214         (charclass_index): 2nd arg is now pointer-to-const.
4215         (add_utf8_anychar): Match only valid UTF-8 byte sequences
4216         instead of allowing overlong encodings or surrogate halves.
4218         dfa: simplify charclass by assuming C99
4219         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
4220         (charclass_word): Now always uint_fast64_t.
4221         (CHARCLASS_PAIR): Remove.
4222         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
4224         fts: tune via calloc
4225         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
4227         dfa: tune via xzalloc
4228         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
4230 2019-12-17  Bruno Haible  <bruno@clisp.org>
4232         localcharset: Fix multithread-safety bug on Windows and OS/2.
4233         * lib/localcharset.h (locale_charset): Clarify when the result becomes
4234         invalid.
4235         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
4236         assemble the result.
4238 2019-12-17  Bruno Haible  <bruno@clisp.org>
4240         localcharset: Optimize code for native Windows.
4241         * lib/localcharset.c (locale_charset): Don't bother calling
4242         setlocale (LC_ALL, NULL) since we're not interested in its result.
4244 2019-12-17  Bruno Haible  <bruno@clisp.org>
4246         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
4247         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
4248         setlocale.
4249         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
4250         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
4251         * modules/nl_langinfo (Depends-on): Add setlocale-null.
4253 2019-12-17  Bruno Haible  <bruno@clisp.org>
4255         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
4256         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
4257         stack-allocated buffer to assemble each result and different static
4258         buffers to return it.
4259         * tests/test-nl_langinfo-mt.c: New file.
4260         * modules/nl_langinfo-tests (Files): Add it.
4261         (Depends-on): Add thread, nanosleep.
4262         (Makefile.am): Build test-nl_langinfo-mt test.
4264 2019-12-17  Bruno Haible  <bruno@clisp.org>
4266         langinfo: Document more details.
4267         * doc/posix-headers/langinfo.texi: List platform details.
4268         * doc/posix-functions/nl_langinfo.texi: Likewise.
4270 2019-12-17  Bruno Haible  <bruno@clisp.org>
4272         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
4273         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
4274         and Martin Storsjö <martin@martin.st>
4275         in <https://savannah.gnu.org/bugs/?57406>.
4276         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
4277         mingw.
4279 2019-12-17  Bruno Haible  <bruno@clisp.org>
4281         glob: Avoid warning on mingw.
4282         Reported by Christian Biesinger <cbiesinger@google.com> in
4283         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
4284         * lib/glob.c (__stat64): Undefine first.
4286 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
4288         xalloc: tune xzalloc for fresh allocations
4289         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
4290         because when the memory is freshly allocated from the OS via sbrk
4291         or mmap, calloc can avoid doing the memset.
4293         dfa: new function dfacopysyntax
4294         * lib/dfa.c (struct dfa): Move syntax member later so
4295         that dfacopysyntax can easily clear earlier members.
4296         (dfacopysyntax): New function, used by Gawk.
4298 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
4300         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
4301         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
4302         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
4303         if not already defined.
4305         dfa: remove one dependency on MB_CUR_MAX
4306         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
4308         dfa: remove struct lexer_state.cur_mb_len
4309         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
4310         as it’s not needed and the code is simpler without it.
4311         All uses removed.
4313 2019-12-16  Bruno Haible  <bruno@clisp.org>
4315         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
4316         Reported by Arnold Robbins <arnold@skeeve.com>.
4317         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
4318         copied from lib/glthread/lock.h.
4319         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
4320         (setlocale_null_with_lock): If pthread_in_use() is false, use
4321         setlocale_null_unlocked directly.
4322         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
4323         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
4324         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
4325         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
4326         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
4327         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
4329 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
4331         dfa: make dfasyntax thread-safe
4332         Problem reported by Bruno Haible in:
4333         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
4334         * lib/dfa.c: Do not include locale.h.
4335         (struct dfa): Remove simple_locale member.
4336         All uses replaced by localeinfo.simple.
4337         (using_simple_locale): Remove; now present (with some
4338         changes) in localeinfo.c.
4339         (dfasyntax): No need to initialize removed member.
4341         localeinfo: record whether locale is simple
4342         * lib/localeinfo.c (using_simple_locale): New function,
4343         copied here from lib/dfa.c but with a change: it uses
4344         strcoll for its heuristic, instead of using setlocale.
4345         This lets it be thread-safe.
4346         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
4348 2019-12-15  Bruno Haible  <bruno@clisp.org>
4350         duplocale: Fix multithread-safety bug on AIX.
4351         * lib/duplocale.c: Don't include <stdlib.h>.
4352         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
4353         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
4354         Set LIB_DUPLOCALE.
4355         * modules/duplocale (Depends-on): Add setlocale-null.
4356         (Link): New section.
4357         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
4358         $(LIB_DUPLOCALE).
4360 2019-12-15  Bruno Haible  <bruno@clisp.org>
4362         setlocale-null: Add tests.
4363         * tests/test-setlocale_null.c: New file.
4364         * tests/test-setlocale_null-one.c: New file.
4365         * tests/test-setlocale_null-all.c: New file.
4366         * modules/setlocale-null-tests: New file.
4368         setlocale-null: New module.
4369         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
4370         setlocale_null): New declarations.
4371         * lib/setlocale_null.c: New file.
4372         * lib/setlocale-lock.c: New file.
4373         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
4374         * m4/setlocale_null.m4: New file.
4375         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
4376         GNULIB_SETLOCALE_NULL.
4377         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
4378         * modules/setlocale-null: New file.
4379         * doc/posix-functions/setlocale.texi: Mention the new module.
4381 2019-12-15  Bruno Haible  <bruno@clisp.org>
4383         lock tests: Skip test when no multithreading is enabled.
4384         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
4386 2019-12-14  Bruno Haible  <bruno@clisp.org>
4388         locale, duplocale, localename: Fix last patch.
4389         Reported by Daniel Richard G. in
4390         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
4391         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
4392         Don't define if locale_t does not exist.
4394 2019-12-13  Bruno Haible  <bruno@clisp.org>
4396         locale, duplocale, localename: Fix errors if locale_t does not exist.
4397         Reported by Daniel Richard G. in
4398         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
4399         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
4400         macros.
4401         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
4402         HAVE_NEWLOCALE.
4403         * tests/test-localename.c: Likewise.
4404         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
4405         HAVE_DUPLOCALE.
4406         * tests/test-locale-c++.cc: Likewise.
4408 2019-12-13  Bruno Haible  <bruno@clisp.org>
4410         wcstok: Fix test failure on HP-UX.
4411         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
4412         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
4414 2019-12-12  Bruno Haible  <bruno@clisp.org>
4416         strtod, strtold tests: Avoid test failure on AIX 7.2.
4417         * tests/test-strtod1.c (main): Allow implementations in which ',' and
4418         '.' both are radix characters.
4419         * tests/test-strtold1.c (main): Likewise.
4421 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4423         dfa: prefer ptrdiff_t for API, too
4424         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
4425         but do this only for internal use for now.
4426         * NEWS: Mention the API change.
4427         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
4428         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
4429         values known to be nonnegative.
4430         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
4431         Prefer idx_t or ptrdiff_t to size_t for API.
4432         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
4433         Prefer ptrdiff_t to size_t for API.
4435         stdalign: port to xlclang 16.01
4436         Problem reportd by Bruno Haible in:
4437         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
4438         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
4439         ((__aligned__ (...))) with xlclang, as a top-level
4440         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
4441         xlclang version 16.01.0000.0001; the alignment directive is ignored.
4443 2019-12-12  Bruno Haible  <bruno@clisp.org>
4445         duplocale: Fix test failure on AIX 7.2 with xlclang.
4446         * lib/duplocale.c: Include <stdlib.h>.
4447         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
4448         value.
4450 2019-12-12  Bruno Haible  <bruno@clisp.org>
4452         stddef: Document the AIX xlc issue.
4453         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
4455 2019-12-12  Bruno Haible  <bruno@clisp.org>
4457         duplocale: Don't attempt to override if locale_t does not exist.
4458         Reported by Daniel Richard G. in
4459         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
4460         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
4461         HAVE_DUPLOCALE to 0.
4463 2019-12-12  Bruno Haible  <bruno@clisp.org>
4465         wcwidth: Avoid test failure on AIX 7.2.
4466         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
4467         negative.
4468         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
4470 2019-12-12  Bruno Haible  <bruno@clisp.org>
4472         ilogbl: Work around Cygwin bug.
4473         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
4474         correct.
4475         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
4477 2019-12-12  Bruno Haible  <bruno@clisp.org>
4479         strtold: Work around Cygwin bug.
4480         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
4481         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
4482         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
4483         STRTOLD_HAS_UNDERFLOW_BUG is defined.
4484         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
4486 2019-12-12  Bruno Haible  <bruno@clisp.org>
4488         strtold: Fix autoconf test.
4489         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
4491 2019-12-11  Bruno Haible  <bruno@clisp.org>
4493         fsync tests: Skip test that is known to fail.
4494         * doc/posix-functions/fsync.texi: Update list of platforms.
4495         * tests/test-fsync.c (main): Skip test with read-only file descriptors
4496         that is known to fail on AIX and Cygwin.
4498 2019-12-11  Bruno Haible  <bruno@clisp.org>
4500         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
4501         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
4502         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
4503         HAVE_GETADDRINFO as a C macro.
4504         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
4505         declare as replacement functions.
4506         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
4507         define as no-op overrides.
4508         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
4509         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
4510         * modules/getaddrinfo (Depends-on, configure.ac): Test
4511         REPLACE_GETADDRINFO.
4512         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
4513         problem.
4514         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
4515         convention problems.
4517 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
4519         dfa: prefer signed integers for internals
4520         Signed integers can be checked more easily for integer overflow.
4521         * lib/dfa.c (position, struct lexer_state, struct parser_state)
4522         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
4523         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
4524         (nsubtoks, copytoks, closure, alloc_position_set, delete)
4525         (replace, state_index, epsclosure, charclass_context)
4526         (state_separate_contexts, merge_nfa_state, dfaoptimize)
4527         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
4528         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
4529         (comsubs, inboth, allocmust):
4530         Prefer a signed to an unsigned integer when calculating indexes,
4531         unless the integer is part of the external API (a bigger deal,
4532         and to be done later).
4534         dfa: fix index overflow
4535         * lib/dfa.c (compare): Avoid integer overflow when analyzing
4536         very large regular expressions.
4538         dfa: update commentary for previous change
4539         * NEWS: Mention the change.
4540         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
4542 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4544         dfa: separate parse and compile phase
4545         ‘dfamust’ must be called after parsing and before tokens are
4546         reordered, but both are executed in the compilation phase.
4547         Token reordering was introduced in Gnulib commit
4548         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
4549         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
4550         * lib/dfa.c (dfaparse): Change it to global function.
4551         (dfacomp): If first argument is NULL, skip parse.
4552         * lib/dfa.h: (dfaparse): Add a prototype.
4554 2019-12-11  Bruno Haible  <bruno@clisp.org>
4556         unistd tests: Fix link error on MSVC.
4557         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
4558         $(LIB_GETLOGIN).
4560 2019-12-11  Bruno Haible  <bruno@clisp.org>
4562         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
4563         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
4564         and POSIX substitutes are supported in C++ mode.
4565         * NEWS: Likewise.
4567 2019-12-11  Bruno Haible  <bruno@clisp.org>
4569         stddef: Fix compilation error in C++ mode on MSVC.
4570         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
4571         instead, include <cstddef>.
4573 2019-12-11  Bruno Haible  <bruno@clisp.org>
4575         unistd: Fix compilation error in C++ mode on MSVC.
4576         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
4577         does not have <unistd.h>.
4579 2019-12-11  Bruno Haible  <bruno@clisp.org>
4581         locale: Fix compilation error in C++ mode on MSVC.
4582         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
4583         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
4584         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
4585         int_n_sep_by_space): Define as macros on MSVC.
4587 2019-12-11  Bruno Haible  <bruno@clisp.org>
4589         wchar: Fix compilation error in C++ mode on MSVC.
4590         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
4592 2019-12-11  Bruno Haible  <bruno@clisp.org>
4594         pthread-thread: Fix compilation error in C++ mode on MSVC.
4595         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
4596         _GL_CXXALIAS_RPL invocation.
4598 2019-12-08  Bruno Haible  <bruno@clisp.org>
4600         Fix compilation errors in C++ mode on Haiku.
4601         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
4602         non-glibc systems.
4603         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
4604         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
4605         posix_spawnattr_setschedparam): Likewise.
4606         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
4607         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4608         * lib/unistd.in.h (usleep): Likewise.
4610 2019-12-08  Bruno Haible  <bruno@clisp.org>
4612         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
4613         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
4614         * modules/fseeko (configure.ac-early): Require it instead of
4615         AC_FUNC_FSEEKO.
4616         * modules/ftello (configure.ac-early): Likewise.
4617         * modules/fflush (configure.ac-early): Likewise.
4619 2019-12-08  Bruno Haible  <bruno@clisp.org>
4621         Fix compilation error in C++ mode on HP-UX 11.
4622         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
4623         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
4625 2019-12-08  Bruno Haible  <bruno@clisp.org>
4627         Fix compilation errors on HP-UX 11/ia64.
4628         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
4629         _GL_FUNCDECL_SYS.
4631 2019-12-08  Bruno Haible  <bruno@clisp.org>
4633         Fix compilation error in C++ mode on OpenBSD.
4634         * lib/signal.in.h (signal): Declare on OpenBSD.
4636 2019-12-08  Bruno Haible  <bruno@clisp.org>
4638         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
4639         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
4640         instead of #error.
4642 2019-12-08  Bruno Haible  <bruno@clisp.org>
4644         Fix compilation errors in C++ mode on FreeBSD.
4645         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
4646         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
4647         * lib/threads.in.h (thrd_exit): Likewise.
4648         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
4650 2019-12-08  Bruno Haible  <bruno@clisp.org>
4652         Fix compilation errors in C++ mode on macOS and FreeBSD.
4653         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
4654         or FreeBSD with clang, use the approach without C preprocessor macro.
4656 2019-12-07  Bruno Haible  <bruno@clisp.org>
4658         Fix compilation errors in C++ mode on AIX with xlclang++.
4659         Reported by Christian Biesinger <cbiesinger@google.com> in
4660         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
4661         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
4663 2019-12-07  Bruno Haible  <bruno@clisp.org>
4665         Document compilation error in C++ mode on NetBSD 8.0.
4666         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
4668 2019-12-07  Bruno Haible  <bruno@clisp.org>
4670         Fix compilation errors in C++ mode on Solaris 10.
4671         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
4672         to non-empty on Solaris with a non-GCC compiler.
4673         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
4675 2019-12-07  Bruno Haible  <bruno@clisp.org>
4677         Reword NEWS entry.
4678         * NEWS: Reword the latest NEWS entry.
4680 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
4682         Move xstrtol_fatal to a new xstrtol-error module.
4683         * lib/xstrtol.h: Stop including <getopt.h>.
4684         (xstrtol_fatal): Move ...
4685         * lib/xstrtol-error.h: ... here.  New file.
4686         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
4687         * tests/test-xstrtol.c: Likewise.
4688         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
4689         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
4690         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
4691         * modules/xstrtol-error: New file.
4692         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
4693         * MODULES.html.sh: Add xstrtol-error.
4694         * NEWS: Document the change.
4696 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
4698         nstrftime: better width support for %N, %z
4699         * lib/nstrftime.c (width_add, width_add1, width_cpy):
4700         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
4701         a new WIDTH parameter.
4702         (add, add1, cpy): Use these macros.
4703         (width_add): Do not treat digits == 0 as a special case,
4704         do not pad if padding is ‘-’, and do not use a negative width.
4705         (__strftime_internal): Redo formatting of nanoseconds and numeric
4706         timezones to avoid buffer misuse in unusual cases, and so that
4707         widths make more sense.  Add support for widths greater than 9 to
4708         the %N format; they are zero filled on the right.
4709         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
4711 2019-12-05  Bruno Haible  <bruno@clisp.org>
4713         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
4714         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
4715         set REPLACE_ISFINITE to 1.
4716         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
4717         REPLACE_ISINF to 1.
4718         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
4719         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
4720         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
4721         * lib/threads.in.h (call_once): Likewise.
4722         * lib/iconv.in.h (iconv): Likewise.
4724 2019-12-05  Bruno Haible  <bruno@clisp.org>
4726         wchar: Add more C++ tests.
4727         Reported by Christian Biesinger <cbiesinger@google.com> in
4728         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
4729         * tests/test-wchar-c++3.cc: New file.
4730         * modules/wchar-c++-tests (Files): Add it.
4731         (Makefile.am): Compile it.
4733 2019-12-05  Bruno Haible  <bruno@clisp.org>
4735         Add more C++ tests.
4737         assert-h: Add C++ tests.
4738         * tests/test-assert-h-c++.cc: New file.
4739         * tests/test-assert-h-c++2.cc: New file.
4740         * modules/assert-h-c++-tests: New file.
4741         * modules/assert-h-tests: New file.
4743         ctype: Add C++ tests.
4744         * tests/test-ctype-c++.cc: New file.
4745         * tests/test-ctype-c++2.cc: New file.
4746         * modules/ctype-c++-tests: New file.
4747         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
4749         errno: Add C++ tests.
4750         * tests/test-errno-c++.cc: New file.
4751         * tests/test-errno-c++2.cc: New file.
4752         * modules/errno-c++-tests: New file.
4753         * modules/errno-tests (Depends-on): Add errno-c++-tests.
4755         float: Add C++ tests.
4756         * tests/test-float-c++.cc: New file.
4757         * tests/test-float-c++2.cc: New file.
4758         * modules/float-c++-tests: New file.
4759         * modules/float-tests (Depends-on): Add float-c++-tests.
4761         inttypes: Add more C++ tests.
4762         * tests/test-inttypes-c++2.cc: New file.
4763         * modules/inttypes-c++-tests (Files): Add it.
4764         (Makefile.am): Compile it.
4766         limits-h: Add C++ tests.
4767         * tests/test-limits-h-c++.cc: New file.
4768         * tests/test-limits-h-c++2.cc: New file.
4769         * modules/limits-h-c++-tests: New file.
4770         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
4772         stdarg: Add C++ tests.
4773         * tests/test-stdarg-c++.cc: New file.
4774         * tests/test-stdarg-c++2.cc: New file.
4775         * modules/stdarg-c++-tests: New file.
4776         * modules/stdarg-tests: New file.
4778         stdbool: Add C++ tests.
4779         * tests/test-stdbool-c++.cc: New file.
4780         * tests/test-stdbool-c++2.cc: New file.
4781         * modules/stdbool-c++-tests: New file.
4782         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
4784         stddef: Add C++ tests.
4785         * tests/test-stddef-c++.cc: New file.
4786         * tests/test-stddef-c++2.cc: New file.
4787         * modules/stddef-c++-tests: New file.
4788         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
4790         stdint: Add C++ tests.
4791         * tests/test-stdint-c++.cc: New file.
4792         * tests/test-stdint-c++2.cc: New file.
4793         * modules/stdint-c++-tests: New file.
4794         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
4796         wchar: Add more C++ tests.
4797         * tests/test-wchar-c++2.cc: New file.
4798         * modules/wchar-c++-tests (Files): Add it.
4799         (Makefile.am): Compile it.
4801         wctype-h: Add more C++ tests.
4802         * tests/test-wctype-h-c++2.cc: New file.
4803         * modules/wctype-h-c++-tests (Files): Add it.
4804         (Makefile.am): Compile it.
4806 2019-12-04  Bruno Haible  <bruno@clisp.org>
4808         Fix compilation errors in C++ mode with xlclang++ on AIX.
4809         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
4810         C++ mode on AIX.
4811         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
4812         without C preprocessor macro.
4813         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
4814         _GL_CXXALIAS_SYS.
4815         * lib/threads.in.h (thrd_exit): Likewise.
4817 2019-12-04  Bruno Haible  <bruno@clisp.org>
4819         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
4820         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
4821         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
4823 2019-12-04  Bruno Haible  <bruno@clisp.org>
4825         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
4826         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
4827         _GL_CXXALIASWARN invocation on non-glibc systems.
4828         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
4829         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
4830         iswctype, towlower, towupper): Likewise.
4832 2019-12-03  Bruno Haible  <bruno@clisp.org>
4834         Avoid hassles caused by [[noreturn]] in C++.
4835         Reported by Christian Biesinger <cbiesinger@google.com> in
4836         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
4837         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
4838         * lib/_Noreturn.h: Likewise.
4840 2019-12-02  Bruno Haible  <bruno@clisp.org>
4842         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
4843         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
4844         LIBMULTITHREAD.
4845         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
4846         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
4847         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
4848         gl_THREADLIB.
4849         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
4851 2019-12-02  Bruno Haible  <bruno@clisp.org>
4853         Fix some more link errors with --enable-threads=isoc.
4854         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
4855         * modules/pthread-rwlock (Depends-on): Likewise.
4857 2019-12-02  Bruno Haible  <bruno@clisp.org>
4859         Fix link errors with --enable-threads=posix on AIX.
4860         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
4861         program with $(LIBTHREAD).
4862         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
4863         program with $(LIBTHREAD).
4865 2019-12-02  Bruno Haible  <bruno@clisp.org>
4867         Fix link errors with --enable-threads=posix on AIX.
4868         * modules/mbrtowc (Link): New section.
4869         * modules/acl (Link): Likewise.
4870         * modules/argmatch (Link): Likewise.
4871         * modules/backup-rename (Link): Likewise.
4872         * modules/backupfile (Link): Likewise.
4873         * modules/closein (Link): Likewise.
4874         * modules/closeout (Link): Likewise.
4875         * modules/copy-file (Link): Likewise.
4876         * modules/csharpcomp (Link): Likewise.
4877         * modules/csharpexec (Link): Likewise.
4878         * modules/dfa (Link): Likewise.
4879         * modules/exclude (Link): Likewise.
4880         * modules/fnmatch (Link): Likewise.
4881         * modules/fnmatch-gnu (Link): Likewise.
4882         * modules/fnmatch-posix (Link): Likewise.
4883         * modules/glob (Link): Likewise.
4884         * modules/human (Link): Likewise.
4885         * modules/javacomp (Link): Likewise.
4886         * modules/javaexec (Link): Likewise.
4887         * modules/javaversion (Link): Likewise.
4888         * modules/mbfile (Link): Likewise.
4889         * modules/mbiter (Link): Likewise.
4890         * modules/mbmemcasecmp (Link): Likewise.
4891         * modules/mbmemcasecoll (Link): Likewise.
4892         * modules/mbrlen (Link): Likewise.
4893         * modules/mbscasecmp (Link): Likewise.
4894         * modules/mbscasestr (Link): Likewise.
4895         * modules/mbschr (Link): Likewise.
4896         * modules/mbscspn (Link): Likewise.
4897         * modules/mbsinit (Link): Likewise.
4898         * modules/mbslen (Link): Likewise.
4899         * modules/mbsncasecmp (Link): Likewise.
4900         * modules/mbsnlen (Link): Likewise.
4901         * modules/mbsnrtowcs (Link): Likewise.
4902         * modules/mbspbrk (Link): Likewise.
4903         * modules/mbspcasecmp (Link): Likewise.
4904         * modules/mbsrchr (Link): Likewise.
4905         * modules/mbsrtowcs (Link): Likewise.
4906         * modules/mbssep (Link): Likewise.
4907         * modules/mbsspn (Link): Likewise.
4908         * modules/mbsstr (Link): Likewise.
4909         * modules/mbstok_r (Link): Likewise.
4910         * modules/mbswidth (Link): Likewise.
4911         * modules/mbuiter (Link): Likewise.
4912         * modules/mkdir-p (Link): Likewise.
4913         * modules/propername (Link): Likewise.
4914         * modules/quote (Link): Likewise.
4915         * modules/quotearg (Link): Likewise.
4916         * modules/quotearg-simple (Link): Likewise.
4917         * modules/regex-quote (Link): Likewise.
4918         * modules/rpmatch (Link): Likewise.
4919         * modules/sh-quote (Link): Likewise.
4920         * modules/system-quote (Link): Likewise.
4921         * modules/trim (Link): Likewise.
4922         * modules/unistdio/ulc-asnprintf (Link): Likewise.
4923         * modules/unistdio/ulc-fprintf (Link): Likewise.
4924         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
4925         * modules/unistdio/ulc-vasprintf (Link): Likewise.
4926         * modules/unistdio/ulc-vfprintf (Link): Likewise.
4927         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
4928         * modules/unistdio/ulc-vsprintf (Link): Likewise.
4929         * modules/xfreopen (Link): Likewise.
4930         * modules/xmemcoll (Link): Likewise.
4931         * modules/yesno (Link): Likewise.
4932         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
4933         * modules/argmatch-tests (Makefile.am): Likewise.
4934         * modules/closein-tests (Makefile.am): Likewise.
4935         * modules/copy-file-tests (Makefile.am): Likewise.
4936         * modules/dfa-tests (Makefile.am): Likewise.
4937         * modules/fnmatch-tests (Makefile.am): Likewise.
4938         * modules/glob-tests (Makefile.am): Likewise.
4939         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
4940         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
4941         * modules/mbrtowc-tests (Makefile.am): Likewise.
4942         * modules/mbscasecmp-tests (Makefile.am): Likewise.
4943         * modules/mbscasestr-tests (Makefile.am): Likewise.
4944         * modules/mbschr-tests (Makefile.am): Likewise.
4945         * modules/mbscspn-tests (Makefile.am): Likewise.
4946         * modules/mbsinit-tests (Makefile.am): Likewise.
4947         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
4948         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
4949         * modules/mbspbrk-tests (Makefile.am): Likewise.
4950         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
4951         * modules/mbsrchr-tests (Makefile.am): Likewise.
4952         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
4953         * modules/mbsspn-tests (Makefile.am): Likewise.
4954         * modules/mbsstr-tests (Makefile.am): Likewise.
4955         * modules/quotearg-tests (Makefile.am): Likewise.
4956         * modules/quotearg-simple-tests (Makefile.am): Likewise.
4957         * modules/readtokens-tests (Makefile.am): Likewise.
4958         * modules/regex-quote-tests (Makefile.am): Likewise.
4959         * modules/sh-quote-tests (Makefile.am): Likewise.
4960         * modules/system-quote-tests (Makefile.am): Likewise.
4961         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
4962         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
4963         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
4964         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
4965         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
4966         * modules/yesno-tests (Makefile.am): Likewise.
4968 2019-12-02  Bruno Haible  <bruno@clisp.org>
4970         Simplify link sections.
4971         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
4972         * modules/lock (Link): Likewise.
4973         * modules/cond (Link): Likewise.
4974         * modules/tls (Link): Likewise.
4975         * modules/yield (Link): Likewise.
4976         * modules/regex (Link): Likewise.
4977         * modules/localename (Link): Likewise.
4978         * modules/unicase/locale-language (Link): Likewise.
4979         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
4981 2019-12-02  Bruno Haible  <bruno@clisp.org>
4983         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
4984         * tests/test-thread_self.c (main): Disable test on AIX.
4986 2019-12-01  Bruno Haible  <bruno@clisp.org>
4988         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
4989         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
4990         gl_THREADLIB_EARLY_BODY.
4991         (gl_THREADLIB_EARLY_BODY): Invoke it.
4992         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
4993         (gl_THREADLIB_BODY): Invoke it.
4994         (gl_PTHREADLIB): New macro.
4995         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
4996         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
4997         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
4998         * modules/pthread-h (Files): Add threadlib.m4.
4999         (Depends-on): Remove threadlib.
5000         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
5001         and _THREAD_SAFE here.
5002         (Link): Use LIBPTHREAD, not LIBTHREAD.
5003         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
5004         LIBMULTITHREAD.
5005         * modules/pthread-once (Link): Likewise.
5006         * modules/pthread-mutex (Link): Likewise.
5007         * modules/pthread-rwlock (Link): Likewise.
5008         * modules/pthread-cond (Link): Likewise.
5009         * modules/pthread-tss (Link): Likewise.
5010         * modules/pthread-spin (Link): Likewise.
5011         * modules/pthread (Link): Likewise.
5012         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
5013         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
5014         * modules/pthread-once-tests (test_pthread_once1_LDADD,
5015         test_pthread_once2_LDADD): Likewise.
5016         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
5017         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
5018         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
5019         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
5021 2019-12-01  Bruno Haible  <bruno@clisp.org>
5023         cond: State linking requirements.
5024         * modules/cond (Link): New section.
5026 2019-12-01  Bruno Haible  <bruno@clisp.org>
5028         threadlib: Remove unnecessary file (left over from 2019-07-06).
5029         * modules/threadlib (Files): Remove config.rpath.
5031 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
5033         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
5034         Reported by Dagobert Michelsen <dam@opencsw.org> in
5035         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
5036         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
5037         list of strings instead of one string.
5038         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
5039         * pygnulib/GLImport.py (execute): Likewise.
5041 2019-11-27  Bruno Haible  <bruno@clisp.org>
5043         openpty, forkpty: Fix build error on Solaris 11.4.
5044         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
5045         also in <termios.h>.
5046         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
5047         of the function also in <termios.h>.
5048         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
5049         * doc/glibc-functions/forkpty.texi: Likewise.
5051 2019-11-27  Bruno Haible  <bruno@clisp.org>
5053         New options --enable-threads=isoc and --enable-threads=isoc+posix.
5054         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
5055         --enable-threads=isoc and --enable-threads=isoc+posix.
5056         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
5057         When both the ISO C and the POSIX threads API are available, choose
5058         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
5059         --enable-threads=isoc+posix was specified. When only the ISO C threads
5060         API is available and --enable-threads=iso was specified, choose
5061         USE_ISOC_THREADS.
5062         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
5063         USE_ISOC_AND_POSIX_THREADS.
5064         * lib/glthread/lock.c: Likewise.
5065         * lib/glthread/cond.h: Likewise.
5066         * lib/glthread/cond.c: Likewise.
5067         * lib/glthread/tls.h: Likewise.
5068         * lib/glthread/tls.c: Likewise.
5069         * lib/glthread/yield.h: Likewise.
5070         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
5071         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
5072         * lib/glthread/thread.c: Likewise.
5073         * lib/glthread/threadlib.c: Likewise.
5074         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
5075         USE_ISOC_AND_POSIX_THREADS.
5076         * tests/test-cond.c: Consider USE_ISOC_THREADS and
5077         USE_ISOC_AND_POSIX_THREADS.
5078         * tests/test-tls.c: Likewise.
5079         * tests/test-thread_create.c (main): Likewise.
5080         * tests/test-pthread-cond.c: Likewise.
5081         * tests/test-pthread-mutex.c: Likewise.
5082         * tests/test-pthread-once2.c: Likewise.
5083         * tests/test-pthread-rwlock.c: Likewise.
5084         * tests/test-pthread-tss.c: Likewise.
5085         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
5086         USE_POSIX_THREADS.
5088 2019-11-24  Bruno Haible  <bruno@clisp.org>
5090         mbrtowc: Modernize autoconf test.
5091         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
5092         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
5093         try a UTF-8 locale.
5094         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
5096 2019-11-24  Bruno Haible  <bruno@clisp.org>
5098         Fix errors in C++ mode on mingw.
5099         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
5100         instead of _GL_CXXALIAS_SYS.
5101         * lib/signal.in.h (pthread_sigmask): Likewise.
5102         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
5103         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5104         Likewise.
5105         * lib/wchar.in.h (btowc): Likewise.
5107 2019-11-24  Bruno Haible  <bruno@clisp.org>
5109         sys_time: Fix errors in C++ mode on mingw.
5110         * lib/sys_time.in.h (timeval): Restore the redirection
5111         '#define timeval rpl_timeval', for when the symbol timeval is being used
5112         outside the 'gnulib' namespace.
5113         * lib/sys_select.in.h (select): In C++, write 'timeval', not
5114         'struct timeval'.
5116 2019-11-24  Bruno Haible  <bruno@clisp.org>
5118         iswctype: Fix errors in C++ mode on mingw.
5119         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
5120         is 1.
5121         * lib/iswctype.c (iswctype): Add another implementation, for the
5122         GNULIB_defined_wint_t case.
5123         * modules/iswctype (configure.ac): Compile iswctype.c also if
5124         GNULIB_OVERRIDES_WINT_T is 1.
5126 2019-11-24  Bruno Haible  <bruno@clisp.org>
5128         windows-timedmutex: Fix errors in C++ mode on mingw.
5129         * lib/windows-timedmutex.h: Add closing brace.
5131 2019-11-24  Bruno Haible  <bruno@clisp.org>
5133         Fix errors in C++ mode on Cygwin.
5134         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
5135         _GL_CXXALIAS_SYS.
5137 2019-11-24  Bruno Haible  <bruno@clisp.org>
5139         time_r: Fix for mingw (regression from 2019-11-16).
5140         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
5141         AC_LINK_IFELSE test only if the function does not appear to exist.
5143 2019-11-24  Bruno Haible  <bruno@clisp.org>
5145         wcstok: Add tests.
5146         * tests/test-wcstok.c: New file.
5147         * modules/wcstok-tests: New file.
5149 2019-11-24  Bruno Haible  <bruno@clisp.org>
5151         wcstok: Work around wrong signature on native Windows.
5152         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
5153         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
5154         REPLACE_WCSTOK.
5155         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
5156         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
5157         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
5158         * doc/posix-functions/wcstok.texi: Mention the problem.
5160 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
5162         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
5163         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
5164         remove workaround for GCC bug 91450 as the bug should be fixed
5165         there too.
5167 2019-11-21  Bruno Haible  <bruno@clisp.org>
5169         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
5170         Reported by Christian Biesinger <cbiesinger@google.com> in
5171         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
5172         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
5173         non-glibc systems.
5174         * lib/locale.in.h (localeconv, setlocale): Likewise.
5175         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
5176         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
5177         rint, round, trunc): Likewise.
5178         * lib/monetary.in.h (strfmon_l): Likewise.
5179         * lib/pthread.in.h (pthread_mutexattr_getrobust,
5180         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
5181         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
5182         pthread_spin_destroy): Likewise.
5183         * lib/signal.in.h (raise, signal): Likewise.
5184         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
5185         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
5186         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
5187         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
5188         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
5189         Likewise.
5190         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
5191         Likewise.
5192         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
5193         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
5194         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
5195         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
5196         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
5197         wcsftime): Likewise.
5198         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
5200 2019-11-21  Bruno Haible  <bruno@clisp.org>
5202         Fix various errors in _GL_CXXALIAS_SYS invocations.
5203         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
5204         _GL_CXXALIAS_SYS.
5205         * lib/pthread.in.h (pthread_mutexattr_gettype,
5206         pthread_mutexattr_getrobust): Likewise.
5207         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
5208         * lib/sys_socket.in.h (recv, send): Likewise.
5209         * lib/unistd.in.h (getdtablesize): Likewise.
5210         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
5211         'struct timeval'.
5213 2019-11-21  Bruno Haible  <bruno@clisp.org>
5215         math tests: Update after 2019-08-28 change.
5216         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
5217         return type of 'bool', not 'int'.
5219 2019-11-21  Bruno Haible  <bruno@clisp.org>
5221         pthread-spin: Fix errors in C++ mode.
5222         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
5223         functions as nonexistent when <pthread.h> exists but does not define
5224         the pthread_spinlock_t type.
5226 2019-11-21  Bruno Haible  <bruno@clisp.org>
5228         pthread-mutex: Fix errors in C++ mode.
5229         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
5230         pthread_mutexattr_getrobust exists. If not, define
5231         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
5232         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
5233         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
5234         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
5235         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
5236         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
5237         definition.
5239 2019-11-19  Bruno Haible  <bruno@clisp.org>
5241         threads-h tests: Fix typo.
5242         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
5244 2019-11-19  Bruno Haible  <bruno@clisp.org>
5246         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
5247         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
5248         to 'const pthread_attr_t *'.
5249         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
5250         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
5252 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5254         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
5255         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
5256         work around GCC bug 91450 as the bug should be fixed there.
5258 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5260         glob: get closer to glibc glob.c
5261         Omit differences from glibc when the differences don’t matter.
5262         * lib/glob.c [_LIBC]: Include shlib-compat.h.
5263         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
5264         (glob_lstat): New function.
5265         (glob_in_dir): Use it.
5266         (GLOB_ATTRIBUTE): Define to empty if not already defined.
5267         Use changed.
5269 2019-11-18  Bruno Haible  <bruno@clisp.org>
5271         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
5272         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
5273         UINTPTR_MAX): Consider _WIN64.
5274         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
5275         a pointer.
5277 2019-11-18  Bruno Haible  <bruno@clisp.org>
5279         stdint: Fix value of WINT_MAX when we override wint_t.
5280         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
5281         when GNULIB_OVERRIDES_WINT_T is 1.
5283 2019-11-18  Bruno Haible  <bruno@clisp.org>
5285         vcs-to-changelog: New module.
5286         * modules/vcs-to-changelog: New file.
5287         * MODULES.html.sh (func_all_modules): Add it.
5289 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5291         vcs-to-changelog: New script to generate ChangeLog-like output.
5292         Discussion:
5293         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
5294         * build-aux/vcs_to_changelog.py: New file.
5295         * build-aux/vcstocl/frontend_c.py: New file.
5296         * build-aux/vcstocl/misc_util.py: New file.
5297         * build-aux/vcstocl/vcs_git.py: New file.
5299 2019-11-18  Bruno Haible  <bruno@clisp.org>
5301         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
5302         Reported by Keith Marshall <keith@users.osdn.me> in
5303         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
5304         and <https://osdn.net/projects/mingw/ticket/39677>.
5305         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
5306         already been defined by mingw's <crtdefs.h>.
5308 2019-11-18  Bruno Haible  <bruno@clisp.org>
5310         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
5311         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
5312         conditionally enabled.
5314 2019-11-18  Bruno Haible  <bruno@clisp.org>
5316         gc: Mirror libgcrypt.m4 from libgcrypt.
5317         * config/srclistvars.sh (LIBGCRYPT): New variable.
5318         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
5320 2019-11-17  Bruno Haible  <bruno@clisp.org>
5322         locale, localename: Improve z/OS support.
5323         Reported by Daniel Richard G. in
5324         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
5325         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
5326         gl_LOCALE_H.
5327         (gl_LOCALE_H): Require it.
5328         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
5329         defined, don't even check for newlocale, duplocale, freelocale.
5330         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
5331         locale_t is not defined.
5333 2019-11-17  Bruno Haible  <bruno@clisp.org>
5335         havelib: Make libdirstems processing more flexible.
5336         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
5337         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
5338         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
5339         patch from 2017-02-19).
5340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
5341         libdirs, even when the first one exists as a directory.
5343 2019-11-17  Bruno Haible  <bruno@clisp.org>
5345         havelib: Match the bitness when searching for libraries.
5346         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
5347         acl_is_expected_elfclass.
5348         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
5349         file exists, in ELF, also test whether it has the ELF class that
5350         corresponds to the host's bitness.
5352 2019-11-17  Bruno Haible  <bruno@clisp.org>
5354         host-cpu-c-abi: Add support for unknown CPUs.
5355         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
5356         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
5357         32-bit or 64-bit.
5359 2019-11-17  Bruno Haible  <bruno@clisp.org>
5361         havelib: Remove redundant code.
5362         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
5363         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
5365 2019-11-17  Bruno Haible  <bruno@clisp.org>
5367         havelib: Fix a bug in dependency processing.
5368         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
5369         of .la files, don't overwrite the value of additional_libdir for the
5370         next rounds.
5372 2019-11-16  Bruno Haible  <bruno@clisp.org>
5374         wctype-h: When overriding wint_t, override also the related functions.
5375         Reported by Christian Biesinger <cbiesinger@google.com> in
5376         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
5377         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
5378         REPLACE_ISWCNTRL to 1.
5379         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
5380         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
5381         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
5382         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
5383         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
5384         on mingw.
5385         * doc/posix-headers/wctype.texi: Likewise.
5387 2019-11-16  Bruno Haible  <bruno@clisp.org>
5389         time_r: Fix for mingw.
5390         Reported by Christian Biesinger <cbiesinger@google.com> in
5391         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
5392         * lib/time.in.h: On mingw, include <unistd.h>.
5393         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
5394         <time.h>. Test for localtime_r in a way that works when it is defined
5395         as an inline function.
5397 2019-11-13  Bruno Haible  <bruno@clisp.org>
5399         havelib: Revert last change.
5400         * build-aux/config.rpath: Revert last change. We can add msys2 support
5401         when it has been added to libtool.m4 upstream.
5403 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
5405         config: add msys support
5406         Requested by Arnold Robbins in:
5407         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
5408         He also requested a change to config.guess, which I’ll forward
5409         upstream.
5410         * build-aux/ar-lib (func_file_conv):
5411         * build-aux/compile (func_file_conv):
5412         * build-aux/config.rpath (wl, with_gnu_ld)
5413         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
5414         Treat msys like cygwin.
5416 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5418         regex: now back in sync with glibc
5419         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
5420         regexec.c got merged into glibc and are now copies again.
5422 2019-10-27  Bruno Haible  <bruno@clisp.org>
5424         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
5425         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
5426         statement.
5427         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
5428         32-bit CPUs.
5430 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
5432         timespec-add, timespec-sub: simplify
5433         * lib/timespec-add.c (timespec_add):
5434         * lib/timespec-sub.c (timespec_sub):
5435         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
5436         work on unsigned integers.
5438 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
5440         nstrftime: speed up integer overflow checking
5441         * lib/nstrftime.c: Include intprops.h.
5442         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
5443         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
5444         instead of doing it by hand.
5445         * modules/nstrftime (Depends-on): Add intprops.
5447         Port better to GCC under macOS
5448         Work around macOS header that has ‘#define __has_builtin(x) 0’
5449         when compiled by GCC.  Apple really, really doesn’t want you to
5450         use GCC, apparently.  Rroblem reported by Akim Demaille in:
5451         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
5452         The fix is to not trust __has_builtin when being compiled by
5453         recent-enough GCC.
5454         * lib/intprops.h (__has_builtin)
5455         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
5456         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
5457         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
5458         Remove.  All uses removed.
5459         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
5460         directly, if defined and if not newer GCC.
5461         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
5462         New macro, that use __has_builtin directly, if defined and if
5463         not newer GCC.
5464         (assume): Use them.
5466 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
5468         maintainer-makefile: update rule for argmatch.
5469         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
5471 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
5473         bitset: let freeing functions accept NULL.
5474         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
5475         given NULL.
5476         * lib/bitset.h: Document that.
5477         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
5479 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
5481         inttypes: use more-robust test for int range
5482         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
5483         Problem reported by Dagobert Michelsen in:
5484         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
5485         * lib/inttypes.in.h: Rely only on limits.h when checking
5486         int range.
5488 2019-10-15  Bruno Haible  <bruno@clisp.org>
5490         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
5491         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
5492         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
5493         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
5494         term_ostream_set_hyperlink): New functions.
5495         (term_styled_ostream_get_hyperlink_ref,
5496         term_styled_ostream_get_hyperlink_id,
5497         term_styled_ostream_set_hyperlink): New function aliases.
5499 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
5501         update-copyright: use en dashes in .texi ranges
5502         * build-aux/update-copyright: Match year ranges like "1998--2019",
5503         which are used in the Autoconf manual.  Also, update ranges in
5504         .tex, .texi, and .texinfo files to use en dashes instead of
5505         hyphens.
5507 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
5509         * config/srclist.txt: Remove posix/regex_internal.c for now.
5511 2019-10-13  Bruno Haible  <bruno@clisp.org>
5513         git-version-gen: Allow 'snapshot' as .tarball-version contents.
5514         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
5515         contents to the empty string.
5517 2019-10-12  Bruno Haible  <bruno@clisp.org>
5519         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
5520         * tests/test-intprops.c (main): Disable two more tests when using
5521         HP-UX cc.
5523 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
5525         Simplify and regularize regex use of ‘assert’
5526         Also, tell GCC about the asserts even when compiling without
5527         debugging, to give it further optimization opportunities.
5528         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
5529         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
5530         (parse_expression, parse_bracket_exp):
5531         * lib/regex_internal.c (build_wcs_buffer)
5532         (build_wcs_upper_buffer, re_string_reconstruct)
5533         (re_string_context_at):
5534         * lib/regexec.c (re_search_stub, re_copy_regs)
5535         (re_search_internal, prune_impossible_nodes, check_matching)
5536         (check_halt_state_context, set_regs, sift_states_backward)
5537         (build_sifted_states, transit_state_mb, transit_state_bkref)
5538         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
5539         (match_ctx_add_subtop):
5540         Use it instead of plain ‘assert’.
5542 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5544         regex: omit debug assignment when not debugging
5545         * lib/regexec.c (re_search_internal) [!DEBUG]:
5546         Remove unnecessary assignment.
5548         regex: tell compiler there’s at most 256 arcs out
5549         Partly this is to help the reader (and maybe help GCC);
5550         partly this is to pacify Coverity.
5551         * lib/regex_internal.h: Include verify.h.
5552         * lib/regexec.c (group_nodes_into_DFAstates):
5553         Tell the compiler that ndests cannot exceed SBC_MAX.
5554         * modules/regex (Depends-on): Add ‘verify’.
5556         regex: simplify by assuming C99
5557         * config/srclist.txt: Comment out regex_internal.h and regexec.c
5558         temporarily.
5559         * lib/regex_internal.h (lock_define, re_match_context_t):
5560         Simplify by assuming C99 macros and const.
5561         * lib/regexec.c (re_search_internal): Simplify by assuming C99
5562         initializers.  Remove unnecessary assignment, as mctx is now
5563         safely initialized earlier.
5565         regex: avoid copying of uninitialized storage
5566         * config/srclist.txt: Comment out regcomp.c temporarily.
5567         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
5568         Initialize even when not checking for lint, as the behavior is
5569         arguably undefined otherwise and Coverity warns about it.
5571 2019-10-06  Bruno Haible  <bruno@clisp.org>
5573         access tests: Fix test failure when run as root.
5574         * tests/test-access.c: Include root-uid.h.
5575         (geteuid): Define fallback.
5576         (main): Don't expect that writing to a read-only file would fail when
5577         running as root. Also, remove the created files at the end.
5578         * modules/access-tests (Depends-on): Add root-uid.
5579         (configure.ac): Test whether geteuid exists.
5581 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
5583         users.txt: add GNU nano
5584         Nano has been making use of gnulib since March 2017, version 2.8.0.
5586 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5588         bootstrap: simplify debugging of wget failures
5589         Problem reported by Tim Rühsen in:
5590         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
5591         * build-aux/bootstrap (po_download_command_format):
5592         Invoke wget with -nv instead of -q, to make debugging easier.
5594 2019-09-29  Bruno Haible  <bruno@clisp.org>
5596         avltree-list: Fix compilation warning (introduced on 2014-09-16).
5597         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
5598         'const' attribute.
5600 2019-09-29  Bruno Haible  <bruno@clisp.org>
5602         fbufmode: Fix compilation error on glibc >= 2.28 systems.
5603         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
5605 2019-09-28  Bruno Haible  <bruno@clisp.org>
5607         Update comments that refer to POSIX.
5608         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
5609         sentence about trailing slashes.
5610         * lib/fflush.c: Clarify the reasoning.
5611         * tests/test-fflush2.c: Cite the relevant sentence.
5613 2019-09-28  Bruno Haible  <bruno@clisp.org>
5615         access: Document limitations on Windows.
5616         Suggested by Zaretskii <eliz@gnu.org>.
5617         * doc/posix-functions/access.texi: Mention two limitations on Windows.
5619 2019-09-28  Bruno Haible  <bruno@clisp.org>
5621         findprog-in: Fix comment.
5622         Reported by Eli Zaretskii <eliz@gnu.org>.
5623         * lib/findprog.h (find_in_given_path): Extend description of EACCES
5624         condition.
5625         * lib/stat.c (rpl_stat): Fix typo in comment.
5626         * lib/utime.c (_gl_utimens_windows): Likewise.
5628 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5630         Update URLs and associated text
5631         (Thanks to Bruno Haible for proofreading this patch.)
5632         Prefer https: to http: in URLs where either will do, for the usual
5633         security reasons.  I also updated broken and/or moved URLs
5634         discovered during the process. In a few places I had to resort to
5635         archive.org, since I didn't find the originals elsewhere.
5637 2019-09-15  Paul Smith  <psmith@gnu.org>
5638             Bruno Haible  <bruno@clisp.org>
5640         findprog-in: Set errno when the search fails.
5641         * lib/findprog-in.c: Include <errno.h>.
5642         (find_in_given_path): Set errno before returning NULL.
5643         * lib/findprog.h (find_in_given_path): Update comment accordingly.
5644         Define the term "slash".
5646 2019-09-15  Bruno Haible  <bruno@clisp.org>
5648         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
5649         * modules/findprog (Depends-on): Add access.
5650         * modules/findprog-lgpl (Depends-on): Likewise.
5651         * modules/findprog-in (Depends-on): Likewise.
5653 2019-09-15  Bruno Haible  <bruno@clisp.org>
5655         access: Add tests.
5656         * tests/test-access.c: New file.
5657         * modules/access-tests: New file.
5659         access: New module.
5660         * lib/unistd.in.h (access): New declaration.
5661         * lib/access.c: New file.
5662         * m4/access.m4: New file.
5663         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
5664         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
5665         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
5666         REPLACE_ACCESS.
5667         * modules/access: New file.
5668         * tests/test-unistd-c++.cc (access): Check signature.
5669         * doc/posix-functions/access.texi: Mention the new module.
5671 2019-09-15  Bruno Haible  <bruno@clisp.org>
5673         fcntl-h: Fix compilation error of creat.c on MSVC.
5674         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
5675         defined.
5677 2019-09-15  Bruno Haible  <bruno@clisp.org>
5679         creat: Add tests.
5680         * tests/test-creat.c: New file, based on tests/test-open.h.
5681         * modules/creat-tests: New file.
5683         creat: New module.
5684         * lib/fcntl.in.h (creat): New declaration.
5685         * lib/creat.c: New file, based on lib/open.c.
5686         * m4/creat.m4: New file.
5687         * m4/open-slash.m4: New file, extracted from m4/open.m4.
5688         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
5689         Invoke gl_OPEN_TRAILING_SLASH_BUG.
5690         * modules/open (Files): Add m4/open-slash.m4.
5691         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
5692         REPLACE_CREAT.
5693         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
5694         * modules/creat: New file.
5695         * tests/test-fcntl-h-c++.cc (creat): Check signature.
5696         * doc/posix-functions/creat.texi: Mention the new module.
5698 2019-09-15  Bruno Haible  <bruno@clisp.org>
5700         open tests: Enhance test.
5701         * tests/test-open.h (test_open): Test the creation of an executable
5702         regular file. Also improve initial cleanup.
5704 2019-09-15  Bruno Haible  <bruno@clisp.org>
5706         intprops tests: Avoid build failure with HP-UX cc.
5707         * tests/test-intprops.c: Disable a check that makes HP cc choke with
5708         "error 4018: Macro param too large after substitution - use -H option.".
5710 2019-09-14  Bruno Haible  <bruno@clisp.org>
5712         Make autoconf tests work with -Werror=implicit-function-declaration.
5713         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
5714         towupper() declaration.
5715         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
5716         declaration.
5718 2019-09-14  Bruno Haible  <bruno@clisp.org>
5720         findprog-in: Better mimic the system on native Windows.
5721         Reported by Paul Smith <psmith@gnu.org>.
5722         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
5723         non-empty suffixes when the file name already contains a '.'.
5725 2019-09-10  Bruno Haible  <bruno@clisp.org>
5727         wctob: Fix autoconf test.
5728         Based on patch by Florian Weimer <fweimer@redhat.com>.
5729         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
5731 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
5733         xhash: provide hash_xinitialize.
5734         Suggested by Egor Pugin <egor.pugin@gmail.com>
5735         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
5736         * modules/xhash, lib/xhash.c: New.
5737         * lib/hash.h (hash_xinitialize): New.
5739 2019-09-09  Bruno Haible  <bruno@clisp.org>
5741         findprog-in: Make exec optimization optional.
5742         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
5743         (find_in_given_path): Add optimize_for_exec parameter.
5744         * lib/findprog-in.c (find_in_given_path): Likewise.
5746 2019-09-08  Bruno Haible  <bruno@clisp.org>
5748         Add option to assume the best, not the worst, when cross-compiling.
5749         Suggested by Jonas Termansen <sortie@maxsi.org>.
5750         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
5751         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
5752         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
5753         lt_cv_sys_argz_works.
5754         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
5755         ac_cv_func_calloc_0_nonnull.
5756         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
5757         --enable-cross-guesses for gl_cv_func_realpath_works.
5758         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
5759         gl_cv_func_cbrtl_ieee.
5760         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
5761         gl_cv_func_ceil_ieee.
5762         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
5763         gl_cv_func_ceilf_ieee.
5764         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
5765         gl_cv_func_ceill_ieee.
5766         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
5767         ac_cv_func_chown_works.
5768         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
5769         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
5770         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
5771         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
5772         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
5773         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
5774         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
5775         gl_cv_func_expl_works.
5776         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
5777         gl_cv_func_expm1_ieee.
5778         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
5779         gl_cv_func_expm1l_works.
5780         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
5781         gl_cv_func_open_directory_works.
5782         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
5783         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
5784         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
5785         gl_cv_func_fchownat_empty_filename_works.
5786         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
5787         gl_cv_func_fdopendir_works.
5788         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
5789         gl_cv_func_floor_ieee.
5790         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
5791         gl_cv_func_floorf_ieee.
5792         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
5793         gl_cv_func_fma_works.
5794         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
5795         gl_cv_func_fmaf_works.
5796         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
5797         gl_cv_func_fmal_works.
5798         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
5799         gl_cv_func_fmod_ieee.
5800         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
5801         gl_cv_func_fmodf_ieee.
5802         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
5803         gl_cv_func_fmodl_ieee.
5804         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
5805         gl_cv_func_fpurge_works.
5806         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
5807         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
5808         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
5809         gl_cv_func_getcwd_null.
5810         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
5811         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
5812         gl_cv_func_working_getdelim.
5813         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
5814         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
5815         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
5816         gl_cv_func_getgroups_works.
5817         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
5818         am_cv_func_working_getline.
5819         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
5820         for gl_cv_func_getopt_gnu.
5821         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
5822         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
5823         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
5824         gl_cv_func_hypot_ieee.
5825         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
5826         gl_cv_func_hypotf_ieee.
5827         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
5828         gl_cv_func_hypotl_ieee.
5829         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
5830         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
5831         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
5832         gl_cv_func_link_works.
5833         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
5834         gl_cv_func_linkat_slash.
5835         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
5836         gl_cv_func_log_ieee.
5837         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
5838         gl_cv_func_logf_ieee.
5839         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
5840         gl_cv_func_logl_works.
5841         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
5842         gl_cv_func_log10_ieee.
5843         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
5844         gl_cv_func_log10f_ieee.
5845         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
5846         gl_cv_func_log10l_works.
5847         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
5848         gl_cv_func_log1p_ieee.
5849         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
5850         gl_cv_func_log1pf_ieee.
5851         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
5852         gl_cv_func_log1pl_ieee.
5853         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
5854         gl_cv_func_log2_ieee.
5855         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
5856         gl_cv_func_log2f_ieee.
5857         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
5858         --enable-cross-guesses for
5859         gl_cv_func_lstat_dereferences_slashed_symlink.
5860         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
5861         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
5862         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
5863         gl_cv_C_locale_sans_EILSEQ.
5864         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
5865         gl_cv_func_memchr_works.
5866         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
5867         gl_cv_func_memmem_works_always.
5868         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
5869         gl_cv_func_memmem_works_fast.
5870         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
5871         gl_cv_func_mkdir_trailing_slash_works,
5872         gl_cv_func_mkdir_trailing_dot_works.
5873         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
5874         gl_cv_func_mkfifo_works.
5875         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
5876         gl_cv_func_mknod_works.
5877         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
5878         gl_cv_func_working_mkstemp.
5879         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
5880         gl_cv_func_working_mktime.
5881         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
5882         gl_cv_func_modf_ieee.
5883         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
5884         gl_cv_func_modff_ieee.
5885         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
5886         gl_cv_func_modfl_ieee.
5887         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
5888         gl_cv_func_nanosleep.
5889         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
5890         gl_cv_func_perror_works.
5891         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
5892         gl_cv_func_printf_sizes_c99.
5893         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
5894         gl_cv_func_printf_infinite.
5895         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
5896         gl_cv_func_printf_infinite_long_double.
5897         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
5898         gl_cv_func_printf_directive_a.
5899         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
5900         gl_cv_func_printf_directive_f.
5901         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
5902         gl_cv_func_printf_flag_zero.
5903         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
5904         gl_cv_func_printf_enomem.
5905         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
5906         gl_cv_func_snprintf_truncation_c99.
5907         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
5908         gl_cv_func_snprintf_retval_c99.
5909         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
5910         gl_cv_func_snprintf_directive_n.
5911         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
5912         gl_cv_func_vsnprintf_zerosize_c99.
5913         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
5914         gl_cv_func_pselect_detects_ebadf.
5915         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
5916         Obey --enable-cross-guesses for
5917         gl_cv_pthread_rwlock_rdlock_prefer_writer.
5918         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
5919         gl_cv_func_ptsname_sets_errno.
5920         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
5921         gl_cv_func_svid_putenv.
5922         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
5923         gl_cv_func_readlink_works.
5924         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
5925         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
5926         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
5927         gl_cv_func_re_compile_pattern_working.
5928         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
5929         gl_cv_func_remainder_ieee.
5930         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
5931         gl_cv_func_remainderf_ieee.
5932         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
5933         gl_cv_func_remainderl_ieee.
5934         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
5935         gl_cv_func_rintl_works.
5936         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
5937         gl_cv_func_rmdir_works.
5938         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
5939         gl_cv_func_round_ieee.
5940         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
5941         gl_cv_func_roundf_ieee.
5942         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
5943         gl_cv_func_roundl_ieee.
5944         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
5945         gl_cv_func_select_detects_ebadf.
5946         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
5947         gl_cv_func_setenv_works.
5948         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
5949         gl_cv_func_unsetenv_works.
5950         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
5951         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
5952         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
5953         gl_cv_func_sleep_works.
5954         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
5955         gl_cv_func_stat_file_slash.
5956         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
5957         gl_cv_func_stpncpy.
5958         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
5959         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
5960         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
5961         gl_cv_func_strcasestr_linear.
5962         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
5963         gl_cv_func_working_strerror.
5964         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
5965         gl_cv_func_strerror_0_works.
5966         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
5967         --enable-cross-guesses for gl_cv_func_strerror_r_works.
5968         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
5969         gl_cv_func_strstr_works_always.
5970         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
5971         gl_cv_func_strstr_linear.
5972         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
5973         gl_cv_func_strtod_works.
5974         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
5975         gl_cv_func_strtold_works.
5976         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
5977         gl_cv_func_symlink_works.
5978         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
5979         gl_cv_func_symlinkat_works.
5980         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
5981         gl_cv_func_trunc_ieee.
5982         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
5983         gl_cv_func_truncf_ieee.
5984         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
5985         gl_cv_func_truncl_ieee.
5986         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
5987         gl_cv_func_tzset_clobber.
5988         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
5989         gl_cv_func_ungetc_works.
5990         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
5991         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
5992         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
5993         gl_cv_func_usleep_works.
5994         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
5995         gl_cv_func_futimesat_works.
5996         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
5997         gl_cv_func_working_utimes.
5998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
5999         gl_cv_func_wcwidth_works.
6000         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
6001         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
6002         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
6003         links for testing. Obey --enable-cross-guesses for
6004         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
6005         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
6007 2019-09-08  Bruno Haible  <bruno@clisp.org>
6009         Clarify that cross-compilation guesses are guesses.
6010         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
6011         cross-compiling.
6013 2019-09-08  Bruno Haible  <bruno@clisp.org>
6015         chown: Fix configure output (regression from 2019-03-23).
6016         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
6017         gl_cv_func_chown_follows_symlink variable.
6019 2019-09-08  Bruno Haible  <bruno@clisp.org>
6021         findprog-in: New module.
6022         Suggested by Paul Smith <psmith@gnu.org>.
6023         * lib/findprog.h (find_in_given_path): New declaration.
6024         * lib/findprog-in.c: New file, based on lib/findprog.c.
6025         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
6026         * modules/findprog-in: New file.
6028 2019-09-08  Bruno Haible  <bruno@clisp.org>
6030         findprog: Remove unused dependency.
6031         * modules/findprog (Depends-on): Remove strdup.
6033 2019-09-08  Bruno Haible  <bruno@clisp.org>
6035         findprog: Remove test that is obsolete since 2006-04-24.
6036         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
6038 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
6040         bitset: style changes
6041         * lib/bitset/vector.c (vbitset_resize): Factor computation.
6042         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
6043         xzalloc to xcalloc.
6044         Suggested by Paul Eggert.
6046 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
6048         bitset: check memory allocation
6049         Reported by 江 祖铭 (Zu-Ming Jiang).
6050         With help from Paul Eggert.
6051         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
6052         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
6053         instead of realloc.
6054         When shrinking, accept failures.
6055         * lib/bitset/vector.c (vbitset_resize): Likewise.
6057 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
6059         scratch_buffer: sync from glibc
6060         * config/srclist.txt: Add the scratch_buffer source
6061         code from glibc, since these should be in sync.
6062         Autoupdate.
6064 2019-09-07  Bruno Haible  <bruno@clisp.org>
6066         doc: Update for glibc 2.30.
6067         * doc/glibc-functions/gettid.texi: New file.
6068         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
6069         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
6070         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
6071         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
6072         * doc/glibc-functions/sem_clockwait.texi: New file.
6073         * doc/glibc-functions/tgkill.texi: New file.
6074         * doc/glibc-functions/twalk_r.texi: New file.
6075         * doc/gnulib.texi: Include them.
6076         (Glibc semaphore.h): New section.
6077         * doc/pastposix-functions/h_errno.texi: Update.
6078         * doc/posix-functions/*.texi: Likewise.
6080 2019-09-06  Bruno Haible  <bruno@clisp.org>
6082         symlink tests: Avoid test failure on Linux with Lustre file system.
6083         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
6084         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
6085         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
6087 2019-09-01  Bruno Haible  <bruno@clisp.org>
6089         gitsub.sh: Add support for shallow-cloning of subdirectories.
6090         * top/gitsub.sh (func_usage): Document allowed git options with
6091         'git pull'.
6092         (func_pull): Accept GIT_OPTIONS argument.
6093         (pull): Parse git options before complaining about too many arguments.
6094         Pass the git options to func_pull.
6096 2019-08-29  Bruno Haible  <bruno@clisp.org>
6098         lock: Fix cross-compilation guesses.
6099         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
6100         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
6101         platforms.
6103 2019-08-28  Bruno Haible  <bruno@clisp.org>
6105         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
6106         Reported by Martin Storsjö <martin@martin.st> in
6107         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
6108         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
6109         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
6110         files from GCC 6 or newer, use an override through '#define', because
6111         the inline definitions in the platform's <cmath> cannot be overridden
6112         in another way.
6114 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
6116         Revert macOS INT_MULTIPLY_WRAPV patch
6117         Problem reported by Bruno Haible in:
6118         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
6119         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
6120         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
6121         Go back to working around the Clang bug on macOS.
6123 2019-08-27  Bruno Haible  <bruno@clisp.org>
6125         libtool-next-version: Fix error output.
6126         * build-aux/libtool-next-version (func_fatal_error): Fix the program
6127         name.
6129 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
6131         Speed up INT_MULTIPLY_WRAPV on macOS
6132         Assume that __builtin_mul_overflow works OK with Clang on macOS.
6133         Mattias Engdegård says it’s safe to assume the relevant library
6134         is always available there.
6135         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
6136         New temporary internal macro.
6137         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
6138         No need to work around the Clang bug on macOS.
6140 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6142         intprops.h, verify.h: port better to clang
6143         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
6144         with Clang.  Problem reported privately by Mattias Engdegård.
6145         Also, insulate intprops.h and verify.h better against each other’s
6146         definitions of __has_builtin on non-Clang hosts.
6147         * lib/intprops.h (__has_builtin): Define a temporary substitute
6148         if __has_builtin is not already defined.
6149         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
6150         New temporary internal macros.
6151         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
6152         Now two separate macros, replacing the old
6153         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
6154         __builtin_mul_overflow is like the rest.  All uses changed.
6155         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
6156         Adjust to above changes.
6157         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
6158         longer relevant.  All uses changed.
6159         * lib/verify.h (__has_builtin): Treat like intprops.h,
6160         so that the two .h files do not collide with each other.
6161         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
6162         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
6164 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6166         intprops: say why not Clang __builtin_add_overflow
6167         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
6168         Mention Clang in comment, responding to a query from
6169         Mattias Engdegård.
6171 2019-08-24  Bruno Haible  <bruno@clisp.org>
6173         doc: Document most of the files outside of modules.
6174         * doc/gnulib.texi (Build Infrastructure Files,
6175         Release Management Files): New chapters.
6177 2019-08-24  Bruno Haible  <bruno@clisp.org>
6179         bootstrap: Keep in sync with the 'gettext' module.
6180         Reported by Assaf Gordon in
6181         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
6182         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
6183         * build-aux/po/remove-potcdate.sin: Likewise.
6185 2019-08-24  Bruno Haible  <bruno@clisp.org>
6187         crypto/gc-sha512: Add tests.
6188         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
6189         * modules/crypto/gc-sha512-tests: New file.
6191         crypto/gc-sha256: Add tests.
6192         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
6193         * modules/crypto/gc-sha256-tests: New file.
6195         crypto/gc-sha256, crypto/gc-sha512: New modules.
6196         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
6197         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
6198         (MAX_DIGEST_SIZE): Set to 64.
6199         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
6200         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
6201         (gc_sha256, gc_sha512): New functions.
6202         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
6203         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
6204         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
6206 2019-08-24  Bruno Haible  <bruno@clisp.org>
6208         crypto/gc-sha1 tests: Improve output when the test fails.
6209         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
6210         output.
6212 2019-08-24  Bruno Haible  <bruno@clisp.org>
6214         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
6215         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
6216         LIBGCRYPT_HAS_MD_SM3.
6217         * lib/gc-libgcrypt.c: Include sm3.h.
6218         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
6219         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
6220         implementation if libgcrypt does not support SM3.
6222 2019-08-24  Bruno Haible  <bruno@clisp.org>
6224         crypto/gc-md2: Optimize and clarify code.
6225         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
6226         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
6227         is not needed.
6229 2019-08-24  Bruno Haible  <bruno@clisp.org>
6231         crypto/gc-md2: Add comment.
6232         * lib/gc-libgcrypt.c: Add comment.
6234 2019-08-24  Bruno Haible  <bruno@clisp.org>
6236         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
6237         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
6238         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
6239         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
6240         variable.
6242 2019-08-24  Bruno Haible  <bruno@clisp.org>
6244         crypto/gc: Fix link error with --with-libgcrypt.
6245         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
6246         AC_LIB_HAVE_LINKFLAGS invocation.
6248 2019-08-24  Bruno Haible  <bruno@clisp.org>
6250         crypto/gc: Access the module indicators correctly.
6251         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
6252         * lib/gc-libgcrypt.c: Likewise.
6254 2019-08-24  Bruno Haible  <bruno@clisp.org>
6256         crypto/gc: Fix configuration with --with-libgcrypt.
6257         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
6258         * modules/crypto/gc (Files): Add it.
6259         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
6261 2019-08-24  Bruno Haible  <bruno@clisp.org>
6263         Remove unused file.
6264         * m4/stat-macros.m4: Remove file.
6266 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6268         New strip-trailing-space option for srclist-update
6269         * config/srclist-update (fixfile): Support new option.
6270         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
6271         Use it.
6273 2019-08-20  Eric Blake  <eblake@redhat.com>
6275         accept4: Support SOCK_NONBLOCK, if defined
6276         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
6278         accept4: Fix compilation when native accept4() exists.
6279         Reported by Richard W.M. Jones <rjones@redhat.com> in
6280         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
6281         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
6283 2019-08-18  Bruno Haible  <bruno@clisp.org>
6285         Defeat -flto GCC optimization in math autoconf tests.
6286         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
6287         at <https://savannah.gnu.org/bugs/?56109>.
6288         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
6289         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
6290         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6291         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6292         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6293         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
6294         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6295         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
6296         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
6297         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6298         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6299         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6301 2019-08-17  Bruno Haible  <bruno@clisp.org>
6303         windows-spin: Implement declared functions.
6304         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6305         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
6306         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
6307         name.
6309 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6311         intprops: port to Oracle Developer Studio 12.6
6312         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
6313         typos that were in a section not compiled by GCC.
6315 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6317         intprops: support uchar, ushort _WRAPV dests
6318         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
6319         when __builtin_add_overflow etc. and _Generic are not used.
6320         (_GL_INT_OP_WRAPV): Use it to support destinations that
6321         are unsigned char or unsigned short, even in compilers
6322         that lack __typeof__ and are not C11-compatible.
6324         intprops: pacify picky GCC
6325         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
6326         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
6327         possibly-incorrect result.
6328         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
6329         about (A) used as a boolean, when A is an expression like 3 * 4.
6331         intprops: support unsigned *_WRAPV results
6332         Add support for unsigned, unsigned long, and unsigned long long
6333         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
6334         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
6335         bug with unsigned inputs reported by Eli Zaretskii in:
6336         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
6337         * config/srclist.txt: Break the glibc connection for intprops.h
6338         temporarily, while more testing is done in Gnulib-using apps.
6339         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
6340         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
6341         Support unsigned results no narrower than unsigned int.  Report
6342         overflow correctly if some arguments are unsigned.
6343         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
6344         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
6345         the right thing with narrow args.
6346         (_GL_INT_OP_CALC1): Remove.  All callers removed.
6347         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
6348         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
6349         * tests/test-intprops.c: Check for bugs and test new behavior.
6351 2019-08-14  Bruno Haible  <bruno@clisp.org>
6353         get_progname_of: New module.
6354         * lib/get_progname_of.h: New file.
6355         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
6356         * lib/getprogname.c (getprogname): Tweak coding style.
6357         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
6358         * modules/get_progname_of: New file.
6360 2019-08-14  Bruno Haible  <bruno@clisp.org>
6362         get_ppid_of: New module.
6363         * lib/get_ppid_of.h: New file.
6364         * lib/get_ppid_of.c: New file.
6365         * modules/get_ppid_of: New file.
6367 2019-08-13  Bruno Haible  <bruno@clisp.org>
6369         libtextstyle-optional tests: Support the NO_COLOR environment variable.
6370         * tests/test-libtextstyle.c (main): Do not emit styling when the
6371         environment variable NO_COLOR is set.
6373 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6375         verify: improve diagnostic quality in recent GCC
6376         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
6377         useful line number containing the top-level caller of the macro.
6378         So, bring back the older way of issuing a diagnostic containing
6379         the top-level call’s arg, so that it is easier to diagnose
6380         ‘verify’ failures with recent GCC.
6381         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
6382         Bring back DIAGNOSTIC arg.  All callers changed.
6383         (verify): Just use _GL_VERIFY.
6385 2019-08-11  Bruno Haible  <bruno@clisp.org>
6387         localcharset: Add more aliases for OS/2.
6388         Based on patch by KO Myung-Hun <komh78@gmail.com> in
6389         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
6390         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
6392 2019-08-10  Eric Blake  <eblake@redhat.com>
6394         configmake: Update advice on usage.
6395         * modules/configmake (Include): No longer necessary to include
6396         last, since configmake.h itself worries about collision avoidance.
6398 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
6400         parse-datetime: fix 'T' military timezone handling
6401         * lib/parse-datetime.y (zone):
6402         follow-up to the previous commit: the 'T' case is handled outside the
6403         conversion table (used as either military timezone UTC-7 or ISO8601
6404         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
6405         timezone letters.
6407 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6409         parse-datetime: fix military timezone letters
6410         Problem and trivial fix reported by Neil Hoggarth in:
6411         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
6412         * lib/parse-datetime.y (military_table):
6413         Do it the right way, not the RFC 822 way.
6415 2019-08-08  Eric Blake  <eblake@redhat.com>
6417         configmake: Avoid namespace pollution issue on mingw.
6418         * modules/configmake (Makefile.am): If the project uses
6419         <winsock2.h>, include that header before defining DATADIR.
6421 2019-07-28  Bruno Haible  <bruno@clisp.org>
6423         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
6424         * tests/test-mbrtowc.c (main): Fix expected value of wc.
6426 2019-07-24  Bruno Haible  <bruno@clisp.org>
6428         pthread-h: Fix definitions of types and macros on mingw.
6429         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
6430         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
6431         not in use.
6432         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
6433         'pthread-once' is not in use.
6434         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
6435         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
6436         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
6437         in use.
6438         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
6439         Define also when module 'pthread-rwlock' is not in use.
6440         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
6441         also when module 'pthread-cond' is not in use.
6442         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
6443         'pthread-tss' is not in use.
6444         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
6445         use.
6447 2019-07-24  Simon Josefsson  <simon@josefsson.org>
6449         crypto/gc: Cope with libgcrypt without SM3.
6450         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
6452 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
6454         backupfile: fix resource leak on memory failure
6455         Problem found by Coverity (CID 1484214).
6456         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
6458 2019-07-22  Bruno Haible  <bruno@clisp.org>
6460         Avoid missing-declarations warning in various tests.
6461         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
6462         test6, test_optional, test7, test8, test9, test10, test11, test12,
6463         test13, test14, test15, test_fun): Declare static.
6464         * tests/test-cnd.c (test_cnd_wait): Likewise.
6465         * tests/test-cond.c (test_cond): Likewise.
6467 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
6469         pthread tests: Avoid missing-declarations warning.
6470         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
6472 2019-07-19  Bruno Haible  <bruno@clisp.org>
6474         parse-datetime: Avoid warnings from bison versions >= 3.3.
6475         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
6476         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
6478 2019-07-19  Bruno Haible  <bruno@clisp.org>
6480         parse-datetime: Require Bison 2.4 or newer.
6481         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
6482         Code taken from gettext's intl.m4.
6483         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
6484         of YACC.
6486 2019-07-19  Bruno Haible  <bruno@clisp.org>
6488         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
6489         * lib/areadlink-with-size.c: Include <string.h>.
6490         * lib/areadlinkat-with-size.c: Likewise.
6491         * lib/xgethostname.c: Likewise.
6492         * lib/xgetdomainname.c: Likewise.
6494 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
6496         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
6497         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
6498         "%pure-parser".  The former is available since Bison 2.3b (2008),
6499         while the latter is marked as obsolete since version 3.4 (May 2019).
6501 2019-07-16  Bruno Haible  <bruno@clisp.org>
6503         update-copyright: Make it work again (regression from 2019-06-15).
6504         Reported by Brian C. Lane <bcl@redhat.com>.
6505         * build-aux/update-copyright: Add back the -0777, -p, -i options.
6507 2019-07-14  Bruno Haible  <bruno@clisp.org>
6509         doc: Update info about <pthread.h>.
6510         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
6511         of 'pthread'.
6513 2019-07-14  Bruno Haible  <bruno@clisp.org>
6515         pthread_sigmask tests: Use new multithread modules.
6516         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
6517         glthread/thread.h.
6518         (main_thread, killer_thread): Change type to pthread_t.
6519         (main): Update accordingly.
6520         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
6521         thread.
6523 2019-07-14  Bruno Haible  <bruno@clisp.org>
6525         pthread-tss: Add tests.
6526         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
6527         tests/test-tss.c.
6528         * modules/pthread-tss-tests: New file.
6530 2019-07-14  Bruno Haible  <bruno@clisp.org>
6532         pthread-cond: Add tests.
6533         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
6534         tests/test-cnd.c.
6535         * modules/pthread-cond-tests: New file.
6537 2019-07-14  Bruno Haible  <bruno@clisp.org>
6539         pthread-rwlock: Add tests.
6540         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
6541         * modules/pthread-rwlock-tests: New file.
6543 2019-07-14  Bruno Haible  <bruno@clisp.org>
6545         pthread-mutex: Add tests.
6546         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
6547         tests/test-mtx.c.
6548         * modules/pthread-mutex-tests: New file.
6550 2019-07-14  Bruno Haible  <bruno@clisp.org>
6552         pthread-once: Add tests.
6553         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
6554         tests/test-call_once.c.
6555         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
6556         tests/test-mtx.c.
6557         * modules/pthread-once-tests: New file.
6559 2019-07-14  Bruno Haible  <bruno@clisp.org>
6561         pthread-thread: Add tests.
6562         * tests/test-pthread-thread.c: New file, based on
6563         tests/test-thread_create.c and tests/test-thrd_create.c.
6564         * modules/pthread-thread-tests: New file.
6566 2019-07-14  Bruno Haible  <bruno@clisp.org>
6568         pthread: Turn into a convenience module.
6569         * lib/pthread.in.h: Remove declarations for extern inline functions.
6570         * lib/pthread.c: Remove file.
6571         * modules/pthread (Files): Remove it.
6572         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
6573         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
6574         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
6575         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
6576         GNULIB_PTHREAD.
6577         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
6579 2019-07-14  Bruno Haible  <bruno@clisp.org>
6581         pthread-spin: New module.
6582         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
6583         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
6584         inline definitions.
6585         * lib/pthread-spin.c: New file.
6586         * m4/pthread-spin.m4: New file.
6587         * modules/pthread-spin: New file.
6588         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
6589         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
6590         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
6591         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
6592         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
6594 2019-07-14  Bruno Haible  <bruno@clisp.org>
6596         pthread-tss: New module.
6597         * lib/pthread-tss.c: New file.
6598         * m4/pthread-tss.m4: New file.
6599         * modules/pthread-tss: New file.
6600         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
6601         * doc/posix-functions/pthread_setspecific.texi: Likewise.
6602         * doc/posix-functions/pthread_getspecific.texi: Likewise.
6603         * doc/posix-functions/pthread_key_delete.texi: Likewise.
6605 2019-07-14  Bruno Haible  <bruno@clisp.org>
6607         pthread-cond: New module.
6608         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
6609         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
6610         * lib/pthread-cond.c: New file.
6611         * m4/pthread-cond.m4: New file.
6612         * modules/pthread-cond: New file.
6613         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
6614         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
6615         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
6616         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
6617         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
6618         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
6619         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
6620         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
6622 2019-07-14  Bruno Haible  <bruno@clisp.org>
6624         pthread-rwlock: New module.
6625         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
6626         * m4/pthread-rwlock.m4: New file.
6627         * modules/pthread-rwlock: New file.
6628         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
6629         and the Android problem.
6630         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
6631         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
6632         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
6633         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
6634         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
6635         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
6636         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
6637         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
6638         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
6639         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
6641 2019-07-14  Bruno Haible  <bruno@clisp.org>
6643         pthread-mutex: New module.
6644         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
6645         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
6646         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
6647         pthread_mutex_unlock): Remove inline definitions.
6648         * lib/pthread-mutex.c: New file.
6649         * m4/pthread-mutex.m4: New file.
6650         * modules/pthread-mutex: New file.
6651         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
6652         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
6653         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
6654         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
6655         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
6656         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
6657         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
6658         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
6659         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
6660         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
6661         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
6662         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
6664 2019-07-14  Bruno Haible  <bruno@clisp.org>
6666         pthread-once: New module.
6667         * lib/pthread-once.c: New file.
6668         * m4/pthread-once.m4: New file.
6669         * modules/pthread-once: New file.
6670         * doc/posix-functions/pthread_once.texi: Mention the new module.
6672 2019-07-14  Bruno Haible  <bruno@clisp.org>
6674         pthread-thread: New module.
6675         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
6676         inline definitions.
6677         * lib/pthread-thread.c: New file.
6678         * m4/pthread-thread.m4: New file.
6679         * modules/pthread-thread: New file.
6680         * doc/posix-functions/pthread_create.texi: Mention the new module.
6681         * doc/posix-functions/pthread_attr_init.texi: Likewise.
6682         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
6683         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
6684         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
6685         * doc/posix-functions/pthread_self.texi: Likewise.
6686         * doc/posix-functions/pthread_equal.texi: Likewise.
6687         * doc/posix-functions/pthread_detach.texi: Likewise.
6688         * doc/posix-functions/pthread_join.texi: Likewise.
6689         * doc/posix-functions/pthread_exit.texi: Likewise.
6691 2019-07-14  Bruno Haible  <bruno@clisp.org>
6693         pthread-h: Prepare for adding new modules.
6694         * lib/pthread.in.h: Define the types and macros for each of the
6695         facilities separately.
6696         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
6697         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
6698         HAVE_PTHREAD_PROCESS_SHARED.
6699         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
6700         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
6701         HAVE_PTHREAD_PROCESS_SHARED.
6702         * modules/pthread-h (Makefile.am): Substitute
6703         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
6704         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
6706 2019-07-14  Bruno Haible  <bruno@clisp.org>
6708         pthread-h: Add declarations of essential pthread functions.
6709         * lib/pthread.in.h: Include snippets.
6710         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
6711         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
6712         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
6713         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
6714         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
6715         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
6716         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
6717         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
6718         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
6719         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
6720         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
6721         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
6722         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
6723         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
6724         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
6725         pthread_key_create, pthread_setspecific, pthread_getspecific,
6726         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
6727         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
6728         declarations.
6729         (pthread_mutex_timedlock): Move declaration.
6730         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
6731         declared.
6732         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
6733         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
6734         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
6735         HAVE_* and REPLACE_* variables for the new functions.
6736         * modules/pthread-h (Depends-on): Add snippet/c++defs,
6737         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
6738         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
6739         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
6740         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
6741         variables for the new functions. Split the sed script, to avoid the
6742         limit of 99 commands of HP-UX sed.
6743         * tests/test-pthread-c++.cc: Check the signature of the new functions.
6745 2019-07-14  Bruno Haible  <bruno@clisp.org>
6747         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
6748         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
6749         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
6750         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
6751         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
6752         * modules/pthread-h (Depends-on): Add threadlib.
6753         (Link): Change to $(LIBTHREAD).
6754         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
6755         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
6757 2019-07-14  Bruno Haible  <bruno@clisp.org>
6759         pthread-h: Add C++ tests.
6760         * tests/test-pthread-c++.cc: New file.
6761         * modules/pthread-h-c++-tests: New file.
6763 2019-07-14  Bruno Haible  <bruno@clisp.org>
6765         pthread-h: Add tests.
6766         * tests/test-pthread.c: New file.
6767         * modules/pthread-h-tests: New file.
6769 2019-07-14  Bruno Haible  <bruno@clisp.org>
6771         pthread-h: New module.
6772         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
6773         is 1.
6774         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
6775         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
6776         <pthread.h> pollutes the namespace; instead, prepare for generating a
6777         pthread.h always. Substitute HAVE_PTHREAD_H here.
6778         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
6779         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
6780         * modules/pthread-h: New file, based on modules/pthread.
6781         * modules/pthread: Rely on 'pthread-h'.
6782         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
6783         Update.
6784         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
6785         pthread.
6787 2019-07-14  Bruno Haible  <bruno@clisp.org>
6789         sched_yield: New module.
6790         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
6791         (sched_yield): New declaration.
6792         * lib/sched_yield.c: New file.
6793         * m4/sched_yield.m4: New file.
6794         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
6795         provide a replacement sched.h always. Test whether sched_yield is
6796         declared.
6797         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
6798         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
6799         (Makefile.am): Provide a replacement sched.h always. Substitute
6800         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
6801         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
6802         * modules/sched_yield: New file.
6803         * doc/posix-functions/sched_yield.texi: Mention the new module.
6805 2019-07-14  Bruno Haible  <bruno@clisp.org>
6807         windows-spin: New module.
6808         * lib/windows-spin.h: New file.
6809         * lib/windows-spin.c: New file.
6810         * modules/windows-spin: New file.
6812 2019-07-14  Bruno Haible  <bruno@clisp.org>
6814         windows-timedrwlock: New module.
6815         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
6816         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
6817         windows-cond.c.
6818         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
6819         redefinition conflict with windows-timedrwlock.h.
6820         * modules/windows-timedrwlock: New file.
6822 2019-07-14  Bruno Haible  <bruno@clisp.org>
6824         windows-rwlock: New module.
6825         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
6826         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
6827         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
6828         windows-initguard.h.
6829         (gl_rwlock_t): Define using glwthread_rwlock_t.
6830         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
6831         (glthread_rwlock_init): Define using glwthread_rwlock_init.
6832         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
6833         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
6834         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
6835         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
6836         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
6837         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
6838         glthread_rwlock_destroy_func): Remove declarations.
6839         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
6840         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
6841         gl_waitqueue_notify_all, glthread_rwlock_init_func,
6842         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
6843         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
6844         functions.
6845         * modules/windows-rwlock: New file.
6846         * modules/lock (Depends-on): Add windows-rwlock.
6848 2019-07-14  Bruno Haible  <bruno@clisp.org>
6850         windows-thread: Add support for creating a thread in detached state.
6851         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
6852         (glwthread_thread_create): Add attr argument.
6853         * lib/windows-thread.c (glwthread_thread_create): Likewise.
6854         * lib/glthread/thread.h (glthread_create): Update.
6855         * lib/thrd.c (thrd_create): Update.
6857 2019-07-14  Bruno Haible  <bruno@clisp.org>
6859         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
6860         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
6861         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
6862         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
6863         * lib/windows-mutex.h: Update.
6864         * lib/windows-recmutex.h: Likewise.
6865         * lib/windows-timedmutex.h: Likewise.
6866         * lib/windows-timedrecmutex.h: Likewise.
6867         * lib/windows-cond.h: Likewise.
6868         * lib/glthread/lock.h: Likewise.
6869         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
6870         lib/windows-spinlock.h.
6871         * modules/windows-recmutex (Files): Likewise.
6872         * modules/windows-timedmutex (Files): Likewise.
6873         * modules/windows-timedrecmutex (Files): Likewise.
6874         * modules/windows-cond (Files): Likewise.
6875         * modules/threads-h (Files): Likewise.
6877 2019-07-14  Bruno Haible  <bruno@clisp.org>
6879         doc: Fix info about pthread API in HP-UX.
6880         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
6882 2019-07-14  Bruno Haible  <bruno@clisp.org>
6884         threads-h: Fix generation of threads.h.
6885         * modules/threads-h (Makefile.am): Insert the required header file
6886         snippets.
6888 2019-07-09  Bruno Haible  <bruno@clisp.org>
6890         striconveh test: Fix a compilation failure when iconv is not available.
6891         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6892         * tests/test-striconveh.c (main): Move iconv_close invocations inside
6893         HAVE_ICONV.
6895 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
6897         argmatch: adjust columns for help2man.
6898         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
6899         requires column 20 or more, return 20.
6901 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6903         areadlink-with-size: avoid realloc when size==0
6904         * lib/areadlink-with-size.c (areadlink_with_size):
6905         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
6906         Reallocate at the end to the actual size, to avoid memory waste,
6907         as suggested by Bruno Haible.  But when the guessed size is zero -
6908         useful when the size is unknown - do the initial small readlink
6909         into the stack, to avoid that realloc in the usual case.
6911 2019-07-06  Pádraig Brady  <P@draigBrady.com>
6913         areadlink-with-size: guess a buffer size with 0 size
6914         The size is usually taken from st_size, which can be zero,
6915         resulting in inefficient operation.
6916         Instead let zero select an initial memory allocation
6917         of 128 bytes, which most symlinks fit within.
6918         * lib/areadlink-with-size.c (areadlink_with_size):
6919         Start with a 128 byte buffer, for SIZE == 0.
6920         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
6922 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
6924         Replace manually crafted hex regexes with [:xdigit:]
6925         * build-aux/gitlog-to-changelog (parse_amend_file)
6926         (git_dir_option):
6927         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
6928         This patch is backported from Emacs (Bug#36167).
6930 2019-07-06  Bruno Haible  <bruno@clisp.org>
6932         error: Fix documentation.
6933         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
6934         module provides.
6935         * doc/glibc-functions/error_message_count.texi: Likewise.
6936         * doc/glibc-functions/error_one_per_line.texi: Likewise.
6937         * doc/glibc-functions/error_print_progname.texi: Likewise.
6939 2019-07-06  Bruno Haible  <bruno@clisp.org>
6941         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
6942         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
6943         and older is unsupported.
6944         * doc/**/*.texi: Update.
6946 2019-07-06  Bruno Haible  <bruno@clisp.org>
6948         doc: Remove documentation of Linux libc5 as a supported platform.
6949         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
6950         to Linux libc5.
6951         * doc/posix-functions/iswalpha.texi: Likewise.
6952         * doc/posix-functions/iswblank.texi: Likewise.
6953         * doc/posix-functions/iswcntrl.texi: Likewise.
6954         * doc/posix-functions/iswdigit.texi: Likewise.
6955         * doc/posix-functions/iswgraph.texi: Likewise.
6956         * doc/posix-functions/iswlower.texi: Likewise.
6957         * doc/posix-functions/iswprint.texi: Likewise.
6958         * doc/posix-functions/iswpunct.texi: Likewise.
6959         * doc/posix-functions/iswspace.texi: Likewise.
6960         * doc/posix-functions/iswupper.texi: Likewise.
6961         * doc/posix-functions/iswxdigit.texi: Likewise.
6962         * doc/posix-functions/snprintf.texi: Likewise.
6963         * doc/posix-functions/vsnprintf.texi: Likewise.
6965 2019-07-06  Bruno Haible  <bruno@clisp.org>
6967         doc: Remove documentation of Tandem/NSK as a supported platform.
6968         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
6969         Tandem/NSK.
6970         * doc/**/*.texi: Update.
6972 2019-07-06  Bruno Haible  <bruno@clisp.org>
6974         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
6975         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
6976         and older is unsupported.
6977         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
6978         Mac OS X 10.4 and older.
6979         * doc/posix-functions/asinl.texi: Likewise.
6980         * doc/posix-functions/atanl.texi: Likewise.
6981         * doc/posix-functions/cosl.texi: Likewise.
6982         * doc/posix-functions/expl.texi: Likewise.
6983         * doc/posix-functions/frexpl.texi: Likewise.
6984         * doc/posix-functions/gettimeofday.texi: Likewise.
6985         * doc/posix-functions/logl.texi: Likewise.
6986         * doc/posix-functions/mkstemp.texi: Likewise.
6987         * doc/posix-functions/sinl.texi: Likewise.
6988         * doc/posix-functions/sqrtl.texi: Likewise.
6989         * doc/posix-functions/tanl.texi: Likewise.
6990         * doc/posix-functions/wcswidth.texi: Likewise.
6991         * doc/**/*.texi: Update.
6993 2019-07-06  Bruno Haible  <bruno@clisp.org>
6995         doc: Remove documentation of AIX 4 as a supported platform.
6996         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
6997         unsupported.
6998         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
6999         workarounds.
7000         * doc/posix-functions/strnlen.texi: Likewise.
7001         * doc/posix-headers/inttypes.texi: Likewise.
7002         * doc/**/*.texi: Update.
7004 2019-07-06  Bruno Haible  <bruno@clisp.org>
7006         doc: Remove documentation of HP-UX 10 as a supported platform.
7007         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
7008         unsupported.
7009         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
7010         workarounds.
7011         * doc/posix-functions/gmtime_r.texi: Likewise.
7012         * doc/posix-functions/localtime_r.texi: Likewise.
7013         * doc/posix-functions/mkstemp.texi: Likewise.
7014         * doc/**/*.texi: Update.
7016 2019-07-06  Bruno Haible  <bruno@clisp.org>
7018         doc: Remove documentation of Interix 3.5 as a supported platform.
7019         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
7020         unsupported.
7021         * doc/posix-functions/select.texi: Don't mention Interix specific
7022         workarounds.
7023         * doc/posix-headers/signal.texi: Likewise.
7024         * doc/**/*.texi: Update.
7026 2019-07-06  Bruno Haible  <bruno@clisp.org>
7028         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
7029         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
7030         unsupported.
7031         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
7032         workarounds.
7033         * doc/posix-functions/nl_langinfo.texi: Likewise.
7034         * doc/posix-functions/remainder.texi: Likewise.
7035         * doc/posix-functions/towlower.texi: Likewise.
7036         * doc/posix-functions/towupper.texi: Likewise.
7037         * doc/posix-functions/vsnprintf.texi: Likewise.
7038         * doc/posix-functions/wcscat.texi: Likewise.
7039         * doc/posix-functions/wcschr.texi: Likewise.
7040         * doc/posix-functions/wcscmp.texi: Likewise.
7041         * doc/posix-functions/wcscpy.texi: Likewise.
7042         * doc/posix-functions/wcscspn.texi: Likewise.
7043         * doc/posix-functions/wcslen.texi: Likewise.
7044         * doc/posix-functions/wcsncat.texi: Likewise.
7045         * doc/posix-functions/wcsncmp.texi: Likewise.
7046         * doc/posix-functions/wcsncpy.texi: Likewise.
7047         * doc/posix-functions/wcspbrk.texi: Likewise.
7048         * doc/posix-functions/wcsrchr.texi: Likewise.
7049         * doc/posix-functions/wcsspn.texi: Likewise.
7050         * doc/posix-headers/langinfo.texi: Likewise.
7051         * doc/posix-headers/signal.texi: Likewise.
7052         * doc/posix-headers/wchar.texi: Likewise.
7053         * doc/posix-headers/wctype.texi: Likewise.
7054         * doc/**/*.texi: Update.
7056 2019-07-05  Bruno Haible  <bruno@clisp.org>
7058         doc: Remove documentation of OSF/1 as supported platform.
7059         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
7060         unsupported.
7061         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
7062         workarounds.
7063         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
7064         * doc/glibc-functions/ptsname_r.texi: Likewise.
7065         * doc/posix-functions/ceil.texi: Likewise.
7066         * doc/posix-functions/ceilf.texi: Likewise.
7067         * doc/posix-functions/ceill.texi: Likewise.
7068         * doc/posix-functions/fchdir.texi: Likewise.
7069         * doc/posix-functions/floor.texi: Likewise.
7070         * doc/posix-functions/floorf.texi: Likewise.
7071         * doc/posix-functions/fmod.texi: Likewise.
7072         * doc/posix-functions/fmodf.texi: Likewise.
7073         * doc/posix-functions/fmodl.texi: Likewise.
7074         * doc/posix-functions/log.texi: Likewise.
7075         * doc/posix-functions/logf.texi: Likewise.
7076         * doc/posix-functions/logl.texi: Likewise.
7077         * doc/posix-functions/log10.texi: Likewise.
7078         * doc/posix-functions/log10f.texi: Likewise.
7079         * doc/posix-functions/log10l.texi: Likewise.
7080         * doc/posix-functions/log2.texi: Likewise.
7081         * doc/posix-functions/log2f.texi: Likewise.
7082         * doc/posix-functions/log2l.texi: Likewise.
7083         * doc/posix-functions/mbrtowc.texi: Likewise.
7084         * doc/posix-functions/recv.texi: Likewise.
7085         * doc/posix-functions/recvfrom.texi: Likewise.
7086         * doc/posix-functions/remainder.texi: Likewise.
7087         * doc/posix-functions/remainderf.texi: Likewise.
7088         * doc/posix-functions/remainderl.texi: Likewise.
7089         * doc/posix-functions/round.texi: Likewise.
7090         * doc/posix-functions/roundf.texi: Likewise.
7091         * doc/posix-functions/roundl.texi: Likewise.
7092         * doc/posix-functions/send.texi: Likewise.
7093         * doc/posix-functions/sendto.texi: Likewise.
7094         * doc/posix-functions/setenv.texi: Likewise.
7095         * doc/posix-functions/snprintf.texi: Likewise.
7096         * doc/posix-functions/tcgetsid.texi: Likewise.
7097         * doc/posix-functions/trunc.texi: Likewise.
7098         * doc/posix-functions/truncf.texi: Likewise.
7099         * doc/posix-functions/truncl.texi: Likewise.
7100         * doc/posix-functions/ttyname_r.texi: Likewise.
7101         * doc/posix-functions/unsetenv.texi: Likewise.
7102         * doc/posix-functions/wcsrtombs.texi: Likewise.
7103         * doc/posix-headers/sys_select.texi: Likewise.
7104         * doc/posix-headers/wchar.texi: Likewise.
7105         * doc/posix-headers/wctype.texi: Likewise.
7106         * doc/**/*.texi: Update.
7108 2019-07-05  Bruno Haible  <bruno@clisp.org>
7110         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
7111         * doc/**/*.texi: Update.
7113 2019-07-05  Bruno Haible  <bruno@clisp.org>
7115         doc: Remove documentation of Solaris 8 and older as supported platforms.
7116         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
7117         unsupported.
7118         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
7119         workarounds.
7120         * doc/posix-functions/memcmp.texi: Likewise.
7121         * doc/posix-functions/rename.texi: Likewise.
7122         * doc/posix-functions/tzset.texi: Likewise.
7123         * doc/posix-headers/wctype.texi: Likewise.
7124         * doc/**/*.texi: Update.
7126 2019-07-05  Bruno Haible  <bruno@clisp.org>
7128         doc: Remove documentation of Interix 3.5 as a supported platform.
7129         * doc/**/*.texi: Update.
7131 2019-07-05  Bruno Haible  <bruno@clisp.org>
7133         doc: Remove documentation of BeOS as a supported platform.
7134         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
7135         unsupported.
7136         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
7137         * doc/posix-functions/getdelim.texi: Likewise.
7138         * doc/**/*.texi: Update.
7140 2019-07-05  Bruno Haible  <bruno@clisp.org>
7142         thread, lock, cond, tls: Remove support for Pth threads.
7143         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
7144         --enable-threads=pth any more.
7145         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
7146         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
7147         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
7148         threads and ISO C11 threads.
7149         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
7150         * lib/glthread/lock.h: Likewise.
7151         * lib/glthread/lock.c: Likewise.
7152         * lib/glthread/cond.h: Likewise.
7153         * lib/glthread/cond.c: Likewise.
7154         * lib/glthread/tls.h: Likewise.
7155         * lib/glthread/tls.c: Likewise.
7156         * lib/glthread/yield.h: Likewise.
7157         * lib/regex_internal.h: Likewise.
7158         * tests/test-thread_create.c: Likewise.
7159         * tests/test-lock.c: Likewise.
7160         * tests/test-cond.c: Likewise.
7161         * tests/test-tls.c: Likewise.
7162         * tests/test-rwlock1.c: Don't include glthread/yield.h.
7163         (main): Sleep without calling gl_thread_yield.
7165 2019-07-05  Bruno Haible  <bruno@clisp.org>
7167         thread, lock, cond, tls: Remove support for old Solaris threads.
7168         Solaris >= 2.5.1 has POSIX threads.
7169         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
7170         --enable-threads=solaris any more.
7171         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
7172         * lib/glthread/thread.c: Update comment.
7173         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
7174         * lib/glthread/lock.h: Likewise.
7175         * lib/glthread/lock.c: Likewise.
7176         * lib/glthread/cond.h: Likewise.
7177         * lib/glthread/cond.c: Likewise.
7178         * lib/glthread/tls.h: Likewise.
7179         * lib/glthread/tls.c: Likewise.
7180         * lib/glthread/yield.h: Likewise.
7181         * lib/regex_internal.h: Likewise.
7182         * tests/test-thread_create.c: Likewise.
7183         * tests/test-lock.c: Likewise.
7184         * tests/test-cond.c: Likewise.
7185         * tests/test-tls.c: Likewise.
7187 2019-07-05  Bruno Haible  <bruno@clisp.org>
7189         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
7190         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
7191         needed size is equal to the allocated size.
7192         * lib/getcwd.c (__getcwd): Likewise.
7194 2019-07-05  Bruno Haible  <bruno@clisp.org>
7196         xgetdomainname: Don't return an excessive memory allocation.
7197         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
7198         before returning it.
7200 2019-07-05  Bruno Haible  <bruno@clisp.org>
7202         xgethostname: Don't return an excessive memory allocation.
7203         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
7204         returning it.
7206 2019-07-05  Bruno Haible  <bruno@clisp.org>
7208         areadlinkat-with-size: Don't return an excessive memory allocation.
7209         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
7210         before returning it.
7212 2019-07-05  Bruno Haible  <bruno@clisp.org>
7214         areadlink-with-size: Don't return an excessive memory allocation.
7215         Reported by Andreas Dilger <adilger@whamcloud.com>.
7216         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
7217         before returning it.
7219 2019-07-03  Bruno Haible  <bruno@clisp.org>
7221         renameatu: Fix test failure on MSVC.
7222         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
7223         empty string.
7225 2019-07-03  Bruno Haible  <bruno@clisp.org>
7227         mbrtowc: Fix invalid use of mbtowc() on MSVC.
7228         * lib/mbrtowc.c: Include glthread/lock.h.
7229         (mbtowc_lock): New variable.
7230         (mbrtowc): Treat UTF-8 encoding without locking. For the other
7231         encodings, explicitly reset the internal state of mbtowc, and protect
7232         this through a lock.
7233         * modules/mbrtowc (Depends-on): Add lock.
7235 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
7237         argmatch: don't define _ in the header.
7238         Reported by Jim Meyering.
7239         * lib/argmatch.h (N_, _): Don't define.
7240         Use gettext instead.
7241         * lib/argmatch.h (_): Define.
7242         * tests/test-argmatch.c (N_): Define.
7244 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7246         verify: document ‘assume’ better
7247         * lib/verify.h: Reword doc (Bug#36370).
7249 2019-07-02  Bruno Haible  <bruno@clisp.org>
7251         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
7252         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
7253         "CPutf8".
7254         * lib/nl_langinfo.c (ctype_codeset): Likewise.
7256 2019-07-02  Bruno Haible  <bruno@clisp.org>
7258         getcwd: Fix crash when invoked with size = 0 on MSVC.
7259         * lib/getcwd.c: Include msvc-inval.h.
7260         (getcwd_nothrow): New function/macro.
7261         (getcwd_system): New macro.
7262         (__getcwd): Use it instead of getcwd.
7263         * modules/getcwd (Depends-on): Add msvc-inval.
7264         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
7266 2019-07-02  Bruno Haible  <bruno@clisp.org>
7268         nonblocking-pipe tests: Fix test failure on MSVC.
7269         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
7270         native Windows.
7272 2019-07-02  Bruno Haible  <bruno@clisp.org>
7274         usleep: Implement with millisecond resolution on native Windows.
7275         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
7276         * doc/pastposix-functions/usleep.texi: Update accordingly.
7278 2019-07-02  Bruno Haible  <bruno@clisp.org>
7280         lstat tests: Fix test failure on MSVC.
7281         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
7282         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
7284 2019-07-02  Bruno Haible  <bruno@clisp.org>
7286         stat tests: Fix test failure on MSVC.
7287         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
7288         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
7290 2019-07-02  Bruno Haible  <bruno@clisp.org>
7292         getaddrinfo tests: Fix test failure on MSVC.
7293         * tests/test-getaddrinfo.c: Include sockets.h.
7294         (main): Invoke gl_sockets_startup.
7295         * modules/getaddrinfo-tests (Depends-on): Add sockets.
7297 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
7299         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
7300         * lib/poll.c: Call Windows native select() with Windows native timeval.
7302 2019-06-30  Bruno Haible  <bruno@clisp.org>
7304         argmatch: Fix compilation errors.
7305         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
7306         * tests/test-argmatch.c (main): Update after last-minute function names
7307         change.
7309 2019-06-30  Bruno Haible  <bruno@clisp.org>
7311         Include <stdlib.h> when needed.
7312         * lib/cnd.c: Include <stdlib.h>, needed for abort().
7313         * lib/fcntl.c: Likewise.
7314         * lib/mbscasestr.c: Likewise.
7315         * lib/mbssep.c: Likewise.
7316         * lib/mbsstr.c: Likewise.
7317         * lib/openat.c: Include <stdlib.h>, needed for free().
7318         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
7319         abort().
7321 2019-06-30  Bruno Haible  <bruno@clisp.org>
7323         Include <stdlib.h> when needed.
7324         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
7325         * lib/faccessat.c: Likewise.
7326         * lib/fchmodat.c: Likewise.
7327         * lib/fchownat.c: Likewise.
7328         * lib/fstatat.c: Likewise.
7329         * lib/mkfifoat.c: Likewise.
7330         * lib/mknodat.c: Likewise.
7331         * lib/readlinkat.c: Likewise.
7332         * lib/symlinkat.c: Likewise.
7333         * lib/utimensat.c: Likewise.
7334         * lib/mkdirat.c: Likewise. Include also the specification header.
7336 2019-06-30  Bruno Haible  <bruno@clisp.org>
7338         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
7339         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
7340         from gl_PREREQ_SYS_H_SOCKET.
7341         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
7342         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
7343         gl_PREREQ_SYS_H_WS2TCPIP.
7344         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
7345         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
7346         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
7348 2019-06-30  Bruno Haible  <bruno@clisp.org>
7350         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
7351         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
7352         REPLACE_INET_NTOP to 1 always.
7353         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
7354         REPLACE_INET_PTON to 1 always.
7356 2019-06-30  Bruno Haible  <bruno@clisp.org>
7358         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
7359         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
7360         not REPLACE_INET_NTOP.
7362 2019-06-30  Bruno Haible  <bruno@clisp.org>
7364         poll: Add comment.
7365         * lib/poll.c: Add comment about WSAPoll.
7367 2019-06-30  Bruno Haible  <bruno@clisp.org>
7369         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
7370         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
7371         * lib/poll.in.h: Include <winsock2.h>.
7372         (POLL*, pollfd): Override on native Windows.
7373         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7374         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
7375         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7377 2019-06-28  Bruno Haible  <bruno@clisp.org>
7379         accept4: Fix compilation error on OpenIndiana.
7380         Reported by Michal Nowak <mnowak@startmail.com>
7381         via Mark H Weaver <mhw@netris.org>.
7382         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
7383         whether it exists as a function.
7385 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
7387         strverscmp: sync from glibc
7388         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
7389         comments, include libc-config.h, define __strverscmp to be
7390         strverscmp, and don’t assume types line uint8_t and int8_t that
7391         that C99 doesn’t guarantee.
7392         [!_LIBC]: Include libc-config.h; define __strverscmp.
7393         Include stdint.h.
7394         (__strverscmp): Assume C99.  Use uint_least8_t
7395         and int_least8_t instead of unsigned char and signed char.
7396         * modules/strverscmp (Depends-on): Add libc-config, stdint.
7398 2019-06-25  Bruno Haible  <bruno@clisp.org>
7400         tss tests: Add tests for destructors and races.
7401         * tests/test-tss.c (worker_thread): Fix typo in debug message.
7402         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
7403         functions.
7404         (main): Invoke them.
7405         * modules/tls-tests (Depends-on): Add mtx.
7407 2019-06-25  Bruno Haible  <bruno@clisp.org>
7409         tls tests: Add tests for destructors and races.
7410         * tests/test-tls.c: Include glthread/lock.h.
7411         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
7412         functions.
7413         (main): Invoke them.
7414         * modules/tls-tests (Depends-on): Add lock.
7416 2019-06-25  Bruno Haible  <bruno@clisp.org>
7418         windows-tls: Implement TLS key destructors for native Windows.
7419         * lib/windows-tls.h (glwthread_tls_process_destructors): New
7420         declaration.
7421         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
7422         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
7423         (dtor_table_init_once, dtor_table_lock: New variables.
7424         (struct dtor): New type.
7425         (dtor_table, dtors_count, dtors_used, dtors_allocated,
7426         dtor_processing_threads): New variables.
7427         (dtor_table_initialize, dtor_table_ensure_initialized,
7428         dtor_table_shrink_used, glwthread_tls_process_destructors): New
7429         functions.
7430         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
7431         handle non-NULL destructors.
7432         * modules/windows-tls (Depends-on): Add windows-once.
7433         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
7434         Use the functions declared in windows-tls.h.
7435         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
7436         GLWTHREAD_DESTRUCTOR_ITERATIONS.
7437         * lib/windows-thread.c: Include windows-tls.h.
7438         (wrapper_func, glwthread_thread_exit): Invoke
7439         glwthread_tls_process_destructors.
7440         * modules/windows-thread (Depends-on): Add windows-tls.
7442 2019-06-25  Bruno Haible  <bruno@clisp.org>
7444         threadlib: Avoid autoconf warning "was expanded before it was required".
7445         * modules/threadlib (configure.ac): Require gl_THREADLIB.
7447 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
7449         argmatch: remove duplicate const qualifier
7450         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
7452 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
7454         unistd: stddef.h and sys/types.h namespace cleanup
7455         * lib/unistd.in.h [__GLIBC__]:
7456         Do not include stddef.h or sys/types.h.
7457         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
7458         supposed to declare off_t and ssize_t.  Problem found when looking
7459         at why @GNULIB_PWRITE@ was different from the newly-added
7460         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
7462 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
7464         maintainer-makefile: restore portability to non-GNU awks
7465         Reported by Tim Rühsen.
7466         * top/maint.mk (AWK): New variable.  Use it.
7467         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
7469 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
7471         Document setvbuf _IOLBF problem
7472         * doc/posix-functions/setvbuf.texi (setvbuf):
7473         Document MS-Windows portability problem with _IOLBF.
7475         Document lseek SEEK_DATA/SEEK_HOLE
7476         * doc/posix-functions/lseek.texi (lseek):
7477         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
7479 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
7481         argmatch: put all the docs member last.
7482         Reported by Bruno Haible.
7483         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
7484         member before the docs done.
7485         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
7487 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
7489         argmatch: add support to generate the usage message.
7490         * lib/argmatch.c: Move some #includes and gettext support to...
7491         * lib/argmatch.h: here.
7492         (ARGMATCH_DEFINE_GROUP): New macro.
7493         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
7494         (argmatch_backup_group): New.
7495         (CHECK): New.
7496         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
7497         argmatch_backup_argument and argmatch_backup_usage.
7498         * modules/argmatch: We depend on c99.
7499         * doc/argmatch.texi (Recognizing Option Arguments): New.
7500         * doc/gnulib.texi: Use it.
7502 2019-06-21  Bruno Haible  <bruno@clisp.org>
7504         thrd: Add comment.
7505         * lib/thrd.c (pthread_main_func): Add comment.
7507 2019-06-21  Bruno Haible  <bruno@clisp.org>
7509         threads-h: Define 'thread_local' if and only if it actually works.
7510         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
7511         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
7512         Oracle Solaris Studio C. Compile a simple program, to see whether
7513         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
7514         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
7515         * lib/threads.in.h (thread_local): Undefine if it does not work.
7516         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
7517         (Link): Mention LIBTHREADLOCAL.
7518         * tests/test-threads.c: Don't check that thread_local is defined.
7519         * tests/test-thread_local.c: New file.
7520         * modules/threads-h-tests (Files): Add it and macros.h.
7521         (Depends-on): Add thrd and stdint.
7522         (configure.ac): Test whether 'alarm' is declared.
7523         (Makefile.am): Arrange to build and link test-thread_local.
7524         * doc/posix-headers/threads.texi: Mention the platforms that don't
7525         support 'thread_local'.
7527 2019-06-20  Bruno Haible  <bruno@clisp.org>
7529         threads-h: Simplify link dependencies.
7530         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
7531         Don't set LTLIBSTDTHREAD.
7532         * modules/thrd (Link): Simplify accordingly.
7533         * modules/mtx (Link): Likewise.
7534         * modules/cnd (Link): Likewise.
7535         * modules/tss (Link): Likewise.
7536         * modules/threads (Link): Likewise.
7538 2019-06-20  Bruno Haible  <bruno@clisp.org>
7540         threads-h: Fix link error on FreeBSD 11.
7541         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
7542         also with -lpthread.
7544 2019-06-20  Bruno Haible  <bruno@clisp.org>
7546         threadlib: Fix typo (regression from today).
7547         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
7549 2019-06-20  Bruno Haible  <bruno@clisp.org>
7551         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
7552         * lib/windows-thread.c: Include <errno.h>.
7553         * lib/windows-tls.c: Likewise.
7555 2019-06-20  Bruno Haible  <bruno@clisp.org>
7557         tss tests: Small improvement.
7558         * tests/test-tss.c (test_tss): Pass a different id to each thread.
7560 2019-06-20  Bruno Haible  <bruno@clisp.org>
7562         threads: New module.
7563         * modules/threads: New file.
7565 2019-06-20  Bruno Haible  <bruno@clisp.org>
7567         tss: Add tests.
7568         * tests/test-tss.c: New file, based on tests/test-tls.c.
7569         * modules/tss-tests: New file.
7571 2019-06-20  Bruno Haible  <bruno@clisp.org>
7573         cnd: Add tests.
7574         * tests/test-cnd.c: New file, based on tests/test-cond.c.
7575         * modules/cnd-tests: New file.
7577 2019-06-20  Bruno Haible  <bruno@clisp.org>
7579         mtx: Add tests.
7580         * tests/test-mtx.c: New file, based on tests/test-lock.c.
7581         * tests/test-call_once.c: New file, based on tests/test-once.c.
7582         * modules/mtx-tests: New file.
7584 2019-06-20  Bruno Haible  <bruno@clisp.org>
7586         thrd: Add tests.
7587         * tests/test-thrd_create.c: New file, based on
7588         tests/test-thread_create.c.
7589         * tests/test-thrd_current.c: New file, based on
7590         tests/test-thread_self.c.
7591         * modules/thrd-tests: New file.
7593 2019-06-20  Bruno Haible  <bruno@clisp.org>
7595         tss: New module.
7596         * lib/tss.c: New file.
7597         * modules/tss: New file.
7598         * doc/posix-functions/tss_create.texi: Mention the new module.
7599         * doc/posix-functions/tss_set.texi: Likewise.
7600         * doc/posix-functions/tss_get.texi: Likewise.
7601         * doc/posix-functions/tss_delete.texi: Likewise.
7603 2019-06-20  Bruno Haible  <bruno@clisp.org>
7605         cnd: New module.
7606         * lib/cnd.c: New file.
7607         * modules/cnd: New file.
7608         * doc/posix-functions/cnd_init.texi: Mention the new module.
7609         * doc/posix-functions/cnd_wait.texi: Likewise.
7610         * doc/posix-functions/cnd_timedwait.texi: Likewise.
7611         * doc/posix-functions/cnd_signal.texi: Likewise.
7612         * doc/posix-functions/cnd_broadcast.texi: Likewise.
7613         * doc/posix-functions/cnd_destroy.texi: Likewise.
7615 2019-06-20  Bruno Haible  <bruno@clisp.org>
7617         mtx: New module.
7618         * lib/mtx.c: New file.
7619         * modules/mtx: New file.
7620         * doc/posix-functions/call_once.texi: Mention the new module.
7621         * doc/posix-functions/mtx_init.texi: Likewise.
7622         * doc/posix-functions/mtx_lock.texi: Likewise.
7623         * doc/posix-functions/mtx_trylock.texi: Likewise.
7624         * doc/posix-functions/mtx_timedlock.texi: Likewise.
7625         * doc/posix-functions/mtx_unlock.texi: Likewise.
7626         * doc/posix-functions/mtx_destroy.texi: Likewise.
7628 2019-06-20  Bruno Haible  <bruno@clisp.org>
7630         thrd: New module.
7631         * lib/thrd.c: New file.
7632         * m4/thrd.m4: New file.
7633         * modules/thrd: New file.
7634         * doc/posix-functions/thrd_current.texi: Mention the new module.
7635         * doc/posix-functions/thrd_detach.texi: Likewise.
7636         * doc/posix-functions/thrd_equal.texi: Likewise.
7637         * doc/posix-functions/thrd_exit.texi: Likewise.
7638         * doc/posix-functions/thrd_sleep.texi: Likewise.
7639         * doc/posix-functions/thrd_yield.texi: Likewise.
7640         * doc/posix-functions/thrd_create.texi: Mention the new module and the
7641         AIX bug.
7642         * doc/posix-functions/thrd_join.texi: Mention the new module and the
7643         AIX and Solaris bugs.
7645 2019-06-20  Bruno Haible  <bruno@clisp.org>
7647         threads-h: Add tests.
7648         * tests/test-threads.c: New file.
7649         * modules/threads-h-tests: New file.
7650         * tests/test-threads-c++.cc: New file.
7651         * modules/threads-h-c++-tests: New file.
7653 2019-06-20  Bruno Haible  <bruno@clisp.org>
7655         threads-h: New module.
7656         * lib/threads.in.h: New file.
7657         * m4/threads.m4: New file.
7658         * m4/yield.m4 (gl_YIELD): Update comment.
7659         * modules/threads-h: New file.
7660         * modules/yields (configure.ac): Use AC_REQUIRE.
7661         * doc/posix-headers/threads.texi: Mention the new module and the AIX
7662         bugs.
7664 2019-06-20  Bruno Haible  <bruno@clisp.org>
7666         windows-thread: New module.
7667         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
7668         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
7669         * lib/glthread/thread.h: Include windows-thread.h.
7670         (gl_thread_t): Define using glwthread_thread_t.
7671         (glthread_create): Define using glwthread_thread_create.
7672         (glthread_join): Define using glwthread_thread_join.
7673         (gl_thread_self): Define using glwthread_thread_self.
7674         (gl_thread_exit): Define using glwthread_thread_exit.
7675         (glthread_create_func, glthread_join_func, gl_thread_self_func,
7676         gl_thread_exit_func): Remove declarations.
7677         * lib/glthread/thread.c (self_key): Remove variable.
7678         (do_init_self_key, init_self_key): Remove functions.
7679         (struct gl_thread_struct): Remove type.
7680         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
7681         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
7682         functions.
7683         * modules/windows-thread: New file.
7684         * modules/thread (Depends-on): Add windows-thread.
7686 2019-06-20  Bruno Haible  <bruno@clisp.org>
7688         windows-tls: New module.
7689         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
7690         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
7691         * lib/glthread/tls.h: Include windows-tls.h.
7692         (gl_tls_key_t): Define using glwthread_tls_key_t.
7693         * modules/windows-tls: New file.
7694         * modules/tls (Depends-on): Add windows-tls.
7696 2019-06-20  Bruno Haible  <bruno@clisp.org>
7698         windows-cond: New module.
7699         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
7700         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
7701         * lib/glthread/cond.h: Include windows-cond.h.
7702         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
7703         (gl_cond_t): Define using glwthread_cond_t.
7704         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
7705         (glthread_cond_init): Define using glwthread_cond_init.
7706         (glthread_cond_wait): Define using glwthread_cond_wait.
7707         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
7708         (glthread_cond_signal): Define using glwthread_cond_signal.
7709         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
7710         (glthread_cond_destroy): Define using glwthread_cond_destroy.
7711         (glthread_cond_init_func, glthread_cond_wait_func,
7712         glthread_cond_timedwait_func, glthread_cond_signal_func,
7713         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
7714         declarations.
7715         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
7716         types.
7717         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
7718         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
7719         glthread_cond_init_func, glthread_cond_wait_func,
7720         glthread_cond_timedwait_func, glthread_cond_signal_func,
7721         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
7722         functions.
7723         * modules/windows-cond: New file.
7724         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
7726 2019-06-20  Bruno Haible  <bruno@clisp.org>
7728         windows-timedrecmutex: New module.
7729         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
7730         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
7731         * modules/windows-timedrecmutex: New file.
7733 2019-06-20  Bruno Haible  <bruno@clisp.org>
7735         windows-timedmutex: New module.
7736         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
7737         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
7738         * modules/windows-timedmutex: New file.
7740 2019-06-20  Bruno Haible  <bruno@clisp.org>
7742         windows-recmutex: New module.
7743         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
7744         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
7745         * lib/glthread/lock.h: Include windows-recmutex.h.
7746         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
7747         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
7748         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
7749         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
7750         (glthread_recursive_lock_unlock): Define using
7751         glwthread_recmutex_unlock.
7752         (glthread_recursive_lock_destroy): Define using
7753         glwthread_recmutex_destroy.
7754         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
7755         glthread_recursive_lock_unlock_func,
7756         glthread_recursive_lock_destroy_func): Remove declarations.
7757         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
7758         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
7759         glthread_recursive_lock_destroy_func): Remove functions.
7760         * modules/windows-recmutex: New file.
7761         * modules/lock (Depends-on): Add windows-recmutex.
7763 2019-06-20  Bruno Haible  <bruno@clisp.org>
7765         windows-mutex: New module.
7766         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
7767         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
7768         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
7769         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
7770         (gl_spinlock_t): Remove type.
7771         (gl_lock_t): Define using glwthread_mutex_t.
7772         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
7773         (glthread_lock_init): Define using glwthread_mutex_init.
7774         (glthread_lock_lock): Define using glwthread_mutex_lock.
7775         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
7776         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
7777         (glthread_lock_init_func, glthread_lock_lock_func,
7778         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
7779         declarations.
7780         Use glwthread_spinlock_t instead of gl_spinlock_t.
7781         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
7782         GLWTHREAD_SPINLOCK_INIT.
7783         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
7784         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
7785         functions.
7786         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
7787         gl_spinlock_t.
7788         * modules/windows-mutex: New file.
7789         * modules/lock (Depends-on): Add windows-mutex.
7791 2019-06-20  Bruno Haible  <bruno@clisp.org>
7793         windows-once: New module.
7794         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
7795         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
7796         * lib/glthread/lock.h: Include windows-once.h.
7797         (gl_once_t): Define using glwthread_once_t.
7798         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
7799         (glthread_once): Define using glwthread_once.
7800         (glthread_once_func): Remove declaration.
7801         * lib/glthread/lock.c (glthread_once_func): Remove function.
7802         * modules/windows-once: New file.
7803         * modules/lock (Depends-on): Add windows-once.
7805 2019-06-20  Bruno Haible  <bruno@clisp.org>
7807         lock, cond: Avoid possible counter wraparound on Windows.
7808         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
7809         field of the guard unchanged if it was already positive.
7810         (glthread_rwlock_rdlock_func): Likewise.
7811         (glthread_rwlock_wrlock_func): Likewise.
7812         (glthread_recursive_lock_lock_func): Likewise.
7813         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
7814         (glthread_cond_timedwait_func): Likewise.
7816 2019-06-20  Bruno Haible  <bruno@clisp.org>
7818         cond: Make glthread_cond_timedwait more reliable on Windows.
7819         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
7820         condition variable before looking at the current time.
7822 2019-06-20  Bruno Haible  <bruno@clisp.org>
7824         pthread_mutex_timedlock: New module.
7825         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
7826         new declaration.
7827         * lib/pthread_mutex_timedlock.c: New file.
7828         * m4/pthread_mutex_timedlock.m4: New file.
7829         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
7830         whether pthread_mutex_timedlock is declared.
7831         (gl_PTHREAD_MODULE_INDICATOR): New macro.
7832         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
7833         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
7834         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
7835         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
7836         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
7837         * modules/pthread_mutex_timedlock: New file.
7838         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
7839         module.
7841 2019-06-20  Bruno Haible  <bruno@clisp.org>
7843         thread, lock, cond, tls: Recognize C11 multithreaded applications.
7844         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
7845         * lib/glthread/thread.h (c11_threads_in_use): New macro.
7846         (pthread_in_use, pth_in_use, thread_in_use): Use it.
7847         * lib/glthread/lock.h (c11_threads_in_use): New macro.
7848         (pthread_in_use, pth_in_use, thread_in_use): Use it.
7849         * lib/glthread/cond.h (c11_threads_in_use): New macro.
7850         (pthread_in_use, pth_in_use, thread_in_use): Use it.
7851         * lib/glthread/tls.h (c11_threads_in_use): New macro.
7852         (pthread_in_use, pth_in_use, thread_in_use): Use it.
7854 2019-06-20  Bruno Haible  <bruno@clisp.org>
7856         tls tests: Small improvements.
7857         * tests/test-tls.c: Include <stdint.h>.
7858         (worker_thread): Avoid gcc warning on 64-bit mingw.
7859         (test_tls): Pass a different id to each thread.
7860         * modules/tls-tests (Depends-on): Add stdint.
7862 2019-06-20  Bruno Haible  <bruno@clisp.org>
7864         cond tests: Simplify.
7865         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
7867 2019-06-20  Bruno Haible  <bruno@clisp.org>
7869         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
7870         * tests/test-lock.c (test_once): Don't reference fire_signal if
7871         !ENABLE_LOCKING.
7873 2019-06-19  Bruno Haible  <bruno@clisp.org>
7875         nanosleep: Relicense under LGPLv2+.
7876         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
7877         * modules/nanosleep (License): Change to LGPLv2+.
7879 2019-06-19  Bruno Haible  <bruno@clisp.org>
7881         Reorder pieces of header in perl scripts.
7882         The desired order is
7883         - Prologue part 1 (2 lines with #!)
7884         - Program short description
7885         - Copyright and license notice
7886         - Written-by notice
7887         - Program short description (optional)
7888         - Program long description (optional)
7889         - Prologue part 2
7890         - Time stamp
7891         - Code
7892         Reported by Paul Eggert.
7893         * build-aux/announce-gen: Reorder header.
7894         * build-aux/gitlog-to-changelog: Likewise.
7895         * build-aux/useless-if-before-free: Likewise.
7896         * build-aux/prefix-gnulib-mk: Add copyright notice and short
7897         description.
7898         * build-aux/update-copyright: Likewise. Add short description. Bump
7899         time-stamp-line-limit to 200.
7901 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
7903         verify-tests: work around xlc bug
7904         Problem reported by Bruno Haible in:
7905         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
7906         * tests/test-verify.c (item): Move the arithmetic inside the
7907         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
7909 2019-06-16  Bruno Haible  <bruno@clisp.org>
7911         Restore Emacs time-stamp hook applicability.
7912         Reported by Darshit Shah <darnir@gnu.org>.
7913         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
7914         * build-aux/announce-gen: Likewise.
7915         * build-aux/gitlog-to-changelog: Likewise.
7916         * build-aux/prefix-gnulib-mk: Likewise.
7917         * build-aux/update-copyright: Likewise.
7919 2019-06-15  Bruno Haible  <bruno@clisp.org>
7921         Fix scripts to have valid executable format on Alpine Linux.
7922         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
7923         Idea by Paul Eggert.
7924         * build-aux/useless-if-before-free: Use a prologue that starts with
7925         '#!/bin/sh'.
7926         * build-aux/announce-gen: Likewise.
7927         * build-aux/gitlog-to-changelog: Likewise.
7928         * build-aux/prefix-gnulib-mk: Likewise.
7929         * build-aux/update-copyright: Likewise.
7930         * tests/test-update-copyright.sh: Update test program accordingly.
7932 2019-06-10  Bruno Haible  <bruno@clisp.org>
7934         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
7935         Reported by Nikita Ermakov <arei@altlinux.org> in
7936         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
7937         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
7938         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
7940 2019-06-10  Bruno Haible  <bruno@clisp.org>
7942         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
7943         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
7944         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
7945         a copy of the path argument.
7946         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
7947         it.
7949 2019-06-10  Bruno Haible  <bruno@clisp.org>
7951         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
7952         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
7953         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
7954         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
7955         a copy of the path argument.
7956         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
7957         it.
7959 2019-06-10  Bruno Haible  <bruno@clisp.org>
7961         posix_spawn_file_actions_addfchdir: Add tests.
7962         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
7963         * tests/test-posix_spawn5.c: New file.
7964         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
7966 2019-06-10  Bruno Haible  <bruno@clisp.org>
7968         posix_spawn_file_actions_addfchdir: New module.
7969         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
7970         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
7971         union member 'fchdir_action'.
7972         * lib/spawn_faction_addfchdir.c: New file.
7973         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
7974         * m4/posix_spawn_faction_addfchdir.m4: New file.
7975         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
7976         'posix_spawn_file_actions_addfchdir' is present and whether
7977         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
7978         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
7979         posix_spawn_file_actions_addfchdir is declared.
7980         (gl_SPAWN_H_DEFAULTS): Initialize
7981         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
7982         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
7983         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
7984         * modules/spawn (Makefile.am): Substitute
7985         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
7986         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
7987         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
7988         * modules/posix_spawn_file_actions_addfchdir: New file.
7989         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
7990         signature.
7991         * doc/posix-functions/posix_spawn.texi: Mention the new module.
7992         * doc/posix-functions/posix_spawnp.texi: Likewise.
7993         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
7994         Likewise.
7996 2019-06-10  Bruno Haible  <bruno@clisp.org>
7998         doc: Document existence of posix_spawn_file_actions_addchdir module.
7999         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
8000         the posix_spawn_file_actions_addchdir module.
8002 2019-06-10  Bruno Haible  <bruno@clisp.org>
8004         posix_spawn-internal: Fix module description.
8005         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
8006         from here...
8007         * modules/posix_spawnp (configure.ac): ... and here...
8008         * modules/posix_spawn-internal (configure.ac): ... to here.
8010 2019-06-10  Bruno Haible  <bruno@clisp.org>
8012         doc: Update and improve documentation of glibc functions.
8013         This is a series of commits that
8014         - updates the documentation to the state of glibc 2.29,
8015         - adds references to Linux man pages and glibc documentation,
8016         - marks Linux specific functions as such.
8017         These are the commits:
8018         doc: Update after removal of crypt functions from glibc 2.28.
8019         doc: Remove mention of function vm86 (does not exist on x86_64).
8020         doc: Remove mention of functions that are gone from glibc.
8021         doc: Mention that glibc no longer provides h_errno.
8022         doc: Mention the availability of specific functions in glibc versions.
8023         doc: Mention eaccess.
8024         doc: Add references to Linux man pages.
8025         doc: Add references to glibc documentation.
8026         doc: Mention inotify_* functions.
8027         doc: Mention ppoll.
8028         doc: Mention sched_getcpu.
8029         doc: Mention sync_file_range.
8030         doc: Mention epoll_pwait.
8031         doc: Mention eventfd, eventfd_read, eventfd_write.
8032         doc: Mention signalfd.
8033         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
8034         doc: Mention epoll_create1.
8035         doc: Mention getauxval.
8036         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
8037         doc: Mention nextdown, nextup.
8038         doc: Mention more ISO TS 18661-1 <math.h> functions.
8039         doc: Mention ISO TS 18661-1 <fenv.h> functions.
8040         doc: Mention getrandom, getentropy.
8041         doc: Mention strfromf, strfromd, strfroml.
8042         doc: Mention preadv2, pwritev2.
8043         doc: Mention copy_file_range.
8044         doc: Mention memfd_create.
8045         doc: Mention mlock2.
8046         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
8047         doc: Mention more ISO TS 18661-1 <math.h> functions.
8048         doc: Mention renameat2.
8049         doc: Mention statx.
8050         doc: Mention the ISO C11 multithreading header and functions.
8051         doc: Mention getcpu.
8052         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
8053         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
8054         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
8055         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
8056         doc: Some glibc functions also exist on Solaris 11.
8057         doc: Some glibc functions also exist on Solaris 11.4.
8058         doc: Some glibc functions also exist on FreeBSD.
8059         doc: Some glibc functions also exist on BeOS.
8060         doc: Some glibc functions also exist on Haiku.
8061         doc: Mark functions which exist only on Linux.
8062         doc: Mark functions which exist only on Linux and illumos.
8064 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
8066         copy-file: fix typo
8067         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
8069         copy-file-range: simplify into a stub
8070         Based on a comment by Florian Weimer in:
8071         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
8072         It turns out that Emacs (which will use this module) won’t need an
8073         emulation and I suspect other programs won’t either, because these
8074         programs will need to fall back on read+write anyway.  Perhaps I
8075         am wrong and other programs will be able to use an emulation; if
8076         so, this patch can be reverted.
8077         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
8078         Just call it copy_file_range.
8079         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
8080         Check via AC_LINK_IFELSE.
8081         * modules/copy-file-range (Depends-on): Remove modules no longer used.
8083 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
8085         copy-file: prefer copy_file_range
8086         * lib/copy-file.c: Do not include xalloc.h.
8087         (qcopy_file_preserving): Allocate a buffer only if
8088         copy_file_range does not suffice.  If the allocation fails
8089         don't give up; just use a small stack-based buffer.
8090         Prefer copy_file_range if it works.
8091         * modules/copy-file (Depends-on): Add copy-file-range.
8092         Remove xalloc.
8094         copy-file-range: new module
8095         * MODULES.html.sh: Add copy-file-range.
8096         * lib/copy-file-range.c, m4/copy-file-range.m4:
8097         * modules/copy-file-range: New files.
8098         * lib/unistd.in.h (copy_file_range): Declare.
8099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
8100         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
8101         * modules/unistd (unistd.h): Substitute them.
8103 2019-05-28  Bruno Haible  <bruno@clisp.org>
8105         binary-io: Attempted use of O_BINARY on consoles no longer fails.
8106         Reported by KO Myung-Hun <komh78@gmail.com> in
8107         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
8108         * lib/binary-io.h (__gl_setmode_check): Remove function.
8109         (set_binary_mode): Declare as notinline on DJGPP and EMX.
8110         * lib/binary-io.c (__gl_setmode_check): Remove function.
8111         (set_binary_mode): Define here on DJGPP and EMX. Inline
8112         __gl_setmode_check. In case of a tty, don't return an error code.
8114 2019-05-28  James Youngman  <jay@gnu.org>
8116         dirent-safer: Make opendir_safer usable from C++.
8117         * lib/dirent-safer.h: use extern "C".
8119 2019-05-28  James Youngman  <jay@gnu.org>
8121         canonicalize: Make canonicalize_filename_mode usable from C++.
8122         * lib/canonicalize.h: use extern "C".
8124 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
8126         prefix-gnulib-mk: Fix CPPFLAGS migration.
8127         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
8128         _a part of the library name.
8130 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
8132         flexmember: update comments again
8133         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
8135         flexmember: update comment
8136         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
8138 2019-05-20  Bruno Haible  <bruno@clisp.org>
8140         setlocale: Improve fallback on macOS.
8141         * lib/setlocale.c (search): Optimize away a redundant strcmp()
8142         invocation.
8143         (locales_with_principal_territory): New array.
8144         (langcmp, get_main_locale_with_same_language): New functions.
8145         (locales_with_principal_language): New array.
8146         (terrcmp, get_main_locale_with_same_territory): New functions.
8147         (rpl_setlocale): When setlocale_single failed, try again with a locale
8148         that is more likely to exist. Don't warn if the environment variable
8149         SETLOCALE_VERBOSE is not set.
8151 2019-05-19  Bruno Haible  <bruno@clisp.org>
8153         localename: Fix default on macOS.
8154         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
8155         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
8156         (gl_locale_name_environ, gl_locale_name_default): Remove code for
8157         HAVE_CFLOCALECOPYCURRENT.
8158         * lib/localename.h (gl_locale_name_default): Update.
8160 2019-05-19  Karl Berry  <karl@freefriends.org>
8162         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
8163         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
8164         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
8166 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
8168         maintainer-makefile: catch uses of $< in non-implicit rules
8169         * top/maint.mk (sc_prohibit_magic_number_exit): New.
8171 2019-05-18  Bruno Haible  <bruno@clisp.org>
8173         threadlib: Provide an easy way to avoid mingw's winpthreads library.
8174         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
8175         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
8176         gl_use_threads accordingly.
8178 2019-05-18  Bruno Haible  <bruno@clisp.org>
8180         pthread_sigmask: Fix compilation error with --enable-threads=windows.
8181         Reported by Tim Rühsen in
8182         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
8183         and Michele Locati in
8184         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
8185         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
8186         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
8187         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
8188         in use and regardless which threads API is chosen.
8190 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8192         close-stream, closein, closeout: simplify
8193         I noticed this opportunity for simplification while drafting a
8194         new, related module that I haven’t had time to finish yet.
8195         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
8196         * modules/close-stream (Files): Remove m4/close-stream.m4.
8197         (configure.ac): Omit gl_CLOSE_STREAM.
8198         * modules/closein (Files): Remove m4/closein.m4
8199         (configure.ac): Omit gl_CLOSEIN.
8200         * modules/closeout (Files): Remove m4/closeout.m4.
8201         (configure.ac): Omit gl_CLOSEOUT.
8203 2019-05-12  Bruno Haible  <bruno@clisp.org>
8205         libtool-next-version: New program.
8206         * build-aux/libtool-next-version: New file.
8208 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
8209             Bruno Haible  <bruno@clisp.org>
8211         version-etc: Ease translation.
8212         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
8213         URLs and formatting newlines out of translatable string.
8215 2019-05-11  Bruno Haible  <bruno@clisp.org>
8217         gnupload: Explain how to create symlinks.
8218         * build-aux/gnupload (usage): Add an example that creates symlinks.
8220 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
8222         fpucw: port to gcc -pedantic
8223         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
8224         Use __extension__ if using ({ ... }).
8226         crypto/af_alg: port to strict C compilers
8227         * lib/af_alg.c: Include af_alg.h regardless, so that the
8228         compilation unit is nonempty.
8230 2019-05-10  Bruno Haible  <bruno@clisp.org>
8232         base64: Avoid false positive warning from Coverity.
8233         Reported by Kamil Dudka <kdudka@redhat.com>.
8234         Idea by Paul Eggert.
8235         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
8236         '& 0x3f' to the array index expressions. This convinces Coverity that
8237         there is no out-of-bounds array reference, regardless of the input.
8239 2019-05-09  Bruno Haible  <bruno@clisp.org>
8241         gettext: Update to gettext 0.20.
8242         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
8243         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
8244         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
8245         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
8246         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
8247         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
8248         (configure.ac): Request infrastructure compatible with gettext 0.20.
8249         * m4/glibc2.m4: Remove file.
8250         * m4/intdiv0.m4: Remove file.
8251         * m4/intl.m4: Remove file.
8252         * m4/intldir.m4: Remove file.
8253         * m4/intmax.m4: Remove file.
8254         * m4/printf-posix.m4: Remove file.
8255         * m4/uintmax_t.m4: Remove file.
8256         * m4/gettext.m4: Update from gettext 0.20.
8257         * m4/po.m4: Likewise.
8259 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
8261         verify: remove verify_true
8262         * NEWS: Mention this.
8263         * lib/verify.h (verify_true): Remove.
8264         * tests/test-verify.c (item): Test verify_expr, not verify_true.
8266         Support C2X and C++17 static_assert
8267         C2X and C++17 finally added support for a simple, single-argument
8268         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
8269         doing back in 2005.  Implement static_assert on older platforms.
8270         The only remaining advantage of ‘verify’ is a shorter name.
8271         * doc/posix-headers/assert.texi (assert.h):
8272         * doc/verify.texi (Compile-time Assertions):
8273         Modernize for C2X and C++17.
8274         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
8275         New macros.
8276         (_GL_HAVE__STATIC_ASSERT): Remove.
8277         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
8278         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
8279         string.  All callers changed.
8280         (_GL_VERIFY): Require 3 or more args, of which only the first 2
8281         are used.  All callers changed.
8282         (_Static_assert): Allow either 1 or 2 args, and define if
8283         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
8284         !_GL_HAVE__STATIC_ASSERT.
8285         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
8286         of defining if !_GL_HAVE_STATIC_ASSERT.
8287         (verify_expr, verify): Don’t bother trying to copy the expression
8288         into the diagnostic, since 1-argument static_assert doesn’t.
8289         (verify): Prefer 1-argument _Static_assert if it works.
8290         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
8292 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
8294         Fix _GL_HAVE__STATIC_ASSERT typo
8295         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
8296         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
8298 2019-05-05  Bruno Haible  <bruno@clisp.org>
8300         wcwidth: Ensure width 1, not 2, for ambiguous characters.
8301         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
8302         via Akim Demaille <akim.demaille@gmail.com>.
8303         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
8304         en_US.UTF-8 locale, since that is more likely to be present than an
8305         fr_FR.UTF-8 locale.
8306         * tests/test-wcwidth.c (main): Check the width of U+2202.
8307         * doc/posix-functions/wcwidth.texi: Mention the issue.
8309 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
8311         Port manywarnings to GCC 9
8312         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
8313         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
8314         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
8315         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
8316         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
8317         --help=warnings output.
8318         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
8319         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
8320         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
8322 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
8324         Sync lib/mktime-internal.h from glibc
8325         * config/srclist.txt: Add entry for lib/mktime-internal.h.
8326         * lib/mktime-internal.h: Autoupdate.
8328 2019-04-28  Bruno Haible  <bruno@clisp.org>
8330         tls tests: Prevent that the test takes too long.
8331         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
8332         (main): Let the test fail if it takes more than 10 minutes.
8333         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
8335 2019-04-27  Bruno Haible  <bruno@clisp.org>
8337         lock tests: Prevent that the test takes too long.
8338         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
8339         (main): Let the test fail if it takes more than 10 minutes.
8340         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
8342 2019-04-27  Bruno Haible  <bruno@clisp.org>
8344         localename: Fix crash on mingw (regression from 2018-11-23).
8345         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
8346         locale name that is null.
8348 2019-04-27  Bruno Haible  <bruno@clisp.org>
8350         Fix gcc warnings on 64-bit mode mingw.
8351         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
8352         * lib/gl_array_list.c: Likewise.
8353         * lib/gl_array_map.c: Likewise.
8354         * lib/gl_array_set.c: Likewise.
8355         * lib/gl_carray_list.c: Likewise.
8356         * lib/gl_sublist.c: Likewise.
8357         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
8358         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
8359         * lib/gl_hash_map.c (uintptr_t): Likewise.
8360         * lib/gl_hash_set.c (uintptr_t): Likewise.
8361         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
8362         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
8363         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
8364         * lib/iconv.c (uintptr_t): Likewise.
8365         * lib/iconv_close.c (uintptr_t): Likewise.
8366         * tests/test-lock.c: Include <stdint.h>.
8367         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
8368         'long'.
8369         * modules/clean-temp (Depends-on): Add stdint.
8370         * modules/array-list (Depends-on): Likewise.
8371         * modules/array-map (Depends-on): Likewise.
8372         * modules/array-set (Depends-on): Likewise.
8373         * modules/carray-list (Depends-on): Likewise.
8374         * modules/sublist (Depends-on): Likewise.
8375         * modules/lock-tests (Depends-on): Likewise.
8377 2019-04-27  Bruno Haible  <bruno@clisp.org>
8379         error: Tweak indentation.
8380         * lib/error.c: Correct indentation.
8382 2019-04-27  Bruno Haible  <bruno@clisp.org>
8384         term-style-control: Fix gcc warning on mingw.
8385         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
8386         of i.
8388 2019-04-26  Bruno Haible  <bruno@clisp.org>
8390         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
8391         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
8393 2019-04-26  Bruno Haible  <bruno@clisp.org>
8395         relocatable-prog: Fix gcc warning on mingw.
8396         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
8397         on EMX.
8399 2019-04-02  Bruno Haible  <bruno@clisp.org>
8401         gitsub.sh: New file.
8402         * top/gitsub.sh: New file.
8404 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
8406         argmatch: use void* for raw memory pointers
8407         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
8408         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
8409         to "values", keep char* for strings.
8411 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
8413         prefix-gnulib-mk: fix the support for gnulib-po
8414         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
8415         Don't touch HAVE_* variables.
8416         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
8418 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
8420         di-set: allow free with 'ino_map' being NULL.
8421         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
8422         is NULL.  Bug introduced in commit 3703dbbe88dd.
8423         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
8424         as a test.
8426 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
8428         * lib/str-two-way.h: Fix comment typo.
8430 2019-04-13  Bruno Haible  <bruno@clisp.org>
8432         x-to-1: Restore ability to use original calling convention.
8433         * build-aux/x-to-1.in: Add comments. Accept the original form of
8434         HELP2MAN argument as well as the form expected since 2012-12-12.
8436 2019-04-13  Bruno Haible  <bruno@clisp.org>
8438         x-to-1: Avoid failure due to missing perl modules.
8439         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
8440         needs are installed.
8442 2019-04-13  Bruno Haible  <bruno@clisp.org>
8444         openmp-init: New module.
8445         * modules/openmp-init: New file.
8446         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
8447         the changes from 2019-04-09.
8449 2019-04-12  Bruno Haible  <bruno@clisp.org>
8451         signbit: Fix compilation error when gnulib's math.h exists twice.
8452         * lib/math.in.h (GNULIB_defined_signbit): New macro.
8454 2019-04-12  Bruno Haible  <bruno@clisp.org>
8456         openmp: Fix compilation error on platforms without OpenMP.
8457         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
8459 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
8461         mountlist: make parsing /proc/self/mountinfo more robust
8462         Cater for the following issues with mountinfo parsing (the first
8463         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
8464         in <https://bugs.gnu.org/35137>).
8465         1. The fields source, target, mntroot and fstype may contain characters
8466         like '\r'; sscanf(3) fails to read such values with the %s format
8467         specifier because it would stop at such characters.
8468         Example: "mount -t tmpfs tmpfs /foo^Mbar".
8469         The only true separator in that file is the ' ' character.
8470         2. The source field may be an empty string, which happens e.g. with
8471         "mount -t tmpfs '' /target".
8472         3. The fstype field may contain mangled characters as well which need
8473         unescaping.
8474         * lib/mountlist.c (terminate_at_blank): Add utility function.
8475         (read_file_system_list): In the block trying to read the mountinfo file,
8476         avoid using sscanf(3) with %s format; instead, parse the above fields
8477         separated by spaces one by one.
8478         This also handles the case when the source field is an empty string.
8479         Unescape the fstype field.
8481 2019-04-09  Bruno Haible  <bruno@clisp.org>
8483         openmp: Add workaround for 32-bit programs on AIX.
8484         * lib/omp.in.h: New file.
8485         * lib/omp-init.c: New file, based on lib/nproc.c.
8486         * m4/omp_h.m4: New file.
8487         * modules/openmp (Files): Add them.
8488         (Depends-on): Add include_next, c-ctype, setenv.
8489         (configure.ac): Invoke gl_OMP_H.
8490         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
8491         (Include): Mention <omp.h>.
8493 2019-04-09  Bruno Haible  <bruno@clisp.org>
8495         nproc: Fix return value for privileged processes.
8496         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
8497         getpid().
8499 2019-04-07  Bruno Haible  <bruno@clisp.org>
8501         Add copyright notices in several files.
8502         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
8503         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
8504         * lib/libunistring.valgrind: Likewise.
8505         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
8506         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
8507         * lib/memchr.valgrind: Likewise.
8508         * lib/memchr2.valgrind: Likewise.
8509         * lib/rawmemchr.valgrind: Likewise.
8510         * lib/relocatable.valgrind: Likewise.
8511         * lib/strchrnul.valgrind: Likewise.
8513 2019-03-25  Bruno Haible  <bruno@clisp.org>
8515         term-style-control tests: Fix link error.
8516         Reported by Tom G. Christensen in
8517         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
8518         * modules/term-style-control-tests (Makefile.am): Link
8519         test-term-style-control-hello and test-term-style-control-yes against
8520         LIBINTL.
8522 2019-03-24  Bruno Haible  <bruno@clisp.org>
8524         term-style-control: Add tests.
8525         * tests/test-term-style-control-hello.c: New file.
8526         * tests/test-term-style-control-yes.c: New file.
8527         * modules/term-style-control-tests: New file.
8529         term-style-control: New module.
8530         * lib/term-style-control.h: New file, based on libtextstyle's
8531         term-ostream.oo.h and term-ostream.oo.c.
8532         * lib/term-style-control.c: New file, based on libtextstyle's
8533         term-ostream.oo.c.
8534         * modules/term-style-control: New file.
8536 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
8538         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
8539         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
8540         C++98 appears to be supported by Clang, but not by GCC nor ICC.
8542 2019-03-23  Bruno Haible  <bruno@clisp.org>
8544         Support cross-compilation to musl libc.
8545         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
8546         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
8547         musl libc.
8548         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8549         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
8550         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
8551         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8552         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8553         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
8554         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8555         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
8556         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8557         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
8558         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
8559         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
8560         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
8561         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8562         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
8563         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
8564         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
8565         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8566         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
8567         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8568         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8569         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8570         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
8571         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8572         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
8573         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
8574         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
8575         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
8576         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
8577         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
8578         * m4/log.m4 (gl_FUNC_LOG): Likewise.
8579         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
8580         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
8581         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
8582         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
8583         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
8584         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
8585         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
8586         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
8587         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
8588         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
8589         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
8590         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
8591         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8592         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
8593         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
8594         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
8595         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
8596         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
8597         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
8598         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
8599         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
8600         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
8601         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
8602         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8603         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
8604         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
8605         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
8606         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
8607         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8608         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8609         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8610         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8611         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
8612         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8613         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8614         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8615         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
8616         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8617         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
8618         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8619         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8620         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8621         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
8622         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
8623         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8624         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8627 2019-03-23  Bruno Haible  <bruno@clisp.org>
8629         posix_spawn_file_actions_*: Document musl libc bugs.
8630         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8631         the bug.
8632         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
8633         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
8634         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
8635         cross-compiling to a musl system, guess no.
8636         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
8637         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
8639 2019-03-23  Bruno Haible  <bruno@clisp.org>
8641         futimens: Document musl libc bug.
8642         * doc/posix-functions/futimens.texi: Mention the bug.
8643         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
8644         cross-compiling, guess no on glibc and musl systems.
8646 2019-03-23  Bruno Haible  <bruno@clisp.org>
8648         Clarify that cross-compilation guesses are guesses.
8649         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
8650         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
8651         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
8652         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
8653         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
8654         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
8655         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
8656         gl_cv_glob_lists_symlinks.
8657         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
8658         'guessing ' to ac_cv_func_malloc_0_nonnull.
8659         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
8660         'guessing ' to ac_cv_func_realloc_0_nonnull.
8661         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
8662         'guessing ' to gl_cv_func_poll.
8663         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
8664         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
8665         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
8667 2019-03-23  Bruno Haible  <bruno@clisp.org>
8669         strtold: Fix typo.
8670         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
8672 2019-03-23  Bruno Haible  <bruno@clisp.org>
8674         noreturn: In C++ mode with clang, use _Noreturn as fallback.
8675         Reported by Akim Demaille.
8676         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
8677         [[noreturn]] would not work, use _Noreturn instead.
8679 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
8681         libtextstyle-optional: Fix compiler warnings.
8682         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
8683         as unused.
8685 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
8687         bitset: fix memory leaks
8688         Reported by Bruno Haible.
8689         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
8690         * lib/bitset/vector.c (vbitset_free): New.
8691         (vbitset_vtable): Use it.
8693 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
8695         bitset: minor changes
8696         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
8697         * lib/bitset/table.c: Formatting changes.
8698         Remove useless braces.
8699         Prefer using else in cascades of if/else-if with returns.
8700         * lib/bitset/vector.c: Reduce scopes.
8702 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
8704         bitset: expose bitset_resize
8705         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
8706         * tests/test-bitset.c (check_attributes): Check bitset_resize.
8707         (main): Use a variable bitset as reference, since fixed does not support resize.
8709 2019-03-19  Bruno Haible  <bruno@clisp.org>
8711         doc: Document the 'stdnoreturn' and 'noreturn' modules.
8712         Reported by Akim Demaille.
8713         * doc/noreturn.texi: New file.
8714         * doc/gnulib.texi: Include it.
8716 2019-03-19  Bruno Haible  <bruno@clisp.org>
8718         doc: Document how to use 'static inline'.
8719         * doc/static-inline.texi: New file.
8720         * doc/gnulib.texi: Include it.
8722 2019-03-19  Bruno Haible  <bruno@clisp.org>
8724         libtextstyle-optional: Add tests.
8725         * tests/test-libtextstyle.c: New file, based on libtextstyle's
8726         adhoc-tests/hello.c.
8727         * tests/test-libtextstyle-default.css: New file, copied from
8728         libtextstyle's adhoc-tests/hello-default.css.
8729         * modules/libtextstyle-optional-tests: New file.
8731         libtextstyle-optional: New module.
8732         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
8733         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
8734         * modules/libtextstyle-optional: New file.
8736 2019-03-19  Bruno Haible  <bruno@clisp.org>
8738         c-stack: Make signal handlers more reliable.
8739         * lib/c-stack.c (progname): New variable.
8740         (die): Use it.
8741         (c_stack_action): Initialize it.
8742         (segv_handler): Save and restore errno.
8744 2019-03-19  Bruno Haible  <bruno@clisp.org>
8746         Help making signal handlers more reliable.
8747         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
8748         _GL_ASYNC_SAFE into config.h.
8749         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
8750         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
8751         argument.
8752         * lib/fatal-signal.c (action_t, uninstall_handlers,
8753         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
8754         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
8755         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
8756         _GL_ASYNC_SAFE.
8757         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
8758         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
8760 2019-03-18  Bruno Haible  <bruno@clisp.org>
8762         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
8763         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
8764         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
8766 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
8768         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
8769         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
8770         GCC 4.8.
8772 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8774         fts: minor simplification
8775         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
8777 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
8779         bitset, timevar: Depend on c99.
8780         Reported by Bruno Haible.
8781         * modules/bitset, modules/timevar (Depends-on): Add c99.
8783 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
8785         bitset: a bit (...) more tests
8786         * tests/test-bitset.c (check_attributes): Check zero and ones.
8788 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
8790         bitset: fix overflows.
8791         Reported by Bruno Haible.
8792         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
8793         * lib/bitset/table.c (tbitset_test): last_bit is the position of
8794         the bit in the array of bitset_word, so be sure to take its modulo
8795         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
8796         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
8798 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
8800         bitset: style changes.
8801         * lib/bitset/table.c: Use NULL, not 0, for pointers.
8802         Formatting changes.
8803         (tbitset_list): Reduce scopes.
8805 2019-03-16  Bruno Haible  <bruno@clisp.org>
8807         fatal-signal: Pass the signal number to the action.
8808         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
8809         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
8810         (fatal_signal_handler): Pass the signal number to the action.
8811         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
8812         signal number as parameter.
8813         (create_temp_dir): Update.
8814         * lib/wait-process.c (cleanup_slaves_action): New function.
8815         (register_slave_subprocess): Update at_fatal_signal invocation.
8816         * NEWS: Mention the change.
8818 2019-03-16  Bruno Haible  <bruno@clisp.org>
8820         fatal-signal: Add function that lists the fatal signals.
8821         * lib/fatal-signal.h (get_fatal_signals): New declaration.
8822         * lib/fatal-signal.c (get_fatal_signals): New function.
8824 2019-03-14  Bruno Haible  <bruno@clisp.org>
8826         isatty: Make it return true in Cygwin consoles on native Windows.
8827         * lib/isatty.c: Include <string.h>.
8828         (GetProcAddress): New macro.
8829         (GetNamedPipeClientProcessIdFuncType): New type.
8830         (GetNamedPipeClientProcessIdFunc): New variable.
8831         (QueryFullProcessImageNameFuncType): New type.
8832         (QueryFullProcessImageNameFunc): New variable.
8833         (initialized): New variable.
8834         (initialize): New function.
8835         (IsCygwinConsoleHandle): New function.
8836         (isatty): Invoke it.
8837         * doc/posix-functions/isatty.texi: Mention the issue.
8839 2019-03-14  Bruno Haible  <bruno@clisp.org>
8841         all: Update URLs to msdn.microsoft.com.
8842         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
8843         was moved to docs.microsoft.com.
8845 2019-03-13  Bruno Haible  <bruno@clisp.org>
8847         gnulib-tool: Clarify the coding style.
8848         Suggested by Pavel Raiskup <praiskup@redhat.com>.
8849         * gnulib-tool: Add comment about coding style.
8851 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8853         strtod: fix clash with strtold
8854         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
8855         * lib/strtod.c (compute_minus_zero, minus_zero):
8856         Simplify by remving the macro / external variable,
8857         and having just a function.  User changed.  This avoids
8858         the need for an external variable that might clash.
8860 2019-03-10  Bruno Haible  <bruno@clisp.org>
8862         alloca-opt: Fix conflict mingw's new <alloca.h> file.
8863         Reported by Eli Zaretskii <eliz@gnu.org>.
8864         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
8865         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
8866         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
8868 2019-03-10  Bruno Haible  <bruno@clisp.org>
8870         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
8871         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
8872         is in use.
8873         * tests/test-printf-posix2.c: Likewise.
8875 2019-03-10  Bruno Haible  <bruno@clisp.org>
8877         uninorm tests: Free allocated memory.
8878         * tests/uninorm/test-u32-normalize-big.h
8879         (struct normalization_test_file): Remove 'const' from allocated member.
8880         (free_normalization_test_file): New declaration.
8881         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
8882         memory.
8883         (free_normalization_test_file): New function.
8884         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
8885         'struct normalization_test_file' contents.
8886         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
8887         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
8888         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
8890 2019-03-10  Bruno Haible  <bruno@clisp.org>
8892         di-set: Fix memory leak.
8893         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
8894         not free().
8896 2019-03-10  Bruno Haible  <bruno@clisp.org>
8898         tests: Free allocated memory.
8899         Reported by <deltatau@protonmail.com> via Assaf Gordon.
8900         * tests/test-astrxfrm.c (main): Free allocated memory.
8901         * tests/test-bitset.c (compare, check_attributes): Free allocated
8902         bitsets.
8903         * tests/test-filenamecat.c (main): Free allocated memory.
8904         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
8905         * tests/test-freadptr.c (main): Likewise.
8906         * tests/test-freadptr2.c (main): Free allocated memory.
8907         * tests/test-freadseek.c (main): Likewise.
8908         * tests/test-gc-arcfour.c (main): Close allocated context.
8909         * tests/test-gc-arctwo.c (main): Likewise.
8910         * tests/test-gc-des.c (main): Close all allocated contexts.
8911         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
8912         * tests/test-pipe-filter-ii1.c (main): Likewise.
8913         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
8914         allocated file actions.
8915         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
8916         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
8917         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
8918         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
8919         * tests/test-strfmon_l.c (main): Free allocated locales.
8920         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
8921         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
8922         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
8923         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
8924         * tests/unistr/test-chr.h (main): Free input32.
8925         * tests/unistr/test-strchr.h (test_strchr): Likewise.
8927 2019-03-10  Bruno Haible  <bruno@clisp.org>
8929         tests: Prepare for using valgrind.
8930         * tests/*.sh: Invoke all test programs through ${CHECKER}.
8931         * tests/*/*.sh: Likewise.
8932         * tests/test-freadptr.c (main): Update accordingly.
8933         * tests/test-freadseek.c (main): Likewise.
8935 2019-03-09  Bruno Haible  <bruno@clisp.org>
8937         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
8938         * lib/get-rusage-as.c (get_rusage_as): When compiled by
8939         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
8940         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
8941         before exiting.
8943 2019-03-09  Jim Meyering  <meyering@fb.com>
8945         test-userspec.c: don't print NULL
8946         * tests/test-userspec.c (main): A test release of gcc,
8947         9.0.1 20190310, warned that this test would attempt to
8948         print a NULL pointer via a %s printf format.  Fix that
8949         and remove the unnecessary preceding "!diag" conjunct.
8950         Also add a comment.
8952 2019-03-03  Bruno Haible  <bruno@clisp.org>
8954         getloadavg: Write NULL for the null pointer.
8955         Reported by Michal Privoznik <mprivozn@redhat.com>.
8956         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
8958 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
8960         alloca, tsearch-tests: Write NULL for the null pointer.
8961         * lib/alloca.c (i00afunc): Write NULL instead of 0.
8962         * tests/test-tsearch.c (mangle_tree): Likewise.
8964 2019-03-09  Bruno Haible  <bruno@clisp.org>
8966         strfmon_l: Fix -fsanitize=address finding.
8967         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
8968         <string.h>.
8969         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
8970         (directive_t, directives_t): New types.
8971         (fmon_parse): New function.
8972         (rpl_strfmon_l): Don't call va_arg more often than needed for the
8973         format string. Consume 'long double' arguments in places where the
8974         format string indicates so.
8975         * modules/strfmon_l (Depends-on): Add 'stdbool'.
8977 2019-03-09  Bruno Haible  <bruno@clisp.org>
8979         crypto/des: Fix undefined behaviour.
8980         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
8981         shift operations on 'int'.
8983 2019-03-09  Bruno Haible  <bruno@clisp.org>
8985         Fix undefined behaviour.
8986         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
8987         'unsigned int', to avoid shift operations on 'int'.
8988         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
8989         * tests/test-count-leading-zeros.c (main): Use a random number that has
8990         as many bits as TYPE, not only 2*15 or 2*31 bits.
8991         * tests/test-count-trailing-zeros.c (main): Likewise.
8992         * tests/test-count-one-bits.c (main): Likewise.
8993         * tests/test-memmem.c: Don't include "null-ptr.h".
8994         (main): Use zerosize_ptr() instead of null_ptr().
8995         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
8997 2019-03-08  Bruno Haible  <bruno@clisp.org>
8999         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
9000         Reported by Jeffrey Walton <noloader@gmail.com>.
9001         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
9002         invoke memset with a zero size.
9003         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
9004         Likewise.
9005         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
9006         Adjust accordingly.
9008 2019-03-08  Bruno Haible  <bruno@clisp.org>
9010         unistr/*, uniconv/*: Fix undefined behaviour.
9011         Reported by Jeffrey Walton <noloader@gmail.com>.
9012         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
9013         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
9014         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
9015         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9017 2019-03-08  Bruno Haible  <bruno@clisp.org>
9019         unistr/u8-cmp: Fix undefined behaviour.
9020         Reported by Jeffrey Walton <noloader@gmail.com>.
9021         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
9023 2019-03-08  Bruno Haible  <bruno@clisp.org>
9025         unictype/numeric: Fix undefined behaviour.
9026         Reported by Jeffrey Walton <noloader@gmail.com>.
9027         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
9028         on shift overflow, caught by "gcc -fsanitize=undefined".
9029         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
9030         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
9031         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
9033 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
9035         git-version-gen: fix --version copyright year
9036         * build-aux/git-version-gen, build-aux/move-if-change (version):
9037         --version output copyright year is now taken from script year,
9038         so that it no longer needs to be updated by hand.
9040 2019-03-04  Bruno Haible  <bruno@clisp.org>
9042         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
9043         This approach supports relocatable installation of shared libraries
9044         which depend on other shared libraries from the same package.
9045         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
9046         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
9047         wrapper around the original LIBTOOL.
9048         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
9049         token '@loader_path' instead of '$ORIGIN'.
9050         * build-aux/libtool-reloc: New file.
9051         * modules/relocatable-prog (Files): Add it.
9052         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
9053         the recent changes. Document the need to set the *_LDFLAGS of libraries.
9054         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
9055         Makefile.am, not in configure.ac.
9057 2019-03-04  Bruno Haible  <bruno@clisp.org>
9059         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
9060         * build-aux/install-reloc: Revert change.
9061         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
9063 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9065         nstrftime: support the ‘+’ flag
9066         * lib/nstrftime.c (add, __strftime_internal):
9067         Add support for the ‘+’ flag introduced in POSIX.1-2017.
9068         (__strftime_internal): New arg ‘width’.  All uses changed.
9069         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
9071 2019-02-24  Bruno Haible  <bruno@clisp.org>
9073         relocatable-prog: Improve verbose output.
9074         * build-aux/install-reloc (func_verbose): Escape characters that would
9075         be interpreted by the shell.
9077 2019-02-24  Bruno Haible  <bruno@clisp.org>
9079         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
9080         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
9081         "sys/stat.h".
9082         * lib/lstat.c: Likewise.
9083         * lib/fstat.c: Likewise.
9084         * lib/fstatat.c: Likewise.
9086 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
9088         long-options: add parse_gnu_standard_options_only
9089         Discussed in https://bugs.gnu.org/33468 .
9091         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
9092         (parse_gnu_standard_options_only): Add function to process
9093         the GNU default options --help and --version and fail for
9094         any other unknown long or short option. See
9095         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
9096         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
9097         * modules/long-options (depends-on): Add stdbool, exitfail.
9098         * top/maint.mk (sc_prohibit_long_options_without_use): Update
9099         syntax-check rule, add new function name.
9101 2019-02-23  Bruno Haible  <bruno@clisp.org>
9103         relocatable-prog: Update documentation.
9104         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
9105         the recent changes.
9107 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
9109         nstrftime: tweak arg order
9110         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
9111         All callers changed.  Suggested by TAMUKI Shoichi in:
9112         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
9114 2019-02-23  Bruno Haible  <bruno@clisp.org>
9116         relocatable-prog: Use wrapper-free installation also on Mac OS X.
9117         Reported by Paul Smith <psmith@gnu.org>.
9118         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
9119         (func_relativize): New function, from gnulib-tool.
9120         Handle mode 'macosx' through invocations of 'otool' and
9121         'install_name_tool'.
9122         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
9123         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
9124         'install-reloc' invocation with mode 'macosx'.
9126 2019-02-23  Bruno Haible  <bruno@clisp.org>
9128         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
9129         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
9130         Hurd with glibc >= 2.27.
9132 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9134         nstrftime: merge glibc strftime changes
9135         This incorporates:
9136         2019-02-11 Fix a few whitespace arrangement inconsistencies
9137         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
9138         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
9139         2019-01-11 strftime: use the "L_" macro with character literals
9140         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
9141         callers changed.  Default width of %Ey is now 2.  This is needed
9142         for proper handling of Japanese dates starting on 2019-05-01.
9144 2019-02-19  Bruno Haible  <bruno@clisp.org>
9146         relocatable-prog: Use $ORIGIN trick on more platforms.
9147         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
9148         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
9149         Solaris >= 10, Haiku. But don't use it on Android.
9150         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
9151         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
9153 2019-02-19  Bruno Haible  <bruno@clisp.org>
9155         progreloc: Speed up executable lookup on various platforms.
9156         * lib/progreloc.c: Include <errno.h>.
9157         (safe_read, full_read): New functions.
9158         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
9159         prefer the information from the /proc file system to a PATH search.
9161 2019-02-19  Bruno Haible  <bruno@clisp.org>
9163         progreloc: Simplify code for Android.
9164         * lib/progreloc.c (executable_fd): Don't define on Android.
9165         (maybe_executable, find_executable): Don't use executable_fd on Android.
9167 2019-02-15  Bruno Haible  <bruno@clisp.org>
9169         gnulib-tool: Support --import with just a few tests, not --with-tests.
9170         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
9171         'inctests' when generating files; use 'inctests' only for computing the
9172         transitive closure.
9174 2019-02-14  Bruno Haible  <bruno@clisp.org>
9176         gnulib-tool: Improve handling of multiple --local-dir options.
9177         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
9178         options work.
9179         * gnulib-tool (func_path_prepend): Remove function.
9180         (func_path_foreach): Make IFS handling more robust.
9181         (local_gnulib_path): Collect --local-dir values using func_path_append,
9182         not func_path_prepend.
9183         (func_determine_path_separator): Make IFS handling more robust.
9184         (func_lookup_file_cb): New function.
9185         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
9186         func_lookup_local_file. Apply the patches in the reverse order of their
9187         origin in $local_gnulib_path.
9188         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
9189         * NEWS: Mention that the first --local-dir option is the one with
9190         highest priority.
9192 2019-02-10  Bruno Haible  <bruno@clisp.org>
9194         libtextstyle: New module.
9195         * m4/libtextstyle.m4: New file.
9196         * modules/libtextstyle: New file.
9198 2019-02-05  Bruno Haible  <bruno@clisp.org>
9200         declared.sh: Fix bug with variables of pointer type.
9201         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
9202         before the symbol to be omitted if the preceding character is a '*'.
9204 2019-02-04  Bruno Haible  <bruno@clisp.org>
9206         Add script for running tests under valgrind.
9207         * build-aux/run-test: New file, from GNU libunistring.
9208         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
9209         as well.
9211 2019-02-04  Bruno Haible  <bruno@clisp.org>
9213         declared.sh: Fix --version output.
9214         * build-aux/declared.sh (func_version): Update package name.
9216 2019-02-03  Bruno Haible  <bruno@clisp.org>
9218         Add script for determining the set of symbols to export from a library.
9219         * build-aux/declared.sh: New file, from GNU libunistring.
9220         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
9221         Mention it.
9223 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
9225         vla: add commentary about VLA_ELEMS
9226         * lib/vla.h (VLA_ELEMS): Add commentary,
9227         some inspired by Bruno Haible’s proposal in:
9228         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
9230         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
9231         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
9232         assume the C99 signatures for strtod and strtold.  Programs that
9233         require stricter adherence to C99 should also use the strtod and
9234         strtold modules as needed, and we no longer need the
9235         HAVE_C99_STRTOLD macro.
9236         * NEWS: Mention this.
9237         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
9238         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
9239         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
9240         (Files): Remove m4/c-strtod.m4.
9241         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
9242         exists.
9244 2019-02-02  Bruno Haible  <bruno@clisp.org>
9246         fma: Improve code style.
9247         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
9249 2019-02-02  Colin Watson  <cjwatson@debian.org>
9251         *-map tests: Fix compilation error.
9252         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
9253         * tests/test-hash_map.c: Likewise.
9254         * tests/test-linkedhash_map.c: Likewise.
9256 2019-01-31  Bruno Haible  <bruno@clisp.org>
9258         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
9259         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
9260         GNULIB_defined_strtold_function): New macros.
9261         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
9262         (STRTOD): Ignore HAVE_C99_STRTOLD.
9263         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
9264         deemed buggy. But do use it on platforms where uselocale exists and is
9265         usable.
9266         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
9267         deemed buggy. On platforms where uselocale exists and is usable, use
9268         uselocale and strtod/strtold.
9269         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
9270         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
9271         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
9272         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
9273         (Depends-on): Add strtod.
9274         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
9275         (Depends-on): Add strtold.
9277 2019-01-31  Bruno Haible  <bruno@clisp.org>
9279         strtod, strtold: Use the locale's decimal point.
9280         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
9281         (decimal_point_char): New function, copied from lib/vasnprintf.c.
9282         (parse_number): Add a radixchar argument. Use it instead of '.'.
9283         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
9284         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
9285         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
9286         * tests/test-strtod1.c: New file.
9287         * tests/test-strtod1.sh: New file.
9288         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
9289         locale-fr.m4 and its dependencies.
9290         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
9291         (Makefile.am): Arrange to compile test-strtod1.c and run
9292         test-strtod1.sh.
9293         * tests/test-strtold1.c: New file.
9294         * tests/test-strtold1.sh: New file.
9295         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
9296         locale-fr.m4 and its dependencies.
9297         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
9298         (Makefile.am): Arrange to compile test-strtold1.c and run
9299         test-strtold1.sh.
9301 2019-01-31  Bruno Haible  <bruno@clisp.org>
9303         strtod, strtold tests: Simplify tests.
9304         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
9305         * tests/test-strtold.c (main): Likewise.
9307 2019-01-31  Bruno Haible  <bruno@clisp.org>
9309         strtod, strtold: Avoid unnecessary rounding errors.
9310         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
9311         decimal to DOUBLE conversion.
9313 2019-01-31  Bruno Haible  <bruno@clisp.org>
9315         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
9316         * lib/strtod.c (STRTOD): When there is an extra character after the
9317         exponent marker 'p', reparse the number.
9318         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
9319         * doc/posix-functions/strtold.texi: Likewise.
9321 2019-01-29  Bruno Haible  <bruno@clisp.org>
9323         strtold: Add tests.
9324         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
9325         * modules/strtold-tests: New file.
9327 2019-01-29  Bruno Haible  <bruno@clisp.org>
9329         strtold: New module.
9330         * lib/stdlib.in.h (strtold): New declaration.
9331         * lib/strtold.c: New file.
9332         * lib/strtod.c: Consider USE_LONG_DOUBLE.
9333         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
9334         USE_LDEXP): New macros.
9335         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
9336         USE_LONG_DOUBLE.
9337         (underlying_strtod): Remove function. Replace with some macros.
9338         Re-add the code for a missing underlying function that was removed on
9339         2013-02-19.
9340         * m4/strtold.m4: New file.
9341         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
9342         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
9343         REPLACE_STRTOLD.
9344         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
9345         REPLACE_STRTOLD.
9346         * modules/strtold: New file.
9347         * doc/posix-functions/strtold.texi: Document the new module.
9349 2019-01-29  Bruno Haible  <bruno@clisp.org>
9351         strtod: Fix compilation error on IRIX 6.5.
9352         * modules/strtod (Depends-on): Add 'math'.
9354 2019-01-28  Bruno Haible  <bruno@clisp.org>
9356         Fix build error when building a shared libunistring on Android.
9357         * tests/uninorm/test-nfc.c (n): Don't define on Android.
9358         (main): Add 'volatile', to defeat a GCC optimization that would
9359         eliminate the reference.
9360         * tests/uninorm/test-nfd.c (n): Don't define on Android.
9361         (main): Add 'volatile', to defeat a GCC optimization that would
9362         eliminate the reference.
9363         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
9364         (main): Add 'volatile', to defeat a GCC optimization that would
9365         eliminate the reference.
9366         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
9367         (main): Add 'volatile', to defeat a GCC optimization that would
9368         eliminate the reference.
9370 2019-01-27  Bruno Haible  <bruno@clisp.org>
9372         Avoid build errors due to wrong references between modules.
9373         * lib/uninorm/canonical-decomposition.c: Include
9374         "uninorm/decomposition-table.h", not "decomposition-table.h".
9375         * lib/uninorm/decomposition.c: Likewise.
9376         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
9377         not "decompose-internal.h".
9378         * lib/uninorm/u16-normalize.c: Likewise.
9379         * lib/uninorm/u32-normalize.c: Likewise.
9380         * lib/uninorm/uninorm-filter.c: Likewise.
9381         * lib/uninorm/nfkc.c: Likewise.
9382         * lib/uninorm/nfkd.c: Likewise.
9383         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
9384         "caseprop.h".
9385         * lib/unicase/u8-ct-totitle.c: Likewise.
9386         * lib/unicase/u8-prefix-context.c: Likewise.
9387         * lib/unicase/u8-suffix-context.c: Likewise.
9388         * lib/unicase/u16-casemap.c: Likewise.
9389         * lib/unicase/u16-ct-totitle.c: Likewise.
9390         * lib/unicase/u16-prefix-context.c: Likewise.
9391         * lib/unicase/u16-suffix-context.c: Likewise.
9392         * lib/unicase/u32-casemap.c: Likewise.
9393         * lib/unicase/u32-ct-totitle.c: Likewise.
9394         * lib/unicase/u32-prefix-context.c: Likewise.
9395         * lib/unicase/u32-suffix-context.c: Likewise.
9396         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
9397         "unicasemap.h".
9398         * lib/unicase/u8-toupper.c: Likewise.
9399         * lib/unicase/u8-ct-tolower.c: Likewise.
9400         * lib/unicase/u8-ct-toupper.c: Likewise.
9401         * lib/unicase/u16-tolower.c: Likewise.
9402         * lib/unicase/u16-toupper.c: Likewise.
9403         * lib/unicase/u16-ct-tolower.c: Likewise.
9404         * lib/unicase/u16-ct-toupper.c: Likewise.
9405         * lib/unicase/u32-tolower.c: Likewise.
9406         * lib/unicase/u32-toupper.c: Likewise.
9407         * lib/unicase/u32-ct-tolower.c: Likewise.
9408         * lib/unicase/u32-ct-toupper.c: Likewise.
9409         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
9410         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
9411         * lib/unicase/u16-ct-casefold.c: Likewise.
9412         * lib/unicase/u32-ct-casefold.c: Likewise.
9414 2019-01-27  Bruno Haible  <bruno@clisp.org>
9416         gperf: Fix error when this module is required by some test module.
9417         * modules/gperf (Applicability): Set to 'all'.
9419 2019-01-27  Bruno Haible  <bruno@clisp.org>
9421         tmpfile: Add support for Android.
9422         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
9423         works.
9424         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
9425         Android.
9426         * modules/tmpfile (Depends-on): Add 'stdbool'.
9427         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
9428         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
9430 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
9432         bitsetv: allow free on NULL.
9433         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
9435 2019-01-27  Bruno Haible  <bruno@clisp.org>
9437         test-framework-sh: Improve maintainability.
9438         * tests/init.sh: Clarify what belongs together. Reorder definitions.
9440 2019-01-27  Bruno Haible  <bruno@clisp.org>
9442         tests: Don't assume that /tmp exists.
9443         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
9444         * tests/test-copy-acl-1.sh: Likewise.
9445         * tests/test-file-has-acl-1.sh: Likewise.
9446         * tests/test-copy-file-1.sh: Likewise.
9448 2019-01-27  Bruno Haible  <bruno@clisp.org>
9450         tests: Accommodate a shell that is not in /bin/sh.
9451         * tests/init.sh (setup_): Set srcdir and builddir.
9452         (BOURNE_SHELL): New variable.
9453         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
9454         * modules/file-has-acl-tests (Depends-on): Likewise.
9455         * modules/copy-file-tests (Depends-on): Likewise.
9456         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
9457         scripts through $BOURNE_SHELL.
9458         * tests/test-set-mode-acl-2.sh: Likewise.
9459         * tests/test-copy-acl-1.sh: Likewise.
9460         * tests/test-copy-acl-2.sh: Likewise.
9461         * tests/test-file-has-acl-1.sh: Likewise.
9462         * tests/test-file-has-acl-2.sh: Likewise.
9463         * tests/test-copy-file-1.sh: Likewise.
9464         * tests/test-copy-file-2.sh: Likewise.
9465         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
9466         invoker.
9467         * tests/test-copy-acl.sh (builddir): Likewise.
9468         * tests/test-file-has-acl.sh (builddir): Likewise.
9469         * tests/test-copy-file.sh (builddir): Likewise.
9470         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
9471         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
9472         * tests/test-vc-list-files-git.sh: Likewise.
9474 2019-01-27  Bruno Haible  <bruno@clisp.org>
9476         tests: Fix some "unused variable" warnings.
9477         * tests/test-fts.c (fts_dealloc): Remove unused variable.
9478         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
9479         * tests/test-striconveh.c (main): Move some variable into the
9480         '#if HAVE_ICONV'.
9481         * tests/test-striconveha.c (main): Likewise.
9482         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
9483         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
9484         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
9485         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
9486         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
9487         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
9488         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
9489         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
9490         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
9491         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
9492         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
9493         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
9494         * tests/test-tsearch.c (main): Move some variable into the
9495         '#if HAVE_INITSTATE'.
9497 2019-01-27  Bruno Haible  <bruno@clisp.org>
9499         unigbrk/uc-grapheme-breaks: Fix build failure.
9500         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
9501         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
9503 2019-01-27  Bruno Haible  <bruno@clisp.org>
9505         mountlist: Merge two .m4 files.
9506         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
9507         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
9508         * m4/ls-mntd-fs.m4: Remove file.
9509         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
9511 2019-01-27  Bruno Haible  <bruno@clisp.org>
9513         tests: Enable Linux specific tests on Android.
9514         * tests/test-flock.c (main): Treat Android like Linux.
9515         * tests/test-openat-safer.c (main): Likewise.
9517 2019-01-27  Bruno Haible  <bruno@clisp.org>
9519         relocatable-prog: Use Linux code on Android.
9520         * lib/progreloc.c: Treat Android like Linux.
9522 2019-01-26  Bruno Haible  <bruno@clisp.org>
9524         getloadavg: Add support for Android.
9525         * lib/getloadavg.c: Treat Android like Linux.
9527 2019-01-26  Bruno Haible  <bruno@clisp.org>
9529         vma-iter: Add support for Android.
9530         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
9531         * lib/vma-iter.c: Treat Android like Linux.
9532         * lib/get-rusage-data.c (get_rusage_data): Likewise.
9534 2019-01-26  Bruno Haible  <bruno@clisp.org>
9536         fts: Optimize on Android.
9537         * lib/fts.c: Treat Android like Linux.
9539 2019-01-26  Bruno Haible  <bruno@clisp.org>
9541         fts: Add support for Android.
9542         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
9543         defined by this module and the ones in libc.
9544         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
9546 2019-01-26  Bruno Haible  <bruno@clisp.org>
9548         mountlist: Use Linux code on Android.
9549         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
9550         (unescape_tab, read_file_system_list): Enable Linux code on Android
9551         as well.
9552         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
9553         and endmntent.
9554         * modules/mountlist (Depends-on): Add 'getline'.
9556 2019-01-26  Bruno Haible  <bruno@clisp.org>
9558         localename tests: Fix test failure on Android.
9559         * modules/localename-tests (Depends-on): Add 'setlocale'.
9561 2019-01-26  Bruno Haible  <bruno@clisp.org>
9563         mountlist: Port better to Android.
9564         * lib/mountlist.c (MOUNTED): Redefine on Android.
9565         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
9566         Android.
9568 2019-01-26  Bruno Haible  <bruno@clisp.org>
9570         striconveh: Fix use of uninitialized iconv_t.
9571         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
9572         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
9573         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
9575 2019-01-26  Bruno Haible  <bruno@clisp.org>
9577         nonblocking-socket-tests: Fix test failure on Android 4.3.
9578         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
9579         also on Android.
9581 2019-01-26  Bruno Haible  <bruno@clisp.org>
9583         sh-filename: Add support for Android 4.3.
9584         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
9586 2019-01-26  Bruno Haible  <bruno@clisp.org>
9588         ptsname_r: Work around bug on Android 4.3.
9589         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
9590         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
9591         correct.
9592         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
9593         is defined, just fix the return value.
9594         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
9595         The behaviour of musl libc is nothing to be "fixed", since it is
9596         compliant with the next POSIX standard.
9598 2019-01-26  Bruno Haible  <bruno@clisp.org>
9600         ttyname_r: Work around bug on Android 4.3.
9601         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
9602         * lib/ttyname_r.c (ttyname_r): Implement for Android.
9603         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
9604         * doc/posix-functions/ttyname.texi: Likewise.
9606 2019-01-25  Bruno Haible  <bruno@clisp.org>
9608         getprogname: Port to Android 4.3.
9609         * lib/getprogname.c (getprogname): On Android, take only the last
9610         component of __progname.
9612 2019-01-25  Bruno Haible  <bruno@clisp.org>
9614         wcrtomb: Work around bug on Android 4.3.
9615         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
9616         the C locale.
9617         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
9618         which does not have the 'wctomb' function.
9619         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
9620         * tests/test-wcrtomb.c (main): Accept argument '5'.
9621         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
9623 2019-01-25  Bruno Haible  <bruno@clisp.org>
9625         setlocale: Work around bug on Android 4.3.
9626         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
9627         the "C" locale.
9628         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
9629         * doc/posix-functions/setlocale.texi: Mention the Android bug.
9631 2019-01-24  Bruno Haible  <bruno@clisp.org>
9633         memchr: Work around bug on Android <= 5.0.
9634         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
9635         * doc/posix-functions/memchr.texi: Mention the Android bug.
9637 2019-01-24  Bruno Haible  <bruno@clisp.org>
9639         random: Fix compilation error on Android 4.3.
9640         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
9641         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
9642         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
9643         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
9644         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
9645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
9646         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
9647         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
9648         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
9649         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
9650         REPLACE_INITSTATE, REPLACE_SETSTATE.
9651         * doc/posix-functions/random.texi: Correct the description of the
9652         situation on Android.
9653         * doc/posix-functions/srandom.texi: Likewise.
9654         * doc/posix-functions/rand.texi: Likewise.
9655         * doc/posix-functions/srand.texi: Likewise.
9657 2019-01-24  Bruno Haible  <bruno@clisp.org>
9659         mbtowc: Fix compilation error on Android 4.3.
9660         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
9661         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
9662         HAVE_MBTOWC.
9663         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
9664         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
9665         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
9666         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
9667         * doc/posix-functions/mbtowc.texi: Mention the change.
9669 2019-01-24  Bruno Haible  <bruno@clisp.org>
9671         fdatasync: Fix compilation error on Android 4.3.
9672         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
9673         test whether fdatasync() exists.
9675 2019-01-24  Bruno Haible  <bruno@clisp.org>
9677         unlinkat: Fix compilation error on Android 4.3.
9678         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
9679         also on Android.
9680         * doc/posix-functions/unlinkat.texi: Mention the issue.
9682 2019-01-24  Bruno Haible  <bruno@clisp.org>
9684         renameat: Fix compilation error on Android 4.3.
9685         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
9686         * doc/posix-functions/renameat.texi: Mention the issue.
9688 2019-01-24  Bruno Haible  <bruno@clisp.org>
9690         fchownat: Fix compilation error on Android 4.3.
9691         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
9692         use.
9693         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
9694         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
9695         * doc/posix-functions/fchownat.texi: Mention the issue.
9697 2019-01-23  Bruno Haible  <bruno@clisp.org>
9699         gnulib-tool: Support running testdirs on Android.
9700         * build-aux/test-driver.diff: New file.
9701         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
9702         build-aux/test-driver after running automake.
9704 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
9706         relocatable-prog: avoid warnings from Automake
9707         * modules/relocatable-prog: Don't declare PHONY dependencies in
9708         Automake conditionals.
9710 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
9712         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
9713         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
9715 2019-01-23  Bruno Haible  <bruno@clisp.org>
9717         threadlib: Revert commit from 2018-06-25. We now have a better fix.
9718         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
9719         preceding -Wl,--as-needed option. Don't check whether the linker
9720         supports --as-needed/--no-as-needed and --push-state/--pop-state.
9722 2019-01-23  Bruno Haible  <bruno@clisp.org>
9724         thread: Force linking with -lpthread, even when --as-needed is in use.
9725         Reported by Richard W.M. Jones <rjones@redhat.com> in
9726         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
9727         * lib/glthread/thread.h (pthread_create): Don't declare weak.
9729 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
9730             Bruno Haible  <bruno@clisp.org>
9732         relocatable: avoid compiler warnings (-Wshadow)
9733         * lib/relocatable.c (compute_curr_prefix): Rename local variables
9734         to avoid name collisions with global variables.
9736 2019-01-22  Bruno Haible  <bruno@clisp.org>
9738         vasnprintf: Don't use %n on Android.
9739         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
9740         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
9741         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
9743 2019-01-22  Bruno Haible  <bruno@clisp.org>
9745         *printf: Support cross-compilation to Android.
9746         * m4/printf.m4: Add cross-compilation guesses for Android.
9748 2019-01-21  Bruno Haible  <bruno@clisp.org>
9750         diacrit: Mark deprecated.
9751         * modules/diacrit (Status, Notice): Mark as deprecated.
9752         * NEWS: Mention it.
9754 2019-01-20  Bruno Haible  <bruno@clisp.org>
9756         rintl: Override broken implementation on NetBSD.
9757         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
9758         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
9759         REPLACE_RINTL.
9760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
9761         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
9762         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
9763         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
9765 2019-01-20  Bruno Haible  <bruno@clisp.org>
9767         log10l: Work around inaccurate implementation on NetBSD.
9768         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
9769         * lib/log10l.c: Comment out too simplistic override.
9770         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
9772 2019-01-20  Bruno Haible  <bruno@clisp.org>
9774         logl: Work around inaccurate implementation on NetBSD.
9775         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
9776         * lib/logl.c: Comment out unused code.
9777         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
9779 2019-01-20  Bruno Haible  <bruno@clisp.org>
9781         expm1l: Work around inaccurate implementation on NetBSD.
9782         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
9783         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
9784         REPLACE_EXPM1L.
9785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
9786         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
9787         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
9788         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
9790 2019-01-20  Bruno Haible  <bruno@clisp.org>
9792         expl: Work around inaccurate implementation on NetBSD.
9793         * lib/math.in.h (expl): Test also REPLACE_EXPL.
9794         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
9795         REPLACE_EXPL.
9796         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
9797         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
9798         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
9799         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
9801 2019-01-20  Bruno Haible  <bruno@clisp.org>
9803         exp2l: Work around inaccurate implementation on NetBSD.
9804         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
9805         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
9807 2019-01-20  Bruno Haible  <bruno@clisp.org>
9809         floor, floorl: Avoid autoconf warnings.
9810         * modules/floor (configure.ac): Use AC_REQUIRE.
9811         * modules/floorl (configure.ac): Likewise.
9813 2019-01-20  Bruno Haible  <bruno@clisp.org>
9815         Defeat current GCC optimizations in math autoconf tests.
9816         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
9817         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9818         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9819         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9820         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
9821         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
9822         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9823         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9824         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
9825         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
9826         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
9827         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
9828         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
9829         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
9830         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
9831         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
9832         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
9833         * m4/log.m4 (gl_FUNC_LOG): Likewise.
9834         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
9835         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
9836         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
9837         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
9838         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
9839         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
9840         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
9841         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
9842         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
9843         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
9844         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
9845         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
9846         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
9847         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
9848         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9849         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9850         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9851         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9852         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9853         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9855 2019-01-19  Pádraig Brady  <P@draigBrady.com>
9857         gettext: support disabling use of VLAs
9858         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
9860 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
9862         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
9863         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
9865 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
9867         fcntl: Fix syntax error (regression from 2018-10-05).
9868         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
9870 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
9872         relocatable: improve documentation.
9873         * doc/relocatable-maint.texi (Supporting Relocation): For
9874         substitutions performed by config.status, we need more variables
9875         (for instance datarootdir defaults to '${prefix}/share' so we need
9876         prefix).
9878 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
9880         backup: update dependencies
9881         * modules/backup-rename (Depends-on): It now depends on opendirat
9882         instead of opendir.  It also uses stdint, and xalloc-oversized.
9883         But no longer dirfd.
9884         * modules/backupfile (Depends-on): Add xalloc-oversized.
9886 2019-01-13  Bruno Haible  <bruno@clisp.org>
9888         getcwd: Fix test failure when building on a Linux 9p file system.
9889         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
9890         EINVAL from mkdir like ENAMETOOLONG.
9891         * tests/test-getcwd.c (test_long_name): Likewise.
9893 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
9895         Fix typos found by codespell.
9896         * lib/*.[hc]: Fix typos in comments.
9897         * pygnulib/*.py: Fix typos in error messages and comments.
9899 2019-01-12  Bruno Haible  <bruno@clisp.org>
9901         doc: Fix documentation about container data types.
9902         Reported by Werner Lemberg <wl@gnu.org>.
9903         * doc/containers.texi (Container data types): Fix typo.
9905 2019-01-10  Bruno Haible  <bruno@clisp.org>
9907         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
9908         Reported by Reuben Thomas <rrt@sc3d.org>.
9909         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
9911 2019-01-06  Bruno Haible  <bruno@clisp.org>
9913         maintainer-makefile: Make the configure.ac section optional.
9914         * top/maint.mk (GREP, SED): Define if not defined.
9916 2019-01-06  Bruno Haible  <bruno@clisp.org>
9918         localename: Assume setlocale function.
9919         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
9920         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
9922 2019-01-06  Bruno Haible  <bruno@clisp.org>
9924         doc: Add documentation about container data types.
9925         * doc/containers.texi: New file.
9926         * doc/gnulib.texi (Particular Modules): Include it.
9928 2019-01-06  Bruno Haible  <bruno@clisp.org>
9930         doc: Update documentation about 'progname' module.
9931         * doc/progname.texi: Rename from doc/error.texi. Change node name and
9932         title. Rewrite.
9933         * doc/gnulib.texi (Particular Modules): Update.
9935 2019-01-06  Bruno Haible  <bruno@clisp.org>
9937         doc: Document the xstdopen and *-safer modules.
9938         * doc/xstdopen.texi: New file.
9939         * doc/gnulib.texi (Particular Modules): Include it.
9941 2019-01-06  Bruno Haible  <bruno@clisp.org>
9943         xstdopen: Add tests.
9944         * tests/test-xstdopen.c: New file.
9945         * tests/test-xstdopen.sh: New file.
9946         * modules/xstdopen-tests: New file.
9948         xstdopen: New module.
9949         * lib/xstdopen.h: New file.
9950         * lib/xstdopen.c: New file.
9951         * modules/xstdopen: New file.
9953 2019-01-06  Bruno Haible  <bruno@clisp.org>
9955         stdopen: Fix compilation error with IRIX cc.
9956         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
9958 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9960         xfreopen need not include stdio--.h
9961         * lib/xfreopen.c: Do not include stdio--.h.
9963         xfreopen need not depend on freopen-safer
9964         * modules/xfreopen (Depends-on):
9965         Depend on freopen, not freopen-safer.
9967         stdopen: modernize and simplify
9968         * lib/stdopen.c: Update copyright date
9969         Do not include sys/types.h; no longer needed these days.
9970         (stdopen): Use C99-style decl in loop.  Return int errno
9971         value, rather than just a bool.  Do not worry about fd mismatches,
9972         since the caller cares only if 0, 1, 2 are occupied.
9973         * lib/stdopen.h: No need to include <stdbool.h>.
9974         * m4/stdopen.m4: Remove.
9975         * modules/stdopen: New file.
9977         stdopen: copy from last use in coreutils
9978         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
9979         New files, taken from their last commit in coreutils
9980         2007-07-23T12:35:58Z!jim@meyering.net
9981         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
9983 2019-01-05  Bruno Haible  <bruno@clisp.org>
9985         argp: Don't pass an invalid argument to dgettext().
9986         Reported by He X <xw897002528@gmail.com>.
9987         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
9988         dgettext().
9990 2019-01-05  Bruno Haible  <bruno@clisp.org>
9992         argp: Don't pass an invalid argument to dgettext().
9993         Reported by He X <xw897002528@gmail.com>.
9994         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
9995         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
9996         dgettext().
9998 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
10000         stdioext: port to newer 32-bit Android
10001         Problem reported by Tom Yan in:
10002         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
10003         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
10004         (fp_) [__ANDROID__]: Use it.
10006 2019-01-04  Bruno Haible  <bruno@clisp.org>
10008         lock: Fix link error with --enable-threads=pth.
10009         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
10010         Mark as weak.
10012 2019-01-04  Bruno Haible  <bruno@clisp.org>
10014         Fix link errors in unit tests.
10015         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10016         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
10017         * modules/array-map-tests (Makefile.am): Link test-array_map against
10018         libintl.
10019         * modules/array-set-tests (Makefile.am): Link test-array_set against
10020         libintl.
10021         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
10022         libintl.
10023         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
10024         libintl.
10025         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
10026         against libintl.
10027         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
10028         against libintl.
10030 2019-01-04  Bruno Haible  <bruno@clisp.org>
10032         Fix incorrect 'Link' sections.
10033         * modules/regex (Link): Mention the link requirement of module 'lock'.
10034         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
10036 2019-01-04  Bruno Haible  <bruno@clisp.org>
10038         Fix some 'Link' sections.
10039         * modules/c-stack (Link): Add link directive from the 'gettext-h'
10040         dependency.
10041         * modules/getaddrinfo (Link): Likewise.
10043 2019-01-04  Bruno Haible  <bruno@clisp.org>
10045         Remove redundant 'Link' sections.
10046         * modules/canon-host (Link): Remove section.
10047         * modules/timevar (Link): Likewise.
10049 2019-01-04  Bruno Haible  <bruno@clisp.org>
10051         Remove incorrect 'Link' sections.
10052         * modules/acl (Link): Remove section. Use combined 'Link' sections from
10053         the dependencies instead.
10054         * modules/crypto/md5 (Link): Likewise.
10055         * modules/crypto/sha1 (Link): Likewise.
10056         * modules/crypto/sha256 (Link): Likewise.
10057         * modules/crypto/sha512 (Link): Likewise.
10058         * modules/faccessat (Link): Likewise.
10059         * modules/fdutimensat (Link): Likewise.
10060         * modules/iconv_open-utf (Link): Likewise.
10061         * modules/propername (Link): Likewise.
10062         * modules/qacl (Link): Likewise.
10063         * modules/unicodeio (Link): Likewise.
10064         * modules/utimecmp (Link): Likewise.
10065         * modules/utimensat (Link): Likewise.
10066         * modules/xstriconv (Link): Likewise.
10067         * modules/xstriconveh (Link): Likewise.
10069 2019-01-04  Bruno Haible  <bruno@clisp.org>
10071         gnulib-tool: New option --extract-recursive-link-directive.
10072         * gnulib-tool (func_usage): Document the new options
10073         --extract-recursive-dependencies, --extract-recursive-link-directive.
10074         (func_verify_module): Document output variables.
10075         (func_get_dependencies_recursively): New function.
10076         (func_get_link_directive_recursively): New function.
10077         Use them to implement the new options
10078         --extract-recursive-dependencies, --extract-recursive-link-directive.
10079         * doc/gnulib-tool.texi (Link-time requirements): New section.
10081 2019-01-04  Bruno Haible  <bruno@clisp.org>
10083         Clarify meaning of 'Link' section in module description.
10084         * doc/gnulib.texi (Module description): Clarify the meaning of the
10085         'Link' section versus the one of the dependencies.
10086         * NEWS: Mention the change.
10088 2019-01-04  Bruno Haible  <bruno@clisp.org>
10090         pselect: Fix module description.
10091         * modules/pselect (Link): Put one link option per line.
10093 2019-01-04  Bruno Haible  <bruno@clisp.org>
10095         cosl: Fix module description.
10096         * modules/cosl (Link): Fix typo.
10097         * modules/mathl (configure.ac): Likewise.
10099 2019-01-04  Bruno Haible  <bruno@clisp.org>
10101         c-xvasprintf: Fix module dependencies.
10102         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
10104 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
10106         bootstrap: die when some submodules are not initialized
10107         * build-aux/bootstrap: Make sure all submodules are initialized.
10109 2019-01-04  Bruno Haible  <bruno@clisp.org>
10111         bitsetv: Fix module dependencies.
10112         * lib/bitsetv.c: Include xalloc.h.
10113         * modules/bitsetv (Depends-on): Add 'xalloc'.
10115 2019-01-04  Bruno Haible  <bruno@clisp.org>
10117         xmemdup0: Remove redundant code.
10118         * lib/xmemdup0.h (xalloc_die): Remove declaration.
10120 2019-01-04  Bruno Haible  <bruno@clisp.org>
10122         backupfile: Fix module dependencies.
10123         * modules/backupfile (Depends-on): Add 'xalloc'.
10125 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10127         bitset, crypto/gc: fix conflicts with Solaris 11
10128         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
10129         avoid clash with Solaris 11 <sys/bitset.h>.
10130         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
10131         with Solaris 11 <xorg/gc.h>.
10133 2019-01-04  Bruno Haible  <bruno@clisp.org>
10135         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
10136         Reported by Andy Fiddaman <andy@omniosce.org>.
10137         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
10139 2019-01-03  Eric Blake  <eblake@redhat.com>
10141         maintainer-makefile: fix typo in previous patch
10142         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
10143         of Roman's work.
10145 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
10147         maintainer-makefile: prefer $(GREP) over grep
10148         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
10149         defined.
10150         * top/maint.mk: Use it everywhere.
10152         maintainer-makefile: split long argument lines
10153         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
10154         it would be too long for exec limits on BSD.
10156 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10158         mkfifo: bring back HAVE_MKFIFO macro
10159         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
10160         Problem reported by Andrew Janke in:
10161         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
10163 2018-12-21  Bruno Haible  <bruno@clisp.org>
10165         Assume Autoconf >= 2.63.
10166         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
10167         versions < 2.60.
10169 2018-12-21  Bruno Haible  <bruno@clisp.org>
10171         memcmp: Mention the clang bug.
10172         * tests/test-memcmp.c: Add comment about a known test failure.
10173         * doc/posix-functions/memcmp.texi: Mention the clang bug.
10175 2018-12-20  Jim Meyering  <meyering@fb.com>
10177         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
10178         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
10179           echo '123-x'|LC_ALL=C grep -E '.\bx'
10180         The goal is to revert the first, but reverting it requires to restore
10181         the function deleted in the second. I ran this to restore the deleted
10182         function:
10183           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
10184             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
10185             | patch -R -p1
10186         * lib/dfa.c (charclass_context): Restore deleted function.
10187         Reverting the primary commit removes this change:
10188         dfa: Simplify a building state
10189         * lib/dfa.c (build_state): Simplify a building state.
10191 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
10193         version-etc: allow zero authors
10194         * lib/version-etc.c (version_etc_arn): If no authors are given,
10195         omit authorship info instead of dumping core.
10197 2018-12-19  Bruno Haible  <bruno@clisp.org>
10199         lchown tests: Be more permissive regarding errno values.
10200         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
10201         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
10202         alternative to ENOSYS.
10203         * modules/lchown-tests (Depends-on): Add 'errno'.
10204         * modules/fchownat-tests (Depends-on): Likewise.
10206 2018-12-18  Bruno Haible  <bruno@clisp.org>
10208         duplocale: Avoid test failure on AIX 7.
10209         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
10210         (configure.ac): Invoke gt_FUNC_USELOCALE.
10211         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
10212         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
10213         works.
10215 2018-12-18  Bruno Haible  <bruno@clisp.org>
10217         localename: Fix test failure on AIX 7.
10218         Reported by Assaf Gordon in
10219         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
10220         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
10221         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
10222         instead of ac_cv_func_uselocale.
10223         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
10224         HAVE_USELOCALE.
10225         * lib/localename-table.h: Likewise.
10226         * lib/localename-table.c: Likewise.
10227         * tests/test-localename.c: Likewise.
10228         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
10230 2018-12-18  Bruno Haible  <bruno@clisp.org>
10232         localename: Update comments regarding Cygwin.
10233         * lib/localename.c: Update comment.
10234         * doc/posix-functions/uselocale.texi: Update platforms list.
10235         * doc/posix-functions/newlocale.texi: Likewise.
10236         * doc/posix-functions/duplocale.texi: Likewise.
10237         * doc/posix-functions/freelocale.texi: Likewise.
10239 2018-12-16  Bruno Haible  <bruno@clisp.org>
10241         c-stack: Fix for Linux/sparc.
10242         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
10243         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
10245 2018-12-16  Bruno Haible  <bruno@clisp.org>
10247         localename: Avoid test failure on some glibc systems.
10248         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
10249         Unset environment variables that might disturb the first setlocale call,
10250         and verify that this setlocale call succeeds.
10252 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
10254         random: Fix build error on native Windows (regression from 2018-06-21).
10255         * lib/random.c (__srandom, __initstate, __setstate, __random,
10256         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
10257         to the symbols without '__' prefix.
10259 2018-12-16  Bruno Haible  <bruno@clisp.org>
10261         obstack, libc-config: Support HP-UX cc in C99 mode.
10262         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
10263         compiler, even when in C99 mode.
10264         * lib/cdefs.h (__flexarr): Likewise.
10265         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
10267 2018-12-16  Bruno Haible  <bruno@clisp.org>
10269         localename: Fix test failure on OpenBSD >= 6.2.
10270         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
10271         locale system. Define HAVE_FAKE_LOCALES in this case.
10272         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
10273         HAVE_USELOCALE.
10274         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
10275         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
10276         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
10277         platforms list.
10278         * doc/posix-functions/newlocale.texi: Likewise.
10279         * doc/posix-functions/duplocale.texi: Update platforms list.
10280         * doc/posix-functions/freelocale.texi: Likewise.
10282 2018-12-16  Bruno Haible  <bruno@clisp.org>
10284         duplocale tests: Re-enable the test on platforms without <monetary.h>.
10285         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
10286         of the test, on platforms without <monetary.h>.
10288 2018-12-16  Bruno Haible  <bruno@clisp.org>
10290         localename: Update comments.
10291         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
10293 2018-12-15  Jim Meyering  <meyering@fb.com>
10295         regex: fix indentation
10296         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
10298 2018-12-15  Bruno Haible  <bruno@clisp.org>
10300         openat-safer tests: Avoid test failure on NetBSD 8.
10301         * tests/test-openat-safer.c (main): Execute a Linux specific test only
10302         on Linux.
10304 2018-12-15  Jim Meyering  <meyering@fb.com>
10306         regex: work around a bug in glibc-2.27 and prior
10307         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
10308         assertion for /0|()0|\1|0/.
10309         * tests/test-regex.c (main): Add the same test here.
10311 2018-12-15  Bruno Haible  <bruno@clisp.org>
10313         localename: Fix use of uninitialized shell variable.
10314         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
10315         gt_cv_locale_solaris114 always before use. Remove assignment without
10316         effect.
10318 2018-12-15  Bruno Haible  <bruno@clisp.org>
10320         dfa tests: Avoid test failure on Alpine Linux.
10321         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
10322         command found on Alpine Linux.
10324 2018-12-15  Jim Meyering  <meyering@fb.com>
10326         dfa: avoid new warnings from gcc
10327         These would prevent building with -Werror and a Dec snapshot of gcc.
10328         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
10329         Rename each inner instance to "p".
10330         (charclass_context): Remove unused static function.
10332 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
10334         mkdir-p: improve diagnostic for FUSE mounts
10335         Problem reported by Niklas Hambüchen in:
10336         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
10337         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
10338         errno to mkdir errno if the stat errno is likely more interesting.
10340 2018-12-14  Bruno Haible  <bruno@clisp.org>
10342         hash-map: Add tests.
10343         * tests/test-hash_map.c: New file.
10344         * modules/hash-map-tests: New file.
10346         linkedhash-map: Add tests.
10347         * tests/test-linkedhash_map.c: New file.
10348         * modules/linkedhash-map-tests: New file.
10350         array-map: Add tests.
10351         * tests/test-array_map.c: New file.
10352         * modules/array-map-tests: New file.
10354         xmap: New module.
10355         * lib/gl_xmap.h: New file.
10356         * lib/gl_xmap.c: New file.
10357         * modules/xmap: New file.
10359         hash-map: New module.
10360         * lib/gl_hash_map.h: New file.
10361         * lib/gl_hash_map.c: New file.
10362         * modules/hash-map: New file.
10364         linkedhash-map: New module.
10365         * lib/gl_linkedhash_map.h: New file.
10366         * lib/gl_linkedhash_map.c: New file.
10367         * lib/gl_anyhash1.h: Update comments.
10368         * lib/gl_anyhash2.h: Likewise.
10369         * modules/linkedhash-map: New file.
10371         array-map: New module.
10372         * lib/gl_array_map.h: New file.
10373         * lib/gl_array_map.c: New file.
10374         * modules/array-map: New file.
10376         map: New module.
10377         * lib/gl_map.h: New file.
10378         * lib/gl_map.c: New file.
10379         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
10380         conflict with gl_map.h.
10381         * modules/map: New file.
10383 2018-12-13  Bruno Haible  <bruno@clisp.org>
10385         select tests: Avoid test failure on Cygwin.
10386         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
10388 2018-12-13  Bruno Haible  <bruno@clisp.org>
10390         localtime-buffer: Avoid endless recursion in localtime and gmtime.
10391         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
10393 2018-12-13  Bruno Haible  <bruno@clisp.org>
10395         localeconv tests: Avoid test failure on Cygwin.
10396         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
10397         'mon_grouping' tests.
10399 2018-12-11  Bruno Haible  <bruno@clisp.org>
10401         omap: Don't dispose the old value when the function returns it.
10402         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
10403         here.
10404         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
10405         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
10406         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
10407         here.
10409         array-omap, avltree-omap, rbtree-omap: Tweak style.
10410         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
10411         false.
10412         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
10414         rbtree-omap: Add tests.
10415         * tests/test-rbtree_omap.c: New file.
10416         * modules/rbtree-omap-tests: New file.
10418         avltree-omap: Add tests.
10419         * tests/test-avltree_omap.c: New file.
10420         * modules/avltree-omap-tests: New file.
10422         array-omap: Add tests.
10423         * tests/test-array_omap.c: New file.
10424         * modules/array-omap-tests: New file.
10426         xomap: New module.
10427         * lib/gl_xomap.h: New file.
10428         * lib/gl_xomap.c: New file.
10429         * modules/xomap: New file.
10431         rbtree-omap: New module.
10432         * lib/gl_rbtree_omap.h: New file.
10433         * lib/gl_rbtree_omap.c: New file.
10434         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
10435         Parameterize.
10436         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
10437         * modules/rbtree-omap: New file.
10438         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
10439         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
10441         avltree-omap: New module.
10442         * lib/gl_avltree_omap.h: New file.
10443         * lib/gl_avltree_omap.c: New file.
10444         * lib/gl_avltree_ordered.h: Code moved to here from
10445         lib/gl_avltree_oset.c. Parameterize.
10446         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
10447         * lib/gl_anytree_omap.h: New file.
10448         * modules/avltree-omap: New file.
10449         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
10450         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
10452         array-omap: New module.
10453         * lib/gl_array_omap.h: New file.
10454         * lib/gl_array_omap.c: New file.
10455         * modules/array-omap: New file.
10457         omap: New module.
10458         * lib/gl_omap.h: New file.
10459         * lib/gl_omap.c: New file.
10460         * modules/omap: New file.
10462 2018-12-11  Bruno Haible  <bruno@clisp.org>
10464         hash-set, linkedhash-set: Reduce code duplication.
10465         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
10466         lib/gl_anyhash_set1.h.
10467         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
10468         lib/gl_anyhash_set2.h. Parameterize.
10469         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
10470         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
10471         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
10472         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
10473         * lib/gl_rbtreehash_list.c: Likewise.
10474         * lib/gl_linkedhash_list.c: Likewise.
10475         (hash_resize_after_add): Remove function.
10476         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
10477         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
10478         * gl_hash_set.c: Likewise.
10479         * modules/avltreehash-list (Files, Makefile.am): Update file list.
10480         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
10481         * modules/linkedhash-list (Files, Makefile.am): Likewise.
10482         * modules/linkedhash-set (Files, Makefile.am): Likewise.
10483         * modules/hash-set (Files, Makefile.am): Likewise.
10485 2018-12-11  Bruno Haible  <bruno@clisp.org>
10487         array-set: Optimize.
10488         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
10489         outside the loop, not inside the loop.
10491 2018-12-11  Bruno Haible  <bruno@clisp.org>
10493         times: Fix tests.
10494         * tests/test-times.c (doublecmp): Implement a total order.
10496 2018-12-11  Bruno Haible  <bruno@clisp.org>
10498         array-set, linkedhash-set, hash-set: Fix tests.
10499         * tests/test-array_set.c (cmp_objects_in_array): New function.
10500         (check_equals): Use it.
10501         * tests/test-hash_set.c: Likewise.
10502         * tests/test-linkedhash_set.c: Likewise.
10504 2018-12-08  Bruno Haible  <bruno@clisp.org>
10506         Fix comments.
10507         * lib/gl_list.h (gl_list_free): Clarify what it does.
10508         * lib/gl_oset.h (gl_oset_free): Likewise.
10509         * lib/gl_set.h (gl_set_free): Likewise.
10510         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
10511         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
10512         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
10513         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
10515 2018-12-03  Bruno Haible  <bruno@clisp.org>
10517         hash-set: Add tests.
10518         * tests/test-hash_set.c: New file.
10519         * modules/hash-set-tests: New file.
10521         linkedhash-set: Add tests.
10522         * tests/test-linkedhash_set.c: New file.
10523         * modules/linkedhash-set-tests: New file.
10525         array-set: Add tests.
10526         * tests/test-array_set.c: New file.
10527         * modules/array-set-tests: New file.
10529         xset: New module.
10530         * lib/gl_xset.h: New file.
10531         * lib/gl_xset.c: New file.
10532         * modules/xset: New file.
10534         hash-set: New module.
10535         * lib/gl_hash_set.h: New file.
10536         * lib/gl_hash_set.c: New file.
10537         * modules/hash-set: New file.
10539         linkedhash-set: New module.
10540         * lib/gl_linkedhash_set.h: New file.
10541         * lib/gl_linkedhash_set.c: New file.
10542         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
10543         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
10544         * lib/gl_anyhash_primes.h: New file, extracted from
10545         lib/gl_anyhash_list2.h.
10546         * lib/gl_anyhash_list2.h: Include it.
10547         (primes, next_prime): Remove definitions.
10548         * modules/linkedhash-set: New file.
10549         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
10550         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
10551         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
10552         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
10553         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
10554         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
10556         array-set: New module.
10557         * lib/gl_array_set.h: New file.
10558         * lib/gl_array_set.c: New file.
10559         * modules/array-set: New file.
10561         set: New module.
10562         * lib/gl_set.h: New file.
10563         * lib/gl_set.c: New file.
10564         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
10565         gl_set.h.
10566         * modules/set: New file.
10568 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
10570         bison: don't force the Yacc mode
10571         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
10572         errors when Bison features are used in the grammar file.  Some of
10573         these features (such as %expect) were flagged non-yacc recently.  Most
10574         of the time, -y is actually used to please Automake's ylwrap which
10575         expects the output to be y.tab.c.
10576         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
10578 2018-12-01  Bruno Haible  <bruno@clisp.org>
10580         gnupload: Document short options.
10581         * build-aux/gnupload (usage): Document the short options.
10583 2018-11-28  Ben Elliston  <bje@gnu.org>
10585         gnupload: Support option -h as alias of --help.
10586         * build-aux/gnupload: Support -h.
10588 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
10590         memrchr: port better to clang
10591         * lib/memrchr.c (__memrchr): Cast to void * instead of to
10592         longword *, to pacify clang -Wcast-align (Bug#33544).
10594 2018-11-29  Eric Blake  <eblake@redhat.com>
10596         docs: mention printf %m considerations
10597         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
10598         is not portable, and is easy enough to work around.
10599         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
10600         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
10601         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
10602         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
10603         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
10604         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
10605         * doc/posix-functions/printf.texi (printf): Likewise.
10606         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
10607         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
10608         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
10609         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
10610         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10611         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
10612         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10613         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10614         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
10615         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
10616         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
10617         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
10619 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
10621         bitset: rename ebitset/expandable.* as tbitset/table.*
10622         See
10623         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
10624         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
10625         * lib/bitset/table.h, lib/bitset/table.c: these.
10626         Rename all the ebitset* symbols as tbitset*.
10627         Adjust dependencies.
10629 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
10631         bitset: check the operations
10632         * tests/test-bitset.c (bitset_random): New.
10633         Use it.
10634         * lib/bitset/expandable.c (ebitset_not): Fix typo.
10636 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
10638         bitset: properly use false/true instead of 0/1 for Booleans
10639         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
10640         0/1, as Booleans.
10642 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
10644         bitset: rename BITSET_VARRAY as BITSET_VECTOR
10645         For consistency with the name of the file.
10646         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
10647         * lib/bitset/stats.c, lib/bitset/vector.c
10648         (BITSET_VARRAY): Rename as...
10649         (BITSET_VECTOR): this.
10651 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
10653         strerror_r-posix: memmove, not memcpy
10654         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
10655         since the source and destination might overlap in the call
10656         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
10657         Simplify.
10659 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
10661         bitsetv: new module
10662         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
10664 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
10666         bitset: add tests and doc
10667         First stabs at providing a documentation and test for the bitset
10668         module.
10669         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
10671 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
10673         bitset: new module
10674         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
10675         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
10676         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
10677         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
10678         * lib/bitset/vector.h, modules/bitset:
10679         New.
10681 2018-11-23  Bruno Haible  <bruno@clisp.org>
10683         localename: Fix gettext test failures on mingw.
10684         * lib/localename.c (gl_locale_name_posix): Convert the result of
10685         gl_locale_name_environ to XPG syntax.
10687 2018-11-23  Karl Berry  <karl@freefriends.org>
10689         * config/srclistvars.txt,
10690         * config/srclist.txt: remove all gettext references;
10691         the gettext maintainers will sync as needed.
10693 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
10695         mktime: add libc-config dependency
10696         I missed this when we synced from glibc.
10697         * modules/mktime (Depends-on): Add libc-config.
10699 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10701         longlong: fix comment typo
10702         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
10704 2018-11-11  Bruno Haible  <bruno@clisp.org>
10706         havelib: Remove the need to include asm-underscore.m4.
10707         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
10708         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
10709         gl_HOST_CPU_C_ABI.
10710         * modules/havelib (Files): Add host-cpu-c-abi.m4.
10711         (Depends-on): Remove host-cpu-c-abi.
10713 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10715         parse-datetime: simplify test for mktime failure
10716         * lib/parse-datetime.y (mktime_ok): Simplify.
10717         Remove args TZ and T; no longer needed.  Callers changed.
10719         posixtm: simplify test for mktime failure
10720         * lib/posixtm.c (posixtime): Simplify.
10722         nstrftime: simplify test for mktime failure
10723         * lib/nstrftime.c (__strftime_internal): Simplify.
10725 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
10727         gnulib-common.m4: port _Noreturn to C++
10728         Problem reported by Akim Demaille in:
10729         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
10730         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
10731         Merge adjustments from _Noreturn.h and from glibc into the non-C++
10732         version.
10733         * lib/_Noreturn.h: Match gnulib-common.
10735 2018-10-30  Bruno Haible  <bruno@clisp.org>
10737         gnu-make: Fix for NetBSD 8 'make'.
10738         Reported by Reuben Thomas in
10739         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
10740         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
10741         output, ignoring exit codes.
10743 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
10745         maintainer-makefile: fix syntax-check rule for "same.h"
10746         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
10747         for 'same_nameat', too.
10749 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10751         havelib: fix nested ‘configure’ chatter
10752         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
10753         AC_CACHE_CHECK calls, which resulted in confusing output like
10754         “checking for the common suffixes of directories in the library
10755         search path... checking for 64-bit host... no lib,lib”.
10757         backupfile: tweak for better code
10758         * lib/backupfile.c: Sort include directives, and remove
10759         unnecessary <limits.h> include.
10760         (FALLTHROUGH): New macro, copied from other modules.
10761         (backupfile_internal): Use it to avoid code duplication.
10762         This lets GCC 8.2.1 generate better code by inlining the
10763         call to check_extension.
10765 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
10767         backupfile: new dir_fd args
10768         New module opendirat with code taken from fts.
10769         Use this module to let backupfile use a directory file descriptor.
10770         * NEWS: Document the incompatible change.
10771         * lib/backup-find.c (find_backup_file_name):
10772         * lib/backup-rename.c (backup_file_rename):
10773         New arg DIR_FD.
10774         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
10775         (SIZE_MAX): Remove.
10776         Include opendirat.h rather than dirent--.h.
10777         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
10778         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
10779         (backupfile_internal): New arg DIR_FD.  All callers changed.
10780         * lib/fts.c: Include opendirat.h.
10781         (opendirat): Move to opendirat.c.
10782         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
10783         * modules/backupfile (Depends-on): Remove dirfd, opendir.
10784         Add opendirat.
10785         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
10786         Add opendirat.
10788 2018-10-23  Bruno Haible  <bruno@clisp.org>
10790         localename: Simplify support for per-thread locales on Solaris 11.4.
10791         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
10792         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
10793         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
10794         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
10795         specific code.
10796         * lib/localename-table.h: Update comments.
10797         * lib/localename-table.c: Update comments.
10798         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
10799         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
10800         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
10801         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
10802         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
10803         HAVE_NAMELESS_LOCALES here.
10804         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
10805         m4/intlsolaris.m4.
10806         * modules/gettext (Files): Likewise.
10808 2018-10-22  Bruno Haible  <bruno@clisp.org>
10810         std-gnu11: Support Autoconf versions < 2.64.
10811         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
10812         when _AC_DO_LIMIT does not exist.
10814 2018-10-22  Bruno Haible  <bruno@clisp.org>
10816         Assume Autoconf >= 2.63.
10817         * DEPENDENCIES: Mention the requirement.
10819         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
10820         (func_get_filelist): Don't list m4/onceonly.m4 any more.
10821         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
10822         * m4/onceonly.m4: Remove file.
10824         * m4/openmp.m4: Remove file.
10825         * modules/openmp (Files): Remove m4/openmp.m4.
10827         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
10828         htmldir, dvidir, pdfdir, psdir, localedir.
10829         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
10831         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
10832         Autoconf < 2.60.
10833         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
10834         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
10836         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
10837         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
10838         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
10840         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
10841         exists.
10842         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
10844         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
10845         Autoconf < 2.61.
10847         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
10848         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
10849         Autoconf >= 2.52.
10851         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
10852         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
10853         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
10855 2018-10-22  Bruno Haible  <bruno@clisp.org>
10857         Assume Automake >= 1.11.
10858         * m4/configmake.m4: Update comments.
10859         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
10860         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
10861         of 'eval'.
10862         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
10863         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
10864         requires Automake >= 1.11.
10866 2018-10-22  Bruno Haible  <bruno@clisp.org>
10868         localename: Fix typo in comment.
10869         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
10871 2018-10-22  Bruno Haible  <bruno@clisp.org>
10873         Fix failure of 'gnulib-tool --create-testdir' with all modules.
10874         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
10876 2018-10-21  Bruno Haible  <bruno@clisp.org>
10878         locale: Ease integration with GNU libintl.
10879         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
10880         GNULIB_defined_freelocale): New macros.
10882 2018-10-21  Bruno Haible  <bruno@clisp.org>
10884         localename: Fine-tune support for per-thread locales on Solaris 11.4.
10885         * lib/localename-table.h: New file, extracted from lib/localename.c.
10886         * lib/localename-table.c: Likewise.
10887         * lib/localename.c: Include localename-table.h.
10888         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
10889         locale_hash_function instead of pointer_hash.
10890         * modules/localename (Files): Add lib/localename-table.h,
10891         lib/localename-table.c.
10892         (lib_SOURCES): Add localename-table.c.
10893         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
10894         for Solaris 11.4 locale system only on Solaris. Test for it
10895         independently whether getlocalename_l exists.
10896         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
10897         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
10898         HAVE_NAMELESS_LOCALES.
10899         * modules/gettext (Files): Add m4/intlsolaris.m4.
10901 2018-10-21  Bruno Haible  <bruno@clisp.org>
10903         Small update from gettext.
10904         * m4/intl.m4: Update from gettext:
10905         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
10906         mode on AIX.
10907         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
10908         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
10910 2018-10-16  Bruno Haible  <bruno@clisp.org>
10912         mountlist: Remove support for Cray with UNICOS 9.
10913         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
10914         MOUNTED_LISTMNTENT.
10915         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
10917 2018-10-16  Bruno Haible  <bruno@clisp.org>
10919         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
10920         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
10921         STAT_STATFS2_FS_DATA.
10922         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
10923         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
10924         MOUNTED_GETMNT.
10925         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
10926         * lib/getloadavg.c (decstation): Remove definition and case.
10927         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
10928         * lib/getgroups.c: Likewise.
10929         * doc/posix-functions/getgroups.texi: Likewise.
10930         * lib/time.in.h: Update comments.
10932 2018-10-16  Bruno Haible  <bruno@clisp.org>
10934         getloadavg: Remove support for ConvexOS.
10935         * lib/getloadavg.c: Remove convex case.
10937 2018-10-16  Bruno Haible  <bruno@clisp.org>
10939         getloadavg: Remove support for Sony NEWS.
10940         * lib/getloadavg.c: Remove sony_news case.
10942 2018-10-16  Bruno Haible  <bruno@clisp.org>
10944         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
10945         * lib/fsusage.c: Remove _SEQUENT_ case.
10946         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
10947         * lib/mountlist.c: Don't test for MNTTABNAME.
10948         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
10949         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
10950         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
10951         * lib/stat-size.h: Don't mention the Sequent bug.
10952         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
10954 2018-10-16  Bruno Haible  <bruno@clisp.org>
10956         fsusage: Remove support for AIX 3.
10957         * lib/fsusage.c: Remove code for AIX 3.
10958         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
10960 2018-10-16  Bruno Haible  <bruno@clisp.org>
10962         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
10963         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
10964         * lib/fsusage.c: Remove code for AIX PS/2.
10965         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
10966         * lib/getloadavg.c: Likewise.
10968 2018-10-16  Bruno Haible  <bruno@clisp.org>
10970         getloadavg: Remove support for HP-UX on m68k.
10971         * lib/getloadavg.c: Remove hp9000s300 case.
10973 2018-10-16  Bruno Haible  <bruno@clisp.org>
10975         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
10976         * lib/fsusage.c: Remove DOLPHIN case.
10977         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
10978         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
10980 2018-10-16  Bruno Haible  <bruno@clisp.org>
10982         getloadavg: Remove support for Alliant FX/2800.
10983         * lib/getloadavg.c: Remove alliant case.
10985 2018-10-16  Bruno Haible  <bruno@clisp.org>
10987         getloadavg: Remove support for tek4300.
10988         * lib/getloadavg.c: Remove tek4300 case.
10990 2018-10-16  Bruno Haible  <bruno@clisp.org>
10992         getloadavg: Remove support for Ardent.
10993         * lib/getloadavg.c: Remove ardent case.
10995 2018-10-16  Bruno Haible  <bruno@clisp.org>
10997         mountlist: Remove support for SVR2.
10998         Reported by Andrew Borodin <aborodin@vmail.ru> in
10999         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
11000         * lib/mountlist.c: Remove MOUNTED_FREAD case.
11001         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
11002         MOUNTED_FREAD.
11004 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11006         libc-config: merge from glibc
11007         * lib/cdefs.h (__glibc_has_attribute): New macro.
11009         regex: depend on libc-config
11010         * modules/regex (Depends-on): Add libc-config.
11011         This is needed after the recent autoupdate from glibc.
11013 2018-10-14  Bruno Haible  <bruno@clisp.org>
11015         localename: Add support for per-thread locales on Solaris 11.4.
11016         * lib/locale.in.h (newlocale, freelocale): New declarations.
11017         (duplocale): Declare also when the 'localename' module requests it.
11018         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
11019         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
11020         (struniq): Update.
11021         (struct locale_categories_names, struct locale_hash_node): New types.
11022         (LOCALE_HASH_TABLE_SIZE): New constant.
11023         (locale_hash_table, locale_lock): New variables.
11024         (pointer_hash, get_locale_t_name): New functions.
11025         (newlocale, duplocale, freelocale): New overridden functions.
11026         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
11027         * m4/intlsolaris.m4: New file.
11028         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
11029         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
11030         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
11031         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
11032         declared.
11033         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
11034         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
11035         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
11036         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
11037         * modules/localename (Files): Add intlsolaris.m4.
11038         (Depends-on): Add 'locale'.
11039         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
11040         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
11041         the signatures.
11043 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
11045         timevar: use gethrxtime to get wall clock time
11046         clock_gettime is not portable.  gethrxtime takes the best available
11047         option to get the wall clock time, including clock_gettime (monotonic
11048         clock), and gettime (non monotonic).
11049         Also, using xtime_t instead of float preserves the precision.
11050         Suggested by Bruno Haible.
11051         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
11052         * modules/timevar (Depends-on): We need gethrxtime.
11053         We no longer use times().
11054         (Link): Update.
11055         * lib/timevar.h (timevar_time_def): Use xtime_t.
11056         * lib/timevar.c (set_to_current_time): Use gethrxtime.
11057         (timevar_print): Instead of checking whether the timings themselves
11058         are large enough for the timevar to be printed, check the percentages.
11060 2018-10-14  Bruno Haible  <bruno@clisp.org>
11062         wcsnrtombs: Work around Solaris 11.4 bug.
11063         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
11064         macro.
11065         (gl_FUNC_WCSNRTOMBS): Invoke it.
11066         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
11068 2018-10-14  Bruno Haible  <bruno@clisp.org>
11070         mbsnrtowcs: Work around Solaris 11.4 bug.
11071         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
11072         macro.
11073         (gl_FUNC_MBSNRTOWCS): Invoke it.
11074         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
11076 2018-10-14  Bruno Haible  <bruno@clisp.org>
11078         doc: Update for Solaris 11.4.
11079         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
11080         mention Solaris 11.4.
11081         * m4/printf.m4: Update comments about Solaris.
11082         * m4/log.m4: Likewise.
11083         * m4/log10.m4: Likewise.
11084         * m4/logb.m4: Likewise.
11085         * m4/logbf.m4: Likewise.
11086         * m4/logbl.m4: Likewise.
11087         * m4/rename.m4: Likewise.
11088         * m4/wcrtomb.m4: Likewise.
11089         * m4/hostent.m4: Likewise.
11090         * m4/servent.m4: Likewise.
11092 2018-10-14  Bruno Haible  <bruno@clisp.org>
11094         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
11095         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
11096         pointer.
11097         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
11098         pointer.
11099         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
11100         pointer.
11101         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
11102         pointer.
11103         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
11104         pointer.
11106 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
11108         bootstrap: fix wget command for po files.
11109         * build-aux/bootstrap (po_download_command_format): Fix comment,
11110         and adjust callers.
11112 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
11114         timevar: improve the output format
11115         Suggested by Bruno Haible.
11116         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
11117         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
11118         wall, since its resolution is much higher.
11120 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
11122         timevar: expect that getrusage is available.
11123         Don't keep both times and getrusage as backend: both are guaranteed by
11124         gnulib, a single one suffices.  Using getrusage is open to possibly
11125         tracking other types of resources in the future.
11126         * modules/timevar (Depends-on): Add getrusage.
11127         (configure.ac): Remove gl_TIMEVAR.
11128         (Files): Remove m4/timevar.m4.
11129         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
11130         * lib/timevar.h (timevar_enabled): Clarify documentation.
11131         * lib/timevar.c: Remove all the code about times.
11132         Remove all the CPP guards about getrusage: expect it to be present
11133         (courtesy of gnulib).
11135 2018-10-12  Bruno Haible  <bruno@clisp.org>
11137         mountlist: Improve support for Solaris in 64-bit mode.
11138         Reported by David Wood <David.Wood@deshaw.com> in
11139         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
11140         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
11141         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
11142         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
11144 2018-10-12  Bruno Haible  <bruno@clisp.org>
11146         mountlist: Add support for Minix.
11147         Reported by Assaf Gordon in
11148         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
11149         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
11150         AC_CHECK_FUNCS to check for 'getmntinfo'.
11151         * lib/mountlist.c: Update comments.
11153 2018-10-12  Bruno Haible  <bruno@clisp.org>
11155         Make better use of Autoconf.
11156         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
11157         * m4/manywarnings.m4: Likewise.
11158         * m4/manywarnings-c++.m4: Likewise.
11159         * m4/socklen.m4: Likewise.
11160         * m4/sockpfaf.m4: Likewise.
11161         * m4/stdarg.m4: Likewise.
11162         * m4/visibility.m4: Likewise.
11163         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
11164         indentation.
11165         * m4/ls-mntd-fs.m4: Likewise.
11167 2018-10-11  Bruno Haible  <bruno@clisp.org>
11169         mountlist: Modernize platform lists.
11170         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
11171         platforms, deemphasizing the obsolete ones.
11172         * lib/mountlist.c: Likewise.
11174 2018-10-11  Bruno Haible  <bruno@clisp.org>
11176         getprogname: Add support for 32-bit programs on HP-UX.
11177         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
11178         try the similar functions 32-bit programs on 64-bit HP-UX.
11180 2018-10-11  Bruno Haible  <bruno@clisp.org>
11182         getprogname: Work around program name truncation when possible.
11183         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
11184         possibly use pst_cmd instead.
11186 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11188         fts: cleanup after FTS_NOATIME removal
11189         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
11190         (FTS_STOP): Shrink to minimal values.  We don’t need to
11191         worry about binary compatibility in Gnulib, and the old way
11192         of doing things had a hole in the user options that caused
11193         FTS_OPTIONMASK to not work as desired.
11195 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
11197         fts: remove FTS_NOATIME
11198         This reverts commit da4d6974013c822af1498941e32db774b2031765.
11199         We cannot guarantee that O_NOATIME works: e.g. openat fails
11200         with EPERM if the effective user ID of the caller does not match
11201         the owner of the file and the caller is not privileged.
11202         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
11203         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
11204         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
11205         (FTS_OPTIONMASK): Adjust.
11206         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
11207         (fd_ring_check): Likewise.
11209 2018-10-08  Bruno Haible  <bruno@clisp.org>
11211         csharpcomp*, csharpexec*: Remove support for pnet.
11212         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
11213         HAVE_CSCC.
11214         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
11215         Don't test HAVE_CSCC.
11216         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
11217         (compile_csharp_class): Don't invoke it.
11218         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
11219         HAVE_ILRUN.
11220         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
11221         Don't test HAVE_ILRUN.
11222         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
11223         (execute_csharp_program): Don't invoke it.
11224         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
11225         any more.
11227 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
11229         renameatu: prefer renameat2 to syscall
11230         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
11231         Use renameat2 instead of syscall (Bug#32796).
11232         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
11234 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
11236         bootstrap, gnulib-tool: use https instead of insecure rsync
11237         * build-aux/bootstrap (download_po_files, po_download_command_format):
11238         Don't try using rsync; always use wget over https to fetch PO files.
11239         * gnulib-tool (func_import): Likewise.
11240         * pygnulib/GLImport.py (GLImport.execute): Likewise.
11242 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
11244         bootstrap, gnulib-tool: correct the translations wget command
11245         * build-aux/bootstrap (po_download_command_format2): Restrict
11246         recursion to a single level.
11247         * gnulib-tool (func_import): Likewise.
11248         * pygnulib/GLImport.py (GLImport.execute): Likewise.
11250 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
11252         doc: the gnulib snapshots are not maintained
11253         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
11255 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
11257         timevar: add to lib_SOURCES
11258         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
11260 2018-10-07  Bruno Haible  <bruno@clisp.org>
11262         dirent: Update documentation.
11263         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
11265 2018-10-05  Bruno Haible  <bruno@clisp.org>
11267         strpbrk: Make it possible to namespace the defined symbol.
11268         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
11270 2018-10-05  Bruno Haible  <bruno@clisp.org>
11272         strcspn: Make it possible to namespace the defined symbol.
11273         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
11275 2018-10-05  Bruno Haible  <bruno@clisp.org>
11277         raise: Make it possible to namespace the defined symbol.
11278         * lib/raise.c (raise): Undefine only after the replacement function has
11279         been defined.
11280         (raise): Renamed from rpl_raise.
11281         (raise_nothrow): Move to the end of the compilation unit.
11283 2018-10-05  Bruno Haible  <bruno@clisp.org>
11285         memcmp: Make it possible to namespace the defined symbol.
11286         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
11288 2018-10-05  Bruno Haible  <bruno@clisp.org>
11290         explicit_bzero: Make it possible to namespace the defined symbol.
11291         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
11292         glibc.
11294 2018-10-05  Bruno Haible  <bruno@clisp.org>
11296         mkdir-p: Depend on 'mkdir'.
11297         * modules/mkdir-p (Depends-on): Add 'mkdir'.
11299 2018-10-05  Bruno Haible  <bruno@clisp.org>
11301         tempname: Depend on 'mkdir'.
11302         Reported by Maarten Bosmans <mkbosmans@gmail.com>
11303         at <https://savannah.gnu.org/bugs/?33379>.
11304         * modules/tempname (Depends-on): Add 'mkdir'.
11306 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
11308         timevar: rely on gnulib modules for time portability.
11309         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
11310         * m4/timevar.m4: Don't check for clock_t and struct tms,
11311         guaranteed by gnulib.
11312         * lib/timevar.h: Use extern "C" protection.
11313         Include <stdio.h> for FILE.
11314         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
11315         they are guaranteed by gnulib.
11316         Remove uses of clock as (now useless) fallback.
11318 2018-10-04  Bruno Haible  <bruno@clisp.org>
11320         sh-filename: New module.
11321         * m4/sh-filename.m4: New file.
11322         * modules/sh-filename: New file.
11323         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
11324         "/bin/sh".
11325         * tests/test-posix_spawn1.c (main): Likewise.
11326         * tests/test-posix_spawn2.c (main): Likewise.
11327         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
11328         is_envjavac_gcj43): Likewise.
11329         * lib/javaexec.c (execute_java_class): Likewise.
11330         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
11331         * modules/posix_spawnp-tests (Depends-on): Likewise.
11332         * modules/javacomp (Depends-on): Likewise.
11333         * modules/javaexec (Depends-on): Likewise.
11335 2018-10-04  Bruno Haible  <bruno@clisp.org>
11337         spawn-pipe tests: Avoid test failure on native Windows.
11338         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
11339         that fd 2 is closed.
11341 2018-10-04  Bruno Haible  <bruno@clisp.org>
11343         fcntl: Make it possible to namespace the defined symbol.
11344         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
11345         been defined.
11346         (fcntl): Renamed from rpl_fcntl.
11347         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
11348         from fcntl.
11349         (klibc_fcntl): Move to the end of the compilation unit.
11351 2018-10-02  Bruno Haible  <bruno@clisp.org>
11353         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
11354         * tests/test-vasnprintf.c (test_function): Change the test added on
11355         2018-09-23 to check only the 18 most significant digits.
11357         vasnprintf tests: Avoid test failure on Cygwin.
11358         * tests/test-vasnprintf.c (test_function): Change the test added on
11359         2018-09-23 to check only the 42 most significant digits.
11361 2018-10-01  Bruno Haible  <bruno@clisp.org>
11363         mkostemp, mkostemps: Update documentation.
11364         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
11365         * doc/glibc-functions/mkostemps.texi: Likewise.
11367 2018-10-01  Tom Tromey  <tom@tromey.com>
11369         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
11370         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
11371         on OS X.
11373 2018-09-30  Pádraig Brady  <P@draigBrady.com>
11375         hmac-*: refactor to remove repetitive code
11376         * lib/hmac.c: A new parameterized single implementation.
11377         * lib/hmac-md5.c: Define parameters and include implementation.
11378         * lib/hmac-sha1.c: Likewise.
11379         * lib/hmac-sha256.c: Likewise.
11380         * lib/hmac-sha512.c: Likewise.
11381         * modules/crypto/hmac-md5: Reference the new implementation file.
11382         * modules/crypto/hmac-sha1: Likewise.
11383         * modules/crypto/hmac-sha256: Likewise.
11384         * modules/crypto/hmac-sha512: Likewise.
11385         * tests/test-hmac-md5.c: Refactor common code to a single function.
11386         * tests/test-hmac-sha1.c: Likewise.
11387         * tests/test-hmac-sha256.c: Likewise.
11388         * tests/test-hmac-sha512.c: Likewise.
11390 2018-09-30  Zhang Qing  <zhangqingl@126.com>
11392         hmac-sha512: fix hash for keys > blocksize (128 bytes)
11393         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
11394         key length to that output by sha512, not the blocksize.
11395         Otherwise uninitialized data from the stack
11396         is used when computing the hash.
11397         * tests/test-hmac-sha512.c: Add a shortened key test case.
11398         Reported at https://github.com/coreutils/gnulib/pull/5
11400 2018-09-30  Bruno Haible  <bruno@clisp.org>
11402         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
11403         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
11404         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
11405         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
11406         'unsigned int' before comparison with an unsigned value.
11408 2018-09-30  Bruno Haible  <bruno@clisp.org>
11410         grantpt: Remove unnecessary dependency.
11411         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
11413 2018-09-30  Bruno Haible  <bruno@clisp.org>
11415         timevar: Small tweaks.
11416         * lib/timevar.h: Fix comments. Add parameter names to function
11417         declarations.
11418         * lib/timevar.c: Include timevar.h immediately after config.h.
11419         * lib/timevar.def: Fix comments.
11420         * modules/timevar (Maintainer): List Akim Demaille.
11422 2018-09-30  Bruno Haible  <bruno@clisp.org>
11424         timevar: Include documentation in gnulib manual.
11425         * doc/timevar.texi: Change node and section name to 'Profiling of
11426         program phases'.
11427         In the code snippets, tweak the #includes and use GNU coding style.
11428         * doc/gnulib.texi: Include timevar.texi.
11430 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
11432         timevar: import from Bison.
11433         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
11434         New files.
11435         * lib/timevar.def: New file.
11436         * doc/timevar.texi: New file.
11438 2018-09-26  Bruno Haible  <bruno@clisp.org>
11440         javacomp-script, javacomp: Add preliminary support for Java 12..17.
11441         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
11442         * lib/javacomp.c (default_target_version): Likewise.
11444 2018-09-26  Bruno Haible  <bruno@clisp.org>
11446         javacomp-script, javacomp: Add support for Java 11.
11447         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
11448         target-version 11.
11449         * lib/javaversion.h: Update comments.
11450         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
11451         source_version_index, get_goodcode_snippet, get_failcode_snippet,
11452         TARGET_VERSION_BOUND, target_version_index,
11453         corresponding_classfile_version): Accept source_version 11 and
11454         target_version 11.
11455         * lib/javacomp.h: Update comments accordingly.
11457 2018-09-23  Bruno Haible  <bruno@clisp.org>
11459         vasnprintf: Fix heap memory overrun bug.
11460         Reported by Ben Pfaff <blp@cs.stanford.edu> in
11461         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
11462         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
11463         memory.
11464         * tests/test-vasnprintf.c (test_function): Add another test.
11466 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
11468         maint: mktime.c now shared with glibc
11469         * config/srclist.txt: intprops.h, timegm.c and mktime.c
11470         are now the same in Gnulib and glibc.
11472         mktime: fix _LIBC typo
11473         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
11475 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11477         dfa: optimization for state merge
11478         * lib/dfa.c (merge2): New function.
11479         (merge_nfa_state): Use it.
11481 2018-09-18  Jim Meyering  <meyering@fb.com>
11483         dfa: trivial comment fix: s/is/if/
11484         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
11486 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11488         dfa: use more-informative function name
11489         * lib/dfa.c (maybe_disable_superset_dfa):
11490         Rename from dfautf8noss.  Use change.
11492         dfa: tweak allocation performance
11493         * lib/dfa.c (merge_nfa_state, dfaoptimize):
11494         Prefer ptrdiff_t for indexes some more.
11495         Use char for flags, as it’s wide enough.
11496         Allocate queue and flags together, with one malloc call.
11497         No need to use xnmalloc since the multiplication and
11498         addition cannot overflow (it’s already been checked by
11499         earlier allocation).  Prefer memset to open-coding.
11501         dfa: prune states as we go
11502         * lib/dfa.c (prune): Remove.
11503         dfa: reorder enum for efficiency
11504         (merge_nfa_state): Prune as we go instead of at the end.
11505         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
11507         * lib/dfa.c (END): Now -1 again.  Reorder other elements
11508         of the enumeration to make it easier for GCC to generate
11509         efficient code by using fewer comparisons to check for
11510         ranges of values.
11511         (atom): Take advantage of the reordering.
11513 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11515         dfa: optimize alternation in NFA
11516         Even when similar states exist in alternation, the DFA treats them
11517         as separate items, which may complicate the transition in NFA and
11518         cause slowdown.  This change assembles the states into one.  For
11519         example, ab|ac is changed into a(b|c).  This change speeds-up
11520         matching for many branched patterns.  For example, grep speeds up
11521         more than 30× in:
11523           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
11524           time -p env LC_ALL=C grep -vf in in
11526         * lib/dfa.c (prune): New function.
11527         (merge_nfa_state): New function.  It merges similar NFA states.
11528         (dfaoptimize): New function.  It seeks merged and removed nodes.
11529         (dfaanalyze): Call new function.
11530         (dfautf8noss): Change name from dfaoptimize because of addition of new
11531         function.
11532         (dfacomp): Update caller.
11534         dfa: simplify initial state
11535         Simplifying the initial state enables easier optimization of the NFA.
11536         * lib/dfa.c (enum token): Add new element BEG.
11537         (prtok): Adjust due to adding element BEG.
11538         (dfaparse): Put BEG at a head of tokens.
11539         (state_index): Adjust due to adding element BEG.
11540         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
11541         build initial state.
11542         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
11544 2018-09-18  Bruno Haible  <bruno@clisp.org>
11546         file-has-acl: Fix test failure on Cygwin 2.9.
11547         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
11548         * lib/acl-internal.h: Likewise.
11549         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
11550         * lib/acl-internal.c: Update comments regarding Cygwin.
11551         * lib/acl_entries.c: Likewise.
11552         * lib/file-has-acl.c: Likewise.
11553         (file_has_acl): For Cygwin, use a different way to determine whether
11554         the "default" ACL of a directory is nontrivial.
11555         * lib/get-permissions.c: Update comments regarding Cygwin.
11556         * lib/set-permissions.c: Likewise.
11558 2018-09-18  Bruno Haible  <bruno@clisp.org>
11560         stat-time tests: Fix test failure on Cygwin.
11561         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
11563 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11565         doc: OS X 10.11 lacked ns time functions
11566         According to <https://github.com/zeromq/libzmq/issues/2175>,
11567         nanosecond-resolution timestamp functions were introduced
11568         in macOS 10.12, so document the last version (OS X 10.11)
11569         where they were absent.
11571         gettime: nanotime never existed
11572         Problem reported by Bruno Haible in:
11573         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
11574         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
11575         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
11577 2018-09-18  Bruno Haible  <bruno@clisp.org>
11579         doc: Update statement about target platforms.
11580         Reported by Simon Sobisch.
11581         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
11582         restrictions on MSVC versions.
11584 2018-09-18  Bruno Haible  <bruno@clisp.org>
11586         posix_spawn tests: Fix link error on 64-bit Cygwin.
11587         * tests/test-posix_spawn1.c (environ): Remove declaration.
11588         * tests/test-posix_spawn2.c (environ): Likewise.
11589         * tests/test-posix_spawn3.c (environ): Likewise.
11590         * tests/test-posix_spawn4.c (environ): Likewise.
11591         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
11592         * modules/posix_spawnp-tests (Depends-on): Likewise.
11594 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11596         timespec: new function current_timespec
11597         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
11598         and don’t worry about it failing on a CLOCK_REALTIME arg.
11599         POSIX requires it to succeed and I don’t know of any
11600         counterexamples where the fallbacks would work.
11601         (current_timespec): New function, taken from Emacs.  It is more
11602         convenient than gettime, and can help register allocation.
11603         * lib/timespec.h: Include arg-nonnull.h.
11604         (current_timespec): New declaration.
11605         (gettime, settime): Declare args to be nonnull.
11606         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
11608 2018-09-16  Bruno Haible  <bruno@clisp.org>
11610         setlocale: Improve locale handling on macOS 10.12 or newer.
11611         * lib/setlocale.c: Include header files for CoreFoundation. Declare
11612         gl_locale_name_canonicalize.
11613         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
11614         and LC_MESSAGES.
11615         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
11617 2018-09-16  Bruno Haible  <bruno@clisp.org>
11619         Update list of locale names with scripts on macOS.
11620         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
11621         match Mac OS X 10.13 and recent glibc.
11623 2018-09-16  Bruno Haible  <bruno@clisp.org>
11625         gettext: Use newer macOS APIs when possible.
11626         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
11627         CFLocaleCopyPreferredLanguages.
11629 2018-09-16  Bruno Haible  <bruno@clisp.org>
11631         localename: Revisit macOS specific code.
11632         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
11633         Fix comments about Mac OS X versions.
11635 2018-09-15  Bruno Haible  <bruno@clisp.org>
11637         setlocale: Improve support for locales not supported by libc.
11638         Reported by Dapeng Gao <peter@dpgao.cc> at
11639         <https://savannah.gnu.org/bugs/?54479>.
11640         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
11641         (libintl_setlocale): Use a more error-tolerant strategy when the locale
11642         to be set is not supported by libc: Emit warnings instead of failing.
11644 2018-09-15  Bruno Haible  <bruno@clisp.org>
11646         strstr, strcasestr: Add workaround against glibc-2.28 bug.
11647         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
11648         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
11649         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
11650         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
11651         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
11652         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
11653         * doc/glibc-functions/strcasestr.texi: Likewise.
11655 2018-09-14  Bruno Haible  <bruno@clisp.org>
11657         doc: Fix bottom of top-level page.
11658         Reported by Akim Demaille <akim.demaille@gmail.com> in
11659         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
11660         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
11661         mode.
11662         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
11663         accordingly.
11665 2018-09-12  Bruno Haible  <bruno@clisp.org>
11667         Add test case from a recent glibc bug.
11668         * tests/test-strstr.c (main): Add test of long needle.
11669         * tests/test-strcasestr.c (main): Likewise.
11670         * tests/test-c-strstr.c (main): Likewise.
11671         * tests/test-c-strcasestr.c (main): Likewise.
11672         * tests/test-memmem.c (main): Likewise.
11674 2018-09-12  Bruno Haible  <bruno@clisp.org>
11676         Apply Eric Blake's improvements from 2011-02-25 to more tests.
11677         * tests/test-c-strstr.c (main): Add the same tests here as well.
11679 2018-09-12  Bruno Haible  <bruno@clisp.org>
11681         Apply Jim Meyering's fix from 2015-01-11 to more tests.
11682         * tests/test-memmem.c (main): Free haystack.
11683         * tests/test-strcasestr.c (main): Likewise.
11684         * tests/test-c-strcasestr.c (main): Likewise.
11686 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11688         xstrtol: fix missing-TYPE_SIGNED typo
11689         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
11691 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
11693         timespec: fix resolution confusion
11694         In normal usage, clock resolution is given in seconds, but the
11695         code was mistakenly using inverse seconds and calling it
11696         “resolution”.  Fix this, partly by renaming two identifiers.
11697         The old names will be kept for a bit, to ease transition.
11698         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
11699         New constants, replacing TIMESPEC_RESOLUTION and
11700         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
11701         All uses changed.
11703 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11705         mktime: simplify in prep for glibc merge
11706         * lib/mktime.c, lib/timegm.c [_LIBC]:
11707         Include mktime-internal.h (a small file just for glibc)
11708         instead of using a typedef.
11710 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11712         intprops: minor clarification of code
11713         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
11714         Use _GL_INT_CONVERT rather than reinventing it.
11716 2018-09-07  Bruno Haible  <bruno@clisp.org>
11718         Fix a comment.
11719         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
11721 2018-09-07  Bruno Haible  <bruno@clisp.org>
11723         posix_spawn_file_actions_addchdir: Add tests.
11724         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
11725         * tests/test-posix_spawn4.c: New file.
11726         * modules/posix_spawn_file_actions_addchdir-tests: New file.
11728 2018-09-07  Bruno Haible  <bruno@clisp.org>
11730         posix_spawn_file_actions_addchdir: New module.
11731         Suggested by Eric Blake in
11732         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
11733         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
11734         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
11735         union member 'chdir_action'.
11736         * lib/spawn_faction_addchdir.c: New file.
11737         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
11738         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
11739         HAVE_WORKING_POSIX_SPAWN.
11740         * lib/spawn_faction_adddup2.c: Likewise.
11741         * lib/spawn_faction_addopen.c: Likewise.
11742         * m4/posix_spawn_faction_addchdir.m4: New file.
11743         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
11744         'posix_spawn_file_actions_addchdir' is present and whether
11745         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
11746         instead of HAVE_WORKING_POSIX_SPAWN.
11747         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
11748         posix_spawn_file_actions_addchdir is declared.
11749         (gl_SPAWN_H_DEFAULTS): Initialize
11750         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
11751         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
11752         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
11753         * modules/spawn (Makefile.am): Substitute
11754         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
11755         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
11756         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
11757         * modules/posix_spawn_file_actions_addchdir: New file.
11758         * modules/posix_spawn_file_actions_addclose (Depends-on,
11759         configure.ac): Test also REPLACE_POSIX_SPAWN.
11760         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
11761         configure.ac): Likewise.
11762         * modules/posix_spawn_file_actions_addopen (Depends-on,
11763         configure.ac): Likewise.
11764         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
11765         signature.
11766         * doc/posix-functions/posix_spawn.texi: Mention the new module.
11767         * doc/posix-functions/posix_spawnp.texi: Likewise.
11769 2018-09-06  Bruno Haible  <bruno@clisp.org>
11771         stddef: Override max_align_t on NetBSD 8.0/x86.
11772         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
11773         the value of __alignof__ (max_align_t).
11774         * doc/posix-headers/stddef.texi: Mention the issue.
11776 2018-09-06  Bruno Haible  <bruno@clisp.org>
11778         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
11779         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
11780         system fcntl.
11781         * doc/posix-functions/fcntl.texi: Document the issue.
11783 2018-09-06  Bruno Haible  <bruno@clisp.org>
11785         count-trailing-zeros tests: Rely on limits-h module.
11786         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
11787         definition.
11788         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
11790 2018-09-06  Bruno Haible  <bruno@clisp.org>
11792         count-leading-zeros tests: Rely on limits-h module.
11793         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
11794         definition.
11795         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
11797 2018-09-06  Bruno Haible  <bruno@clisp.org>
11799         count-one-bits tests: Rely on limits-h module.
11800         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
11801         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
11803 2018-09-06  Bruno Haible  <bruno@clisp.org>
11805         xstrtoll: Rely on limits-h module.
11806         * lib/xstrtol.c: Don't include intprops.h.
11807         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
11808         * modules/xstrtol (Depends-on): Remove 'intprops'.
11809         * modules/xstrtoll (Depends-on): Add 'limits-h'.
11811 2018-09-06  Bruno Haible  <bruno@clisp.org>
11813         strtoll, strtoull: Rely on limits-h module.
11814         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
11815         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
11816         * modules/strtoll (Depends-on): Add limits-h.
11817         * modules/strtoull (Depends-on): Likewise.
11819 2018-09-06  Bruno Haible  <bruno@clisp.org>
11821         intprops tests: Fix compilation error with pre-C99 compiler.
11822         * tests/test-intprops.c (verify_stmt): New macro.
11823         (VERIFY, main): Use it.
11825 2018-09-06  Bruno Haible  <bruno@clisp.org>
11827         limits-h: Provide numerical limits macros.
11828         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
11829         IRIX and for GCC.
11830         (WORD_BIT, LONG_BIT): Define.
11831         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
11832         <limits.h> does not define LLONG_MAX or WORD_BIT.
11833         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
11834         TYPE_MAXIMUM): New macros, from intprops.h.
11835         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
11836         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
11837         provides.
11839 2018-09-05  Bruno Haible  <bruno@clisp.org>
11841         fcntl: Don't access nonexistent optional argument.
11842         Reported by Frank Busse <f.busse@imperial.ac.uk> in
11843         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
11844         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
11845         don't consume an argument. For actions that take an 'int' argument,
11846         consume an 'int' argument.
11848 2018-09-05  Eric Blake  <eblake@redhat.com>
11850         doc: mention environ pitfall
11851         * doc/posix-functions/environ.texi (environ): Assigning NULL to
11852         environ is a glibc extension.
11854 2018-09-03  Bruno Haible  <bruno@clisp.org>
11856         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
11857         Reported by Antoine Luong <antoine.luong@c-s.fr> in
11858         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
11859         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
11860         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
11861         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
11863 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11865         mktime: fix unlikely race+overflow bug
11866         Problem reported by Alexandre Oliva in:
11867         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
11868         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
11869         to avoid an unlikely race if the compiler delays a load and
11870         if this cascades into a signed integer overflow.
11872 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11874         mktime, timegm: simplify glibc time64_t
11875         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
11876         Now long int, not time_t, since long int is the longstanding type
11877         for this in glibc and there is no need to change it even if time_t
11878         becomes 64 bits - even int would do, though this would be a change
11879         to the glibc generated code.  When this change is merged into
11880         glibc, it should simplify the time_t vs time64_t situation.
11882         mktime, timegm: simplify merge to glibc
11883         Move code around to make a merge to glibc easier to audit.
11884         This should not change behavior.
11885         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
11886         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
11887         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
11888         simplify later conditionals; default the others to zero.  In uses
11889         of these conditionals, explicitly spell out how _LIBC affects
11890         things, so it’s easier to review from a glibc viewpoint.
11891         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
11892         compartmentalize tzset issues.  Move system-dependent tzsettish
11893         code here from mktime.
11894         (mktime): Move tzsettish code to my_tzset, and move
11895         localtime_offset to within mktime so that it doesn’t
11896         need a separate ifdef.
11898 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
11900         intprops: avoid evaluation of some expressions
11901         This makes EXPR_SIGNED (e) easier to use, as it no longer
11902         evaluates the expression E.  Formerly, E was required to be free
11903         of side effects.
11904         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
11905         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
11906         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
11908 2018-08-23  Bruno Haible  <bruno@clisp.org>
11910         getcwd: Add cross-compilation guesses.
11911         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
11912         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
11913         Based on a patch by Paul Eggert.
11914         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
11915         guesses for all GNU systems.
11917 2018-08-19  Bruno Haible  <bruno@clisp.org>
11919         glob-h: Formalize side effects from other modules.
11920         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
11921         * m4/glob.m4 (gl_GLOB): Invoke it.
11923         fnmatch-h: Formalize side effects from other modules.
11924         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
11925         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
11927         limits-h: Formalize side effects from other modules.
11928         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
11929         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
11931 2018-08-19  Bruno Haible  <bruno@clisp.org>
11933         getpass: Move declaration to <unistd.h>.
11934         * lib/unistd.in.h (getpass): New declaration.
11935         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
11936         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
11937         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
11938         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
11939         On glibc systems, don't set REPLACE_GETPASS to 1.
11940         * modules/getpass (Depends-on): Add 'unistd'.
11941         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
11942         (Include): Specify <unistd.h> instead of "getpass.h".
11943         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
11944         (configure.ac): Sync with the configure.ac section of modules/getpass.
11945         (Include): Specify <unistd.h> instead of "getpass.h".
11946         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
11947         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
11948         REPLACE_GETPASS.
11949         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
11950         REPLACE_GETPASS.
11951         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
11952         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
11953         and musl.
11954         * NEWS: Mention the change.
11956 2018-08-19  Bruno Haible  <bruno@clisp.org>
11958         glob: Fix over-optimization due to attribute __nonnull__.
11959         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
11961 2018-08-19  Bruno Haible  <bruno@clisp.org>
11963         glob: Fix another compilation error when glob.h is not replaced.
11964         Reported by Reuben Thomas <rrt@sc3d.org> in
11965         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
11966         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
11967         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
11969 2018-08-18  Bruno Haible  <bruno@clisp.org>
11971         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
11972         Reported by Reuben Thomas <rrt@sc3d.org> in
11973         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
11974         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
11975         in config.h.
11977 2018-08-18  Bruno Haible  <bruno@clisp.org>
11979         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
11980         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
11981         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
11982         Solution proposed by Eli Zaretskii.
11983         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
11984         * lib/gettimeofday.c (GetProcAddress): Likewise.
11985         * lib/link.c (GetProcAddress): Likewise.
11986         * lib/physmem.c (GetProcAddress): Likewise.
11987         * lib/poll.c (GetProcAddress): Likewise.
11988         * lib/select.c (GetProcAddress): Likewise.
11989         * lib/stat-w32.c (GetProcAddress): Likewise.
11991 2018-08-18  Bruno Haible  <bruno@clisp.org>
11993         glob: Fix another compilation error when glob.h is not replaced.
11994         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
11995         * lib/globfree.c: Include <libc-config.h>.
11997 2018-08-18  Bruno Haible  <bruno@clisp.org>
11999         glob: Fix compilation error when glob.h is not replaced.
12000         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
12001         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
12002         * lib/glob_pattern_p.c: Include <libc-config.h>.
12003         * modules/glob (Depends-on): Add libc-config.
12005 2018-08-18  Bruno Haible  <bruno@clisp.org>
12007         scratch_buffer: Add tests.
12008         * tests/test-scratch-buffer.c: New file.
12009         * modules/scratch_buffer-tests: New file.
12011 2018-08-18  Bruno Haible  <bruno@clisp.org>
12013         scratch_buffer: Fix include file.
12014         Reported by Reuben Thomas <rrt@sc3d.org> in
12015         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
12016         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
12017         double-inclusion guard.
12019 2018-08-18  Bruno Haible  <bruno@clisp.org>
12021         glob-h: Revert Paul Eggert's revert.
12022         * m4/glob_h.m4: Revert to previous state.
12023         * modules/glob-h: Likewise.
12025 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12027         glob-h: always build glob.h
12028         This works around a problem reported by Reuben Thomas in:
12029         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
12030         This workaround always builds glob.h, even on platforms that
12031         do not need it; perhaps this could be improved someday.
12032         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
12033         is always created now.
12034         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
12036 2018-08-13  Bruno Haible  <bruno@clisp.org>
12038         monetary: Simplify m4 code.
12039         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
12040         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
12042 2018-08-13  Bruno Haible  <bruno@clisp.org>
12044         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
12045         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
12046         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
12047         and by Paul J. Lucas <paul@lucasmail.org> in
12048         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
12049         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
12051 2018-08-11  Bruno Haible  <bruno@clisp.org>
12053         setlocale: Trivial simplification.
12054         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
12056 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12058         verify: port 'assume' to traditional tools
12059         * lib/verify.h (assume): Port better to Oracle Studio 12.6
12060         and other tools that use /*NOTREACHED*/ comments.
12062 2018-08-10  Bruno Haible  <bruno@clisp.org>
12064         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
12065         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
12066         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
12067         'fnmatch-gnu' is in use.
12069 2018-08-07  Bruno Haible  <bruno@clisp.org>
12071         glob-h: Add tests.
12072         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
12073         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
12074         tests/test-glob-h.c.
12075         * modules/glob-h-tests: New file.
12076         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
12077         conditions.
12078         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
12079         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
12081 2018-08-07  Bruno Haible  <bruno@clisp.org>
12083         glob-h: New module.
12084         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
12085         replacements.
12086         * lib/glob.c: Include <config.h>.
12087         * m4/glob_h.m4: New file.
12088         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
12089         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
12090         REPLACE_GLOB_PATTERN_P as appropriate.
12091         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
12092         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
12093         * modules/glob-h: New file.
12094         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
12095         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
12096         lstat, sys_stat. Change conditions.
12097         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
12098         REPLACE_GLOB_PATTERN_P. Set module indicator.
12099         (Makefile.am): Remove code that is moved to glob-h.
12100         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
12101         * modules/posixcheck (Depends-on): Add glob-h.
12103 2018-08-06  Bruno Haible  <bruno@clisp.org>
12105         Force generation of substitute .h file when C++ support is enabled.
12106         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
12107         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
12108         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
12109         FNMATCH_H to non-empty.
12110         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
12111         ICONV_H to non-empty.
12112         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
12113         MONETARY_H to non-empty.
12114         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
12115         non-empty.
12117 2018-08-06  Bruno Haible  <bruno@clisp.org>
12119         fnmatch-h: Fix test compilation error on mingw (regression from today).
12120         * lib/fnmatch.in.h: Fix conditions.
12122 2018-08-06  Bruno Haible  <bruno@clisp.org>
12124         sys_resource: Relicense under LGPLv2+.
12125         John Malmberg's approval is in
12126         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
12127         * modules/sys_resource (License): Change to LGPLv2+.
12129 2018-08-06  Bruno Haible  <bruno@clisp.org>
12131         fnmatch-h: Add tests.
12132         * tests/test-fnmatch-h.c: New file.
12133         * modules/fnmatch-h-tests: New file.
12134         * tests/test-fnmatch-h-c++.cc: New file.
12135         * modules/fnmatch-h-c++-tests: New file.
12137 2018-08-06  Bruno Haible  <bruno@clisp.org>
12139         fnmatch-h: New module.
12140         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
12141         replacements.
12142         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
12143         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
12144         'posixcheck' warning.
12145         * m4/fnmatch_h.m4: New file.
12146         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
12147         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
12148         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
12149         as appropriate.
12150         * modules/fnmatch-h: New file.
12151         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
12152         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
12153         conditions.
12154         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
12155         indicator.
12156         (Makefile.am): Remove code that is moved to fnmatch-h.
12157         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
12158         REPLACE_FNMATCH.
12159         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
12160         * modules/posixcheck (Depends-on): Add fnmatch-h.
12162 2018-08-06  Bruno Haible  <bruno@clisp.org>
12164         Enable more C++ tests.
12165         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
12166         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
12167         * modules/strings-tests (Depends-on): Add strings-c++-tests.
12168         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
12169         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
12171 2018-08-06  Bruno Haible  <bruno@clisp.org>
12173         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
12174         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
12175         getopt.h.
12176         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
12178 2018-08-05  Bruno Haible  <bruno@clisp.org>
12180         utime-h: Generate header file when module 'posixcheck' is in use.
12181         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
12182         UTIME_H to non-empty.
12184 2018-08-05  Bruno Haible  <bruno@clisp.org>
12186         monetary: Generate header file when module 'posixcheck' is in use.
12187         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
12188         use, set MONETARY_H to non-empty.
12190 2018-08-05  Bruno Haible  <bruno@clisp.org>
12192         iconv-h: Generate header file when module 'posixcheck' is in use.
12193         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
12194         set ICONV_H to non-empty.
12196 2018-08-05  Bruno Haible  <bruno@clisp.org>
12198         Optimize the "checking whether ... is declared without a macro" checks.
12199         Suggested by Paul Eggert in
12200         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
12201         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
12202         Gnulib module 'posixcheck' is not in use.
12204 2018-08-05  Bruno Haible  <bruno@clisp.org>
12206         iconv-h: Enable 'posixcheck' warnings.
12207         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
12208         iconv_open.
12209         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
12211 2018-08-05  Bruno Haible  <bruno@clisp.org>
12213         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
12214         * m4/extern-inline.m4: Add more comments.
12215         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
12216         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
12217         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
12219 2018-08-04  Bruno Haible  <bruno@clisp.org>
12221         New module 'posixcheck'.
12222         * modules/posixcheck: New file.
12223         * m4/posixcheck.m4: New file.
12224         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
12225         (Which modules?): Reference it.
12227 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
12229         dfa: fix memory leak
12230         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
12232 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
12234         ieee754-h: new module
12235         It looks like Emacs can use this for some NaN processing.
12236         Emacs uses it only on double NaNs so it should be safe.
12237         * MODULES.html.sh (func_all_modules): Add ieee754-h.
12238         * config/srclist.txt: Mention ieee754.h in a comment.
12239         * doc/glibc-headers/ieee754.texi (ieee754.h):
12240         Gnulib now has a substitute that should work
12241         except for long double and for non-IEEE platforms.
12242         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
12243         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
12245 2018-07-27  Bruno Haible  <bruno@clisp.org>
12247         iswcntrl: Mention minor problem on macOS.
12248         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
12250 2018-07-26  Colin Watson  <cjwatson@debian.org>
12252         bootstrap, gnulib-tool: fix translations rsync
12253         Previously, we created files such as $pobase/Makefile.in.in and then the
12254         subsequent rsync would immediately delete them.
12255         * build-aux/bootstrap (po_download_command_format): Avoid deleting
12256         non-.po files in target directory when rsyncing translations.
12257         * gnulib-tool (func_import): Likewise.
12258         * pygnulib/GLImport.py (GLImport.execute): Likewise.
12260 2018-07-25  Jim Meyering  <meyering@fb.com>
12262         bootstrap: reinstate definition fo gnulib_mk.
12263         That variable is used at least by cppi.
12264         * build-aux/bootstrap (gnulib_mk): Restore definition.
12265         This reverts the deletion from v0.1-1844-gc66dba9ba.
12267 2018-07-23  Bruno Haible  <bruno@clisp.org>
12269         doc: For module names, use texinfo markup @code{} or @samp{}.
12270         * doc/alloca.texi: Mark gnulib module names with @code.
12271         * doc/alloca-opt.texi: Likewise.
12272         * doc/quote.texi: Likewise.
12273         * doc/posix-functions/freopen.texi: Likewise.
12274         * doc/posix-functions/open.texi: Likewise.
12275         * doc/posix-functions/readlink.texi: Likewise.
12276         * doc/posix-functions/readlinkat.texi: Likewise.
12277         * doc/posix-functions/stdout.texi: Likewise.
12278         * doc/posix-functions/stderr.texi: Likewise.
12279         * doc/posix-functions/unlink.texi: Likewise.
12280         * doc/posix-functions/unlinkat.texi: Likewise.
12281         * doc/posix-functions/utime.texi: Likewise.
12282         * doc/posix-functions/utimensat.texi: Likewise.
12283         * doc/posix-functions/utimes.texi: Likewise.
12284         * doc/posix-headers/stdint.texi: Likewise.
12285         * doc/glibc-functions/futimesat.texi: Likewise.
12286         * doc/glibc-functions/lutimes.texi: Likewise.
12287         * doc/glibc-functions/memmem.texi: Likewise.
12289 2018-07-23  Werner LEMBERG  <wl@gnu.org>
12291         doc: Avoid some overfull lines in the TeX output.
12292         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
12293         @example.
12294         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
12295         newline before the long URL.
12296         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
12297         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
12298         Add line breaks in code snippets.
12300 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
12302         hard-locale: simplify by removing hard-locale.m4
12303         * m4/hard-locale.m4: Remove.
12304         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
12305         (configure.ac): Do not call gl_HARD_LOCALE.
12307         gnulib-tool: limit line length for git send-email
12308         * gnulib-tool (func_import): Break actioncmd log line
12309         into multiple lines.
12311 2018-07-16  Bruno Haible  <bruno@clisp.org>
12313         ffs: Ensure declaration on mingw.
12314         Reported by Daniel P. Berrangé <berrange@redhat.com>
12315         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
12316         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
12317         also declared.
12319 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
12321         regex-tests: add dependency
12322         * modules/regex-tests (Depends-on): Add gettext-h.
12323         This is needed given the recent changes to regex,
12324         which no longer depends on gettext-h.
12326 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12328         regex: now in sync with glibc
12329         * config/srclist.txt: Gnulib and glibc regex code
12330         are synchronized again.
12332 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12334         renameatu: rename from renameat2
12335         It's looking like Glibc will add a renameat2 function
12336         that is incompatible with Gnulib renameat2; see:
12337         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
12338         To help avoid future confusion, rename renameat2 to something else.
12339         Use the name 'renameatu', as the Gnulib function is close to the
12340         Glibc function.  Perhaps someday there will also be a renameat2
12341         Gnulib module, which mimicks the future glibc renameat2, but that
12342         can wait as nobody seems to need such a module now.
12343         * NEWS: Mention this.
12344         * lib/renameatu.c: Rename from lib/renameat2.c.
12345         * lib/renameatu.h: Rename from lib/renameat2.h.
12346         * modules/renameatu: Rename from modules/renameat2.
12347         * modules/renameatu-tests: Rename from modules/renameat2-tests.
12348         All uses of "renameat2" in identifiers or file name
12349         changed to "renameatu", except for two instances in
12350         lib/renameatu.c that deal with the Linux kernel's
12351         renameat2 syscall.
12353 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
12355         gnulib-tool: minor tweaks for --gnu-make
12356         * gnulib-tool: Do not allow --gnu-make in test modes,
12357         since they all require automake.
12358         (func_emit_lib_Makefile_am): Don’t emit automake comment
12359         if --gnu-make.
12361         regex: work around conditional-dependencies glitch
12362         * modules/regex (Depends-on): Add langinfo.
12363         Without this change, I had problems building an experimental
12364         version of GNU Emacs.  The symptom of the bug was a message
12365         ‘./configure: line 12726: test: =: unary operator expected’.
12366         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
12367         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
12368         was unset.  Although gl_FUNC_NL_LANGINFO has
12369         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
12370         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
12371         --conditional-dependencies sometimes arranges for the
12372         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
12373         code.  Since the regex code includes <langinfo.h> it should be
12374         depending on the langinfo module anyway, and this happens to work
12375         around the bug, so install that as a workaround for now.  To
12376         reproduce the original problem, run the following shell script on
12377         the version of Gnulib just before this patch was installed.
12378                 rm -fr foo
12379                 mkdir foo
12380                 cat >foo/configure.ac <<'EOF'
12381                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
12382                 gl_EARLY
12383                 gl_INIT
12384                 AC_OUTPUT
12385                 EOF
12386                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
12387                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
12388                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
12389                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
12390                 cd foo
12391                 aclocal -I m4
12392                 autoconf
12393                 ./configure --with-included-regex
12395 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12397         wchar: fix bug when checking for ‘inline’
12398         I discovered this when looking into using the regex module
12399         with Emacs.
12400         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
12401         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
12402         conftest1.c and conftest2.c but these files were not created.
12403         As far as I can see, this check never worked and nobody reported
12404         it until now, which is a bit worrisome.
12406 2018-06-30  Jim Meyering  <meyering@fb.com>
12408         bootstrap: s/--option val/--option=val/
12409         * build-aux/bootstrap (gnulib_tool_options): Change the
12410         spelling of "--option val" pairs to "--option=val", for
12411         aesthetics, and also so that this file no longer triggers
12412         a common help2man syntax-check warning when copied into
12413         projects like grep, gzip, etc.
12415 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12417         manywarnings: omit -Wswitch-default
12418         This should make things more consistent, as we already ignore
12419         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
12420         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
12421         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
12422         Add -Wswitch-default.
12423         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
12424         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
12425         Remove -Wswitch-default.
12427         regex: revert most trimming
12428         Problems reported by Bruno Haible in:
12429         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
12430         * modules/regex (Depends-on): Add lock, memcmp, memmove,
12431         and wctype back in.  lock because regex users shouldn’t
12432         need to know that regex needs locking, and the rest because
12433         gnulib-tool should ordinarily ignore them anyway.
12435 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12437         regex: trim module dependencies
12438         * modules/regex (Depends-on): Remove gettext-h and lock,
12439         since the regex code should work OK without these modules,
12440         and Emacs uses it that way.  Also remove memcmp, memmove,
12441         and wctype, as these modules are obsolete and should not be
12442         needed any more.
12444 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
12446         regex: glibc does not use intprops.h
12447         Maybe we can talk glibc into using intprops.h someday, but
12448         now doesn’t seem to be a good time.
12449         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
12450         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
12451         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
12453 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
12455         regex: port to recently proposed glibc regex merge
12456         This patch is inspired by Adhemerval Zanella's recent proposal
12457         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
12458         to merge glibc and Gnulib regex.  It aims to simplify the merge on
12459         the glibc side, without keeping Gnulib portable.
12460         * lib/regex.h: Fix a problem with glibc installed-header checking,
12461         as follows:
12462         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
12463         (_Restrict_arr_): Prefer __restrict_arr if defined,
12464         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
12465         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
12466         (build_wcs_upper_buffer, build_upper_buffer)
12467         (re_string_translate_buffer, re_string_context_at):
12468         Move decls here from lib/regex_internal.h, for glibc internal tests.
12469         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
12470         glibc BZ #18496.
12471         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
12472         -Wunused-value.
12473         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
12474         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
12475         (bitset_mask): Now static inline, and without any __attribute__
12476         ((unused)) decoration, for glibc internal tests.
12478 2018-06-25  Bruno Haible  <bruno@clisp.org>
12480         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
12481         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
12482         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
12483         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
12484         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
12485         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
12486         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
12487         / -lthread / -lpth does not get optimized away by a preceding
12488         --as-needed option.
12490 2018-06-25  Bruno Haible  <bruno@clisp.org>
12492         Continue to use spaces for indentation, not tabs.
12493         * MODULES.html.sh: Untabify.
12494         * doc/regex.texi: Likewise.
12495         * lib/acl-internal.c: Likewise.
12496         * lib/dfa.c: Likewise.
12497         * lib/exclude.c: Likewise.
12498         * lib/exclude.h: Likewise.
12499         * lib/get-permissions.c: Likewise.
12500         * lib/gettimeofday.c: Likewise.
12501         * lib/parse-datetime.y: Likewise.
12502         * lib/pselect.c: Likewise.
12503         * lib/set-permissions.c: Likewise.
12504         * lib/time.in.h: Likewise.
12505         * m4/canonicalize.m4: Likewise.
12506         * m4/gc.m4: Likewise.
12507         * m4/gnulib-common.m4: Likewise.
12508         * m4/pthread_sigmask.m4: Likewise.
12509         * m4/vararrays.m4: Likewise.
12510         * tests/test-digest.h: Likewise.
12511         * tests/test-fcntl-h.c: Likewise.
12512         * tests/test-timespec.c: Likewise.
12513         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
12515 2018-06-25  Bruno Haible  <bruno@clisp.org>
12517         manywarnings: Don't enable -Wjump-misses-init warnings by default.
12518         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
12519         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
12520         -Wjump-misses-init.
12522 2018-06-25  Jim Meyering  <meyering@fb.com>
12524         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
12525         * lib/acl-internal.h (free_permission_context): Remove that
12526         attribute directive.  Otherwise, it would provoke this from GCC 9:
12527         lib/acl-internal.h:300:3: error: 'const' attribute on function \
12528           returning 'void' [-Werror=attributes]
12530 2018-06-24  Jim Meyering  <meyering@fb.com>
12532         parse-datetime: accommodate gcc-4.8.5
12533         Bruno Haible reported the build failure in
12534         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
12535         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
12536         on declaration of new local.
12538 2018-06-24  Bruno Haible  <bruno@clisp.org>
12540         af_alg: Fail in continuable manner on Linux/powerpc64le.
12541         Reported by Assaf Gordon <assafgordon@gmail.com>
12542         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
12543         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
12544         byte send() as the first round.
12546 2018-06-24  Bruno Haible  <bruno@clisp.org>
12548         af_alg: Fix state of stream after sendfile() succeeds.
12549         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
12550         the stream is correctly positioned afterwards.
12551         * modules/crypto/af_alg (Depends-on): Add fflush.
12552         * tests/test-digest.h (test_digest_on_files): Verify that after the
12553         operation the stream is positioned at end of file.
12555 2018-06-24  Jim Meyering  <meyering@fb.com>
12557         canon-host: take GCC9's advice rather than ignoring warning
12558         Pádraig Brady suggested not to ignore this GCC9 advice.
12559         * lib/canon-host.c: Undo preceding change.
12560         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
12562         parse-datetime.y: avoid spurious GCC 9 warning
12563         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
12564         a function local prior to the first "goto fail".  The prior use would
12565         evoke this:
12566         parse-datetime.y: In function 'parse_datetime2':
12567         parse-datetime.y:1791:19: error: jump skips variable initialization \
12568           [-Werror=jump-misses-init]
12569         parse-datetime.y:2385:2: note: label 'fail' defined here
12570         parse-datetime.y:188:43: note: '({anonymous})' declared here
12571         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
12573         canon-host.c: avoid spurious GCC 9 warning
12574         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
12576         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
12577         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
12578         * m4/manywarnings.m4: Remove them.
12579         Otherwise, building coreutils, I would see this:
12580         cc1: error: deprecated command line option '-Wchkp' [-Werror]
12581         cc1: error: -Wabi won't warn about anything [-Werror=abi]
12582         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
12583           which is also used by default
12584         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
12586 2018-06-24  Bruno Haible  <bruno@clisp.org>
12588         af_alg tests: Add another test.
12589         * tests/test-digest.h (test_digest_on_files): Also check a large file
12590         with a skipped header.
12591         * tests/test-md5.c: Include macros.h.
12592         * tests/test-sha1.c: Likewise.
12593         * tests/test-sha256.c: Likewise.
12594         * tests/test-sha512.c: Likewise.
12595         * modules/crypto/md5-tests (Files): Add tests/macros.h.
12596         * modules/crypto/sha1-tests (Files): Likewise.
12597         * modules/crypto/sha256-tests (Files): Likewise.
12598         * modules/crypto/sha512-tests (Files): Likewise.
12600 2018-06-24  Pádraig Brady  <P@draigBrady.com>
12602         maint: clarify comments about sticky EOF
12603         * lib/af_alg.c: Be more direct that we can't
12604         assume stickiness of EOF for portability reasons.
12605         * lib/md5.c: Clarify that this isn't just a glibc issue.
12606         * lib/sha1.c: Likewise.
12607         * lib/sha256.c: Likewise.
12608         * lib/sha512.c: Likewise.
12610 2018-06-24  Bruno Haible  <bruno@clisp.org>
12612         af_alg: Comment and style improvements.
12613         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
12614         (afalg_buffer, afalg_stream): Improve comments.
12616 2018-06-24  Pádraig Brady  <P@draigBrady.com>
12618         af_alg: disable kernel hash functions by default
12619         All the kernel routines were seen to be significantly slower
12620         with these relatively recent components on an i3-2310M system:
12621           kernel-4.10.6-200.fc25.x86_64
12622           openssl-1.0.2m-1.fc25.x86_64
12623         sha1 was nearly twice as slow in the kernel for example.
12624         Further considerations why this should not be the default, at:
12625         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
12627         * m4/af_alg.m4: Require --with-linux-crypto to enable.
12628         * m4/gl-openssl.m4: Tweak accordingly.
12630 2018-06-24  Pádraig Brady  <P@draigBrady.com>
12632         af_alg: avoid hangs when reading from streams
12633         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
12634         and thus avoid doing a fread() when feof() is set.
12635         * lib/md5.c: Ensure feof() is called before fread().
12636         * lib/sha1.c: Likewise.
12637         * lib/sha256.c: Likewise.
12638         * lib/sha512.c: Likewise.
12640 2018-06-24  Pádraig Brady  <P@draigBrady.com>
12642         af_alg: fix error handling when hash not returned
12643         * lib/af_alg.c (afalg_stream): Handle the case where we've
12644         successfully written data to the kernel in the read/write loop,
12645         but the kernel doesn't respond with the hash.
12647 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12649         libc-config: merge from glibc
12650         * lib/cdefs.h (__inline, __restrict):
12651         Copy from current glibc.  This fixes glibc bug 17721,
12652         which Gnulib had already fixed in a different way.
12653         (__nonnull): Lessen the distance from glibc by using the
12654         glibc definition inside an ‘#ifndef __nonnull’.
12655         (__attribute_nonstring__): New macro, copied from
12656         current glibc.
12657         * lib/libc-config.h (__attribute_nonstring__): New undef.
12658         (__restrict): Remove; workaround no longer needed.
12659         Keep the __inline workaround, though, as it uses HAVE___INLINE to
12660         support more compilers than the glibc __inline can.
12662 2018-06-24  Bruno Haible  <bruno@clisp.org>
12664         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
12665         * lib/mbrtowc.c (enc_t): New enum type.
12666         (locale_enc, locale_enc_cached): New functions.
12667         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
12668         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
12669         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
12670         instead.
12671         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
12672         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
12673         * modules/wcwidth (configure.ac): Invoke it.
12675 2018-06-24  Bruno Haible  <bruno@clisp.org>
12677         wchar-single: Fix test failure in wcwidth tests.
12678         * tests/test-wcwidth.c (main): If the wchar-single module is present,
12679         skip the tests in the C locale.
12681 2018-06-23  Pádraig Brady  <P@draigBrady.com>
12683         crypto: mention --without-linux-crypto in --with-openssl --help
12684         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
12685         routines take precedence in --with-openssl help output.
12687 2018-06-23  Pádraig Brady  <P@draigBrady.com>
12689         wchar-single: a new module to enable optimizations in wchar replacements
12690         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
12691         GNULIB_WCHAR_SINGLE is enabled.
12692         * lib/wcwidth.c (wcwidth): Likewise.
12694 2018-06-23  Bruno Haible  <bruno@clisp.org>
12696         libc-config: Fix conflict with FreeBSD include files.
12697         * lib/cdefs.h (__nonnull): Remove definition.
12698         * lib/libc-config.h (__nonnull): Remove undefinition.
12700 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
12702         random_r: do not crash if state is unaligned
12703         Problem reported by Bruce Korb in:
12704         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
12705         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
12706         with 'cc -O2 -xmemalign=8s'.
12707         * lib/random_r.c: Include string.h, for memcpy.
12708         (get_int32, set_int32): New functions.
12709         (__srandom_r, __initstate_r, __setstate_r, __random_r):
12710         Use them to avoid assumption that state pointer is aligned.
12711         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
12712         * tests/test-random_r.c (test_failed): New function.
12713         (main): Use it, to test for alignment bugs.
12715         random_r: omit unnecessary include
12716         * lib/random_r.c: Do not include limits.h.
12718         random, random_r: merge from glibc
12719         * lib/random.c, lib/random_r.c:
12720         Include libc-config.h if !_LIBC, not config.h unilaterally.
12721         * lib/random.c:
12722         Do not include stdint.h or time.h; not needed.
12723         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
12724         (unsafe_state): Rename from generator.  All uses changed.
12725         Use C99-style initializers.
12726         (__random, __srandom, __initstate, __setstate): Rename from
12727         non-underscored version, but define it to non-underscored version
12728         on Gnulib.  Add a lock.
12729         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
12730         Likewise.
12731         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
12732         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
12733         (__srandom_r): Use int32_t instead of long int where int32_t will do.
12734         (__random_r): Use uint32 to fix glibc bug 17343.
12735         * modules/random, modules/random_r (Depends-on): Add libc-config.
12736         Depend on stdint only if $HAVE_RANDOM = 0.
12738 2018-06-19  Jim Meyering  <meyering@fb.com>
12740         README-release: also run any check-very-expensive tests
12741         * top/README-release: Adjust instructions so they run the
12742         check-very-expensive tests when there is such a target.
12744 2018-06-18  Bruno Haible  <bruno@clisp.org>
12746         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
12747         * m4/pthread_rwlock_rdlock.m4: Add comment.
12748         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
12749         are reader-preferring in glibc.
12750         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
12751         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12753 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
12755         crypto: use byteswap
12756         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
12757         * lib/sm3.c: Include <byteswap.h>.
12758         (SWAP): Use its macros rather than reinventing the wheel.
12759         * modules/crypto/md4, modules/crypto/md5-buffer:
12760         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
12761         * modules/crypto/sha512-buffer, modules/crypto/sm3:
12762         (Depends-on): Add byteswap.
12764 2018-06-17  Pádraig Brady  <P@draigBrady.com>
12766         gendocs.sh: fix support for legacy --texi2html
12767         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
12768         to the default makeinfo invocation.
12769         Reported by Bruce Korb
12771 2018-06-17  Bruno Haible  <bruno@clisp.org>
12773         gettext po infrastructure: Update from current gettext git.
12774         Reported by Akim Demaille <akim@lrde.epita.fr>.
12775         * build-aux/po/Makefile.in.in: Update from current gettext git.
12776         * build-aux/po/remove-potcdate.sin: Likewise.
12777         * config/srclist.txt: Temporarily disable sync for these files.
12779 2018-06-17  Bruno Haible  <bruno@clisp.org>
12781         getloadavg: Return 0 on Windows without Cygwin.
12782         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
12784 2018-06-17  Paul Smith  <psmith@gnu.org>
12786         getloadavg: Allow building on Windows without Cygwin
12787         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
12788         * m4/getloadavg.m4: Check for unistd.h.
12790 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
12792         Port crypto/af_alg to GCC 4.8.4
12793         Problem reported by Peter Simons in:
12794         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
12795         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
12797 2018-05-27  Colin Watson  <cjwatson@debian.org>
12799         bootstrap: document source fetching in --help
12800         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
12802 2018-04-09  Colin Watson  <cjwatson@debian.org>
12804         bootstrap: allow non-submodule control of gnulib
12805         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
12806         bootstrap.conf when fetching gnulib using "git clone" or via
12807         GNULIB_SRCDIR.
12809 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12811         crypto: omit stream ops Emacs doesn’t need
12812         * lib/md5.c (md5_stream):
12813         * lib/sha1.c (sha1_stream):
12814         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
12815         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
12816         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
12817         defined.  Emacs needs this, as it does not use the stream
12818         operations and doesn’t need all the af_alg stuff we’ve recently
12819         added.  Perhaps a similar change is needed to the other crypto
12820         modules, but this patch changes only those needed for Emacs.
12821         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
12822         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
12823         New modules, used by Emacs.
12824         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
12825         * modules/crypto/sha512: Rewrite to depend on the new modules.
12827 2018-05-20  Pádraig Brady  <P@draigBrady.com>
12829         fts: avoid a memory leak edge case
12830         * lib/fts.c (fts_open): Set an appropriate fts_level
12831         so that an immediate fts_close() will free the allocation.
12832         * tests/test-fts.c (fts_dealloc): Add a test case which
12833         will trigger under valgrind or address sanitizer.
12834         Fixes https://bugs.gnu.org/31439
12836 2018-05-20  Bruno Haible  <bruno@clisp.org>
12838         wcwidth tests: Fix link error.
12839         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
12840         $(LIBUNISTRING).
12842 2018-05-20  Bruno Haible  <bruno@clisp.org>
12844         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
12845         * modules/regex (Files): Add m4/glibc21.m4.
12847 2018-05-20  Bruno Haible  <bruno@clisp.org>
12849         localcharset: Optimize.
12850         * lib/localcharset.c (alias_table): Comment out no-op mappings for
12851         platforms where these don't matter. This reduces the table size,
12852         which in turn reduces the lookup time.
12854 2018-05-19  Bruno Haible  <bruno@clisp.org>
12856         localcharset: Map the locale encodings found in newer OSes.
12857         * lib/localcharset.c (alias_table): Add mapping for locale encodings
12858         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
12859         IRIX 6.5, Minix 3.3.
12860         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
12862 2018-05-19  Bruno Haible  <bruno@clisp.org>
12864         localcharset: Move mapping tables into the code. Use a binary search.
12865         * lib/localcharset.h: Document the GNU canonical names for character
12866         encodings here.
12867         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
12868         relocatable.h, configmake.h.
12869         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
12870         macros.
12871         (charset_aliases): Remove variable.
12872         (get_charset_aliases): Remove function.
12873         (struct table_entry): New type.
12874         (alias_table, locale_table): New constants.
12875         (locale_charset): Use the alias_table or locale_table to get the
12876         canonicalized encoding name.
12877         * lib/config.charset: Remove file.
12878         * lib/ref-add.sin: Remove file.
12879         * lib/ref-del.sin: Remove file.
12880         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
12881         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
12882         * modules/localcharset (Notice): Remove.
12883         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
12884         glibc21.m4.
12885         (Depends-on): Remove configmake.
12886         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
12887         (Makefile.am): Simplify.
12888         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
12890 2018-05-19  Bruno Haible  <bruno@clisp.org>
12892         localcharset: Add a manual test.
12893         * tests/test-localcharset.c: New file.
12894         * modules/localcharset-tests: New file.
12896 2018-05-19  Bruno Haible  <bruno@clisp.org>
12898         localcharset: Remove support for obsolete platforms.
12899         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
12900         Mac OS X 10.2. Comment out dubious entry for Solaris.
12902 2018-05-19  Jim Meyering  <meyering@fb.com>
12904         gnupload: adjust comment
12905         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
12906         more likely we'll remove the just-added code in a year or two.
12908 2018-05-19  Bruno Haible  <bruno@clisp.org>
12910         gnupload: Fix "gpg-agent is not available in this session" error.
12911         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
12913 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12915         crypto/af_alg: fix --help
12916         * m4/af_alg.m4: Avoid spurious newline in --help output.
12918 2018-05-13  Bruno Haible  <bruno@clisp.org>
12920         nl_langinfo: Fix compilation error on Android.
12921         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
12922         INT_CURR_SYMBOL, etc. only if these items are defined.
12924 2018-05-13  Bruno Haible  <bruno@clisp.org>
12926         truncate: Fix compilation error on Android.
12927         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
12928         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
12929         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
12930         HAVE_TRUNCATE.
12931         * modules/truncate: Likewise.
12932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
12933         not HAVE_TRUNCATE.
12934         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
12935         HAVE_TRUNCATE.
12936         * doc/posix-functions/truncate.texi: Mention the issue.
12938 2018-05-13  Bruno Haible  <bruno@clisp.org>
12940         pthread: Fix compilation error on Android.
12941         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
12942         recursive inclusion of this file.
12944 2018-05-13  Bruno Haible  <bruno@clisp.org>
12946         posix_spawn: Fix compilation error on Android.
12947         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
12948         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
12949         (posix_spawn_file_actions_t): Consider also the case
12950         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
12952 2018-05-13  Bruno Haible  <bruno@clisp.org>
12954         tsearch: Move from K&R C to ANSI C.
12955         * lib/tsearch.c (tfind): Convert definition to ANSI C.
12957 2018-05-13  Bruno Haible  <bruno@clisp.org>
12959         tsearch: Fix compilation error on Android.
12960         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
12961         is 0.
12962         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
12963         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
12964         GNULIB_defined_tsearch is true.
12965         (twalk): Define only if GNULIB_defined_twalk is true.
12966         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
12967         is 0.
12968         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
12969         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
12970         * modules/search (Makefile.am): Substitute HAVE_TWALK.
12972 2018-05-13  Bruno Haible  <bruno@clisp.org>
12974         imaxdiv: Fix compilation error on Android.
12975         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
12976         is not defined.
12977         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
12978         HAVE_DECL_IMAXDIV, is 0.
12979         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
12980         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
12982 2018-05-13  Bruno Haible  <bruno@clisp.org>
12984         Support selective inclusion mechanism of recent mingw.org header files.
12985         Reported by Eli Zaretskii <eliz@gnu.org>.
12986         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
12987         __need_ssize_t, or __need_time_t is defined, just include the system's
12988         <sys/types.h>.
12989         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
12990         include the system's <locale.h>.
12992 2018-05-13  Bruno Haible  <bruno@clisp.org>
12994         Avoid compilation error due to 'mmap' on Android.
12995         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
12996         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
12997         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
12998         Undefine on Android.
13000 2018-05-13  Bruno Haible  <bruno@clisp.org>
13002         Add cross-compilation guesses for Linux systems without glibc.
13003         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
13004         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
13005         * m4/link.m4 (gl_FUNC_LINK): Likewise.
13006         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13007         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
13008         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
13009         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
13010         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
13011         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
13012         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
13013         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13014         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13015         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
13016         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13017         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13018         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
13019         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13020         * m4/utimens.m4 (gl_UTIMENS): Likewise.
13022 2018-05-13  Bruno Haible  <bruno@clisp.org>
13024         getpagesize: Fix compilation error on Android.
13025         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
13026         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
13027         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
13028         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
13029         HAVE_GETPAGESIZE accordingly.
13030         * modules/getcwd (Files): Add m4/getpagesize.m4.
13032 2018-05-13  Bruno Haible  <bruno@clisp.org>
13034         tcgetsid: Fix compilation error on Android.
13035         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
13036         AC_CHECK_FUNC.
13038 2018-05-13  Bruno Haible  <bruno@clisp.org>
13040         getpass: Fix configure test for Android.
13041         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
13042         AC_CHECK_FUNC.
13044 2018-05-13  Bruno Haible  <bruno@clisp.org>
13046         ffs: Fix compilation error on Android.
13047         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
13049 2018-05-13  Bruno Haible  <bruno@clisp.org>
13051         mkfifo: Fix compilation error on Android.
13052         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
13053         AC_CHECK_FUNC.
13055 2018-05-13  Bruno Haible  <bruno@clisp.org>
13057         c-strtod: Fix configure test for Android.
13058         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
13059         AC_CHECK_FUNC.
13061 2018-05-13  Bruno Haible  <bruno@clisp.org>
13063         random: Fix compilation error on Android.
13064         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
13065         AC_CHECK_FUNC.
13067 2018-05-13  Bruno Haible  <bruno@clisp.org>
13069         grantpt: Fix compilation error on Android.
13070         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
13071         AC_CHECK_FUNC.
13073 2018-05-13  Bruno Haible  <bruno@clisp.org>
13075         stdioext: Fix compilation errors with newer Android headers.
13076         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
13077         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
13078         fallbacks for Android.
13079         * lib/fpending.c: Update comments.
13080         * lib/fpurge.c: Likewise.
13081         * lib/freadable.h: Likewise.
13082         * lib/freadable.c: Likewise.
13083         * lib/freadahead.c: Likewise.
13084         * lib/freading.h: Likewise.
13085         * lib/freadptr.c: Likewise.
13086         * lib/fseterr.c: Likewise.
13087         * lib/fwritable.h: Likewise.
13088         * lib/fwritable.c: Likewise.
13089         * lib/fwriting.h: Likewise.
13090         * lib/fwriting.c: Likewise.
13092 2018-05-13  Bruno Haible  <bruno@clisp.org>
13094         doc: Add info about Android versions 2.0 to 8.1.
13095         * doc/**/*.texi: Add info about functions in all released versions of
13096         Bionic.
13098 2018-05-12  Bruno Haible  <bruno@clisp.org>
13100         fseeko: On mingw, don't use the hidden function _fseeki64.
13101         Reported by Eli Zaretskii <eliz@gnu.org>.
13102         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
13103         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
13105 2018-05-12  Bruno Haible  <bruno@clisp.org>
13107         glob: Choose 'dirent_type' in a way that works better on mingw.
13108         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
13109         * lib/glob.c (dirent_type): Define as uint_fast32_t.
13111 2018-05-12  Bruno Haible  <bruno@clisp.org>
13113         execute, spawn-pipe: Avoid warning about redefining 'close'.
13114         Reported by Eli Zaretskii <eliz@gnu.org>.
13115         * lib/execute.c: Undefine 'close' before redefining it.
13116         * lib/spawn-pipe.c: Likewise.
13118 2018-05-12  Bruno Haible  <bruno@clisp.org>
13120         nanosleep: Avoid test failure on mingw when it has nanosleep.
13121         Reported by Eli Zaretskii <eliz@gnu.org>.
13122         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
13123         If it does not exist, use a simpler test program that does not call
13124         alarm().
13126 2018-05-10  Bruno Haible  <bruno@clisp.org>
13128         lock, cond, thread, tls: Use a different symbol as libpthread witness.
13129         Reported by Devin Hussey <husseydevin@gmail.com>.
13130         Based on a patch by Paul Eggert.
13131         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
13132         as witness of libpthread.
13133         * lib/glthread/cond.h (pthread_in_use): Likewise.
13134         * lib/glthread/thread.h (pthread_in_use): Likewise.
13135         * lib/glthread/tls.h (pthread_in_use): Likewise.
13137 2018-05-10  Bruno Haible  <bruno@clisp.org>
13139         cond tests: Fix compilation error on Solaris.
13140         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
13141         macro.
13143 2018-05-10  Bruno Haible  <bruno@clisp.org>
13145         doc: Add partial info about Android 4.3.
13146         * doc/*-functions/*.texi: Add info about functions that were added
13147         to Bionic between Android 4.3 and Android 9.0.
13149 2018-05-10  Bruno Haible  <bruno@clisp.org>
13151         doc: Add info about Android 9.0.
13152         * doc/**/*.texi: Add info about functions and headers in Bionic from
13153         Android 9.0.
13155 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13157         af_alg: fix my typo in afalg_buffer
13158         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
13159         (afalg_stream): Simplify and avoid the need for a runtime test
13160         at the end.
13162         af_alg: recover better from crypto failures
13163         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
13164         input stream is seekable, by repositioning the stream back to
13165         where it was, possibly by just calling sendfile with an offset
13166         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
13167         cases, which lets our callers try again with user-mode code.
13168         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
13169         instead of on fflush and lseek.
13171         af_alg: distiguish I/O errors better
13172         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
13173         not -EIO, if it’s OK for the caller to try again with user-mode code.
13174         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
13175         some other error number) if fflush fails, as the caller should not
13176         try again that case.
13178         af_alg: avoid gotos
13179         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
13180         gotos, as they were a source of unreliability and made the code a
13181         bit harder to follow.
13183         af_alg: don’t leak file descriptors into children
13184         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
13185         This code should be compiled only on recent GNU/Linux platforms
13186         so we shouldn’t have to also depend on the accept4 module.
13188         af_alg: coalesce socket creation
13189         * lib/af_alg.c (alg_socket): New function.
13190         (afalg_buffer, afalg_stream): Use it.  This avoids some
13191         code duplication and gotos.
13193         af_alg: fix file descriptor leak
13194         * lib/af_alg.c (afalg_stream): Close leak.
13196         af_alg: Pacify --enable-gcc-warnings on GCC 8
13197         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
13198         and checking to pacify gcc -Wjump-misses-init on GCC 8.
13200 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13202         af_alg: Pacify --enable-gcc-warnings
13203         Problem reported by Assaf Gordon in:
13204         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
13205         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
13206         gcc -Wjump-misses-init.
13207         * lib/sha512.c (shaxxx_stream): Now static.
13209 2018-05-06  Bruno Haible  <bruno@clisp.org>
13211         af_alg: Add ability to use Linux kernel crypto API on data in memory.
13212         * lib/af_alg.h (afalg_buffer): New declaration.
13213         * lib/af_alg.c (afalg_buffer): New function.
13215 2018-05-06  Bruno Haible  <bruno@clisp.org>
13217         af_alg: Avoid warnings.
13218         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
13219         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
13221 2018-05-06  Bruno Haible  <bruno@clisp.org>
13223         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
13224         * tests/bench-digest.h: New file.
13225         * tests/bench-md5.c: New file.
13226         * tests/bench-sha1.c: New file.
13227         * tests/bench-sha224.c: New file.
13228         * tests/bench-sha256.c: New file.
13229         * tests/bench-sha384.c: New file.
13230         * tests/bench-sha512.c: New file.
13231         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
13232         tests/bench-digest.h.
13233         (Depends-on): Add getrusage, gettimeofday.
13234         (Makefile.am): Add variables to build bench-md5.
13235         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
13236         tests/bench-digest.h.
13237         (Depends-on): Add getrusage, gettimeofday.
13238         (Makefile.am): Add variables to build bench-sha1.
13239         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
13240         tests/bench-sha256.c, tests/bench-digest.h.
13241         (Depends-on): Add getrusage, gettimeofday.
13242         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
13243         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
13244         tests/bench-sha512.c, tests/bench-digest.h.
13245         (Depends-on): Add getrusage, gettimeofday.
13246         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
13248 2018-05-06  Bruno Haible  <bruno@clisp.org>
13250         af_alg: Fix a resource leak.
13251         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
13252         New local variable 'result'.
13254 2018-05-06  Bruno Haible  <bruno@clisp.org>
13256         af_alg: Fix bug with streams that are not at position 0.
13257         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
13258         assume that the stream is positioned at position 0.
13259         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
13260         of the stream.
13261         * lib/md5.h (md5_stream): Likewise.
13262         * lib/sha1.h (sha1_stream): Likewise.
13263         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
13264         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
13265         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
13267         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
13268         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
13269         stream that is not positioned at the beginning.
13271 2018-05-06  Bruno Haible  <bruno@clisp.org>
13273         af_alg: Add configure option to enable/disable use of Linux crypto API.
13274         Suggested by Assaf Gordon <assafgordon@gmail.com>.
13275         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
13276         USE_LINUX_CRYPTO_API.
13277         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
13278         * lib/af_alg.c: Likewise.
13280 2018-05-06  Bruno Haible  <bruno@clisp.org>
13282         Followup to 'af_alg: New module.'.
13283         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
13284         * modules/crypto/sha1 (Depends-on): Likewise.
13285         * modules/crypto/sha256 (Depends-on): Likewise.
13286         * modules/crypto/sha512 (Depends-on): Likewise.
13288 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13290         crypto/{md5,sha1,sha256,sha512}: simplify
13291         * lib/md5.c (md5_stream):
13292         * lib/sha1.c (sha1_stream):
13293         * lib/sha256.c (shaxxx_stream):
13294         Simplify, partly by assuming C99.
13295         * lib/sha256.c (shaxxx_stream):
13296         New function, which implements both sha256 and sha224.
13297         Simplify, partly by assuming C99.
13298         (sha256_stream, sha224_stream):
13299         Use it to avoid code duplication, removing a FIXME.
13300         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
13301         Likewise.
13303         af_alg: Improve comments.
13304         * lib/af_alg.h: Use imperatives and tighten up wording.
13306 2018-05-05  Bruno Haible  <bruno@clisp.org>
13308         af_alg: Improve comments.
13309         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
13311 2018-05-05  Bruno Haible  <bruno@clisp.org>
13313         af_alg: New module.
13314         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
13315         * lib/af_alg.c: Include "af_alg.h" before the other header files.
13316         * lib/md5.c: Include "af_alg.h" unconditionally.
13317         (md5_stream): Invoke afalg_stream unconditionally.
13318         * lib/sha1.c: Include "af_alg.h" unconditionally.
13319         (sha1_stream): Invoke afalg_stream unconditionally.
13320         * lib/sha256.c: Include "af_alg.h" unconditionally.
13321         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
13322         * lib/sha512.c: Include "af_alg.h" unconditionally.
13323         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
13324         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
13325         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
13326         * modules/crypto/af_alg: New file.
13327         * modules/crypto/md5 (Files): Remove files that are now in the
13328         'crypto/af_alg' module.
13329         (Depends-on): Add crypto/af_alg.
13330         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
13331         (Makefile.am): Don't mention af_alg.c here.
13332         * modules/crypto/sha1 (Files): Remove files that are now in the
13333         'crypto/af_alg' module.
13334         (Depends-on): Add crypto/af_alg.
13335         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
13336         (Makefile.am): Don't mention af_alg.c here.
13337         * modules/crypto/sha256 (Files): Remove files that are now in the
13338         'crypto/af_alg' module.
13339         (Depends-on): Add crypto/af_alg.
13340         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
13341         (Makefile.am): Don't mention af_alg.c here.
13342         * modules/crypto/sha512 (Files): Remove files that are now in the
13343         'crypto/af_alg' module.
13344         (Depends-on): Add crypto/af_alg.
13345         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
13346         (Makefile.am): Don't mention af_alg.c here.
13348 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13350         crypto tests: pacify GCC
13351         * tests/test-digest.h (test_digest_on_files):
13352         Don’t assume digest size fits in int (!).
13354         af_alg: minor style improvements
13355         * lib/af_alg.c (afalg_stream): Prefer C99 style
13356         decl-after-statement, since we’re already assuming C99.  Clarify
13357         by strengthening the bind test and omit unnecessary assignment.
13359 2018-05-05  Bruno Haible  <bruno@clisp.org>
13361         af_alg: Fix bug on empty files.
13362         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
13363         stream is empty.
13365 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13367         sys-limits.h: new file for crypto and safe I/O
13368         * lib/af_alg.c: Include sys-limits.h.
13369         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
13370         (afalg_stream): Also reject negative sizes for sendfile; they
13371         should not happen and the code is a bit cleaner and faster this way.
13372         * lib/safe-read.c: Include sys-limits.h.
13373         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
13374         * lib/sys-limits.h: New file, with values and commentary derived
13375         from the old safe-read.c and from GNU Emacs sysdep.c.
13376         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
13377         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
13378         Add lib/sys-limits.h to Files section.
13380 2018-05-05  Bruno Haible  <bruno@clisp.org>
13382         af_alg: Improve function signature.
13383         * lib/af_alg.h (afalg_stream): Swap second and third argument.
13384         * lib/af_alg.c (afalg_stream): Likewise.
13385         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
13387 2018-05-05  Bruno Haible  <bruno@clisp.org>
13389         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
13390         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
13391         * modules/crypto/sha1 (Depends-on): Likewise.
13392         * modules/crypto/sha256 (Depends-on): Likewise.
13393         * modules/crypto/sha512 (Depends-on): Likewise.
13395 2018-05-05  Bruno Haible  <bruno@clisp.org>
13397         crypto/{md5,sha1,sha256,sha512}: Fix module description.
13398         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
13399         * modules/crypto/sha1 (Depends-on): Likewise.
13400         * modules/crypto/sha256 (Depends-on): Likewise.
13401         * modules/crypto/sha512 (Depends-on): Likewise.
13403 2018-05-05  Bruno Haible  <bruno@clisp.org>
13405         af_alg: Add documentation.
13406         * lib/af_alg.h: Add comments.
13408 2018-05-05  Bruno Haible  <bruno@clisp.org>
13410         sha512: Add tests.
13411         * tests/test-sha512.c: New file.
13412         * modules/crypto/sha512-tests: New file.
13414 2018-05-05  Bruno Haible  <bruno@clisp.org>
13416         sha256: Add tests.
13417         * tests/test-sha256.c: New file.
13418         * modules/crypto/sha256-tests: New file.
13420 2018-05-05  Bruno Haible  <bruno@clisp.org>
13422         sha1 tests: Add test for sha1_stream.
13423         * tests/test-sha1.c: Include test-digest.h.
13424         (main): Invoke test_digest_on_files on 'sha1_stream'.
13425         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
13427 2018-05-05  Bruno Haible  <bruno@clisp.org>
13429         md5 tests: Add test for md5_stream.
13430         * tests/test-digest.h: New file.
13431         * tests/test-md5.c: Include test-digest.h.
13432         (main): Invoke test_digest_on_files on 'md5_stream'.
13433         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
13435 2018-04-28  Matteo Croce  <mcroce@redhat.com>
13437         md5sum: Use AF_ALG when available.
13438         * lib/md5.c: Include af_alg.h.
13439         (md5_stream): Use afalg_stream when available.
13440         * modules/crypto/md5 (Files): Add the af_alg files.
13441         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
13442         (Makefile.am): Add af_alg.c.
13444 2018-04-28  Matteo Croce  <mcroce@redhat.com>
13446         sha512sum: Use AF_ALG when available.
13447         * lib/sha512.c: Include af_alg.h.
13448         (sha512_stream, sha384_stream): Use afalg_stream when available.
13449         * modules/crypto/sha512 (Files): Add the af_alg files.
13450         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
13451         (Makefile.am): Add af_alg.c.
13453 2018-04-28  Matteo Croce  <mcroce@redhat.com>
13455         sha256sum: Use AF_ALG when available.
13456         * lib/sha256.c: Include af_alg.h.
13457         (sha256_stream, sha224_stream): Use afalg_stream when available.
13458         * modules/crypto/sha256 (Files): Add the af_alg files.
13459         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
13460         (Makefile.am): Add af_alg.c.
13462 2018-04-28  Matteo Croce  <mcroce@redhat.com>
13464         sha1sum: Use AF_ALG when available.
13465         * lib/af_alg.h: New file.
13466         * lib/af_alg.c: New file.
13467         * lib/sha1.c: Include af_alg.h.
13468         (sha1_stream): Use afalg_stream when available.
13469         * m4/linux-if-alg.m4: New file.
13470         * modules/crypto/sha1 (Files): Add the new files.
13471         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
13472         (Makefile.am): Add af_alg.c.
13474 2018-05-05  Bruno Haible  <bruno@clisp.org>
13476         all: Replace more http URLs by https URLs.
13477         * lib/localename.c: Use https: URL.
13478         * lib/timespec.h: Likewise.
13480 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
13482         maint: port more modules to GCC 8
13483         * lib/dirname.h (base_name):
13484         * lib/exclude.h (new_exclude):
13485         * lib/xstrndup.h (xstrndup):
13486         Add malloc attribute.
13487         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
13488         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
13489         This pacifies GCC 8.
13490         * m4/gnulib-common.m4 (gl_COMMON_BODY):
13491         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
13493 2018-05-03  Bruno Haible  <bruno@clisp.org>
13495         Simplify code. Drop support for Borland C++ on Windows.
13496         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
13497         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
13498         'defined _WIN32'.
13499         * lib/canonicalize-lgpl.c: Likewise.
13500         * lib/classpath.c: Likewise.
13501         * lib/clean-temp.c: Likewise.
13502         * lib/csharpexec.c: Likewise.
13503         * lib/ctime.c: Likewise.
13504         * lib/dosname.h: Likewise.
13505         * lib/dup2.c: Likewise.
13506         * lib/errno.in.h: Likewise.
13507         * lib/error.c: Likewise.
13508         * lib/euidaccess.c: Likewise.
13509         * lib/execute.c: Likewise.
13510         * lib/fcntl.in.h: Likewise.
13511         * lib/fcntl.c: Likewise.
13512         * lib/filename.h: Likewise.
13513         * lib/findprog.c: Likewise.
13514         * lib/flock.c: Likewise.
13515         * lib/fopen.c: Likewise.
13516         * lib/freopen.c: Likewise.
13517         * lib/fstat.c: Likewise.
13518         * lib/fsync.c: Likewise.
13519         * lib/gc-gnulib.c: Likewise.
13520         * lib/get-rusage-data.c: Likewise.
13521         * lib/getaddrinfo.c: Likewise.
13522         * lib/getdelim.c: Likewise.
13523         * lib/getdtablesize.c: Likewise.
13524         * lib/gethostname.c: Likewise.
13525         * lib/getlogin.c: Likewise.
13526         * lib/getlogin_r.c: Likewise.
13527         * lib/getopt.c: Likewise.
13528         * lib/getpagesize.c: Likewise.
13529         * lib/getpass.c: Likewise.
13530         * lib/getrusage.c: Likewise.
13531         * lib/gettimeofday.c: Likewise.
13532         * lib/glob.c: Likewise.
13533         * lib/inttypes.in.h: Likewise.
13534         * lib/isapipe.c: Likewise.
13535         * lib/javaexec.c: Likewise.
13536         * lib/link.c: Likewise.
13537         * lib/localcharset.c: Likewise.
13538         * lib/localename.h: Likewise.
13539         * lib/localename.c: Likewise.
13540         * lib/localtime.c: Likewise.
13541         * lib/lseek.c: Likewise.
13542         * lib/mbsinit.c: Likewise.
13543         * lib/mkdir.c: Likewise.
13544         * lib/msvc-nothrow.h: Likewise.
13545         * lib/nanosleep.c: Likewise.
13546         * lib/nl_langinfo.c: Likewise.
13547         * lib/nonblocking.c: Likewise.
13548         * lib/nproc.c: Likewise.
13549         * lib/open.c: Likewise.
13550         * lib/openpty.c: Likewise.
13551         * lib/pathmax.h: Likewise.
13552         * lib/pipe-filter-aux.c: Likewise.
13553         * lib/pipe-filter-gi.c: Likewise.
13554         * lib/pipe-filter-ii.c: Likewise.
13555         * lib/pipe.c: Likewise.
13556         * lib/pipe2.c: Likewise.
13557         * lib/poll.c: Likewise.
13558         * lib/popen.c: Likewise.
13559         * lib/posix_openpt.c: Likewise.
13560         * lib/printf-parse.c: Likewise.
13561         * lib/progreloc.c: Likewise.
13562         * lib/putenv.c: Likewise.
13563         * lib/read.c: Likewise.
13564         * lib/relocatable.c: Likewise.
13565         * lib/rename.c: Likewise.
13566         * lib/same-inode.h: Likewise.
13567         * lib/secure_getenv.c: Likewise.
13568         * lib/select.c: Likewise.
13569         * lib/sethostname.c: Likewise.
13570         * lib/setlocale.c: Likewise.
13571         * lib/sigaction.c: Likewise.
13572         * lib/sigprocmask.c: Likewise.
13573         * lib/sleep.c: Likewise.
13574         * lib/spawn-pipe.h: Likewise.
13575         * lib/spawn-pipe.c: Likewise.
13576         * lib/spawni.c: Likewise.
13577         * lib/stat-time.h: Likewise.
13578         * lib/stat-w32.c: Likewise.
13579         * lib/stat.c: Likewise.
13580         * lib/stdio.in.h: Likewise.
13581         * lib/stdio-impl.h: Likewise.
13582         * lib/stdio-read.c: Likewise.
13583         * lib/stdio-write.c: Likewise.
13584         * lib/stdlib.in.h: Likewise.
13585         * lib/strerror_r.c: Likewise.
13586         * lib/strftime-fixes.c: Likewise.
13587         * lib/sys_stat.in.h: Likewise.
13588         * lib/sys_types.in.h: Likewise.
13589         * lib/sys_wait.in.h : Likewise.
13590         * lib/system-quote.h: Likewise.
13591         * lib/system-quote.c: Likewise.
13592         * lib/tmpdir.c: Likewise.
13593         * lib/tzset.c: Likewise.
13594         * lib/uname.c: Likewise.
13595         * lib/unistd.in.h: Likewise.
13596         * lib/utime.in.h: Likewise.
13597         * lib/utime.c: Likewise.
13598         * lib/utimecmp.c: Likewise.
13599         * lib/utimens.c: Likewise.
13600         * lib/vasnprintf.c: Likewise.
13601         * lib/vma-iter.h: Likewise.
13602         * lib/vma-iter.c: Likewise.
13603         * lib/wait-process.c: Likewise.
13604         * lib/wcsftime.c: Likewise.
13605         * lib/wctype.in.h: Likewise.
13606         * lib/write.c: Likewise.
13607         * tests/nap.h: Likewise.
13608         * tests/test-cloexec.c: Likewise.
13609         * tests/test-dup-safer.c: Likewise.
13610         * tests/test-dup2.c: Likewise.
13611         * tests/test-dup3.c: Likewise.
13612         * tests/test-fcntl.c: Likewise.
13613         * tests/test-get-rusage-data.c: Likewise.
13614         * tests/test-getaddrinfo.c: Likewise.
13615         * tests/test-getlogin.h: Likewise.
13616         * tests/test-isatty.c: Likewise.
13617         * tests/test-localename.c: Likewise.
13618         * tests/test-mbrtowc-w32.c: Likewise.
13619         * tests/test-nonblocking.c: Likewise.
13620         * tests/test-nonblocking-pipe-main.c: Likewise.
13621         * tests/test-nonblocking-socket-main.c: Likewise.
13622         * tests/test-nonblocking-socket.h: Likewise.
13623         * tests/test-pipe.c: Likewise.
13624         * tests/test-pipe2.c: Likewise.
13625         * tests/test-poll.c: Likewise.
13626         * tests/test-pthread_sigmask1.c: Likewise.
13627         * tests/test-select.h: Likewise.
13628         * tests/test-sethostname2.c: Likewise.
13629         * tests/test-sigprocmask.c: Likewise.
13630         * tests/test-spawn-pipe-child.c: Likewise.
13631         * tests/test-stat-time.c: Likewise.
13632         * tests/test-system-quote-main.c: Likewise.
13633         * tests/test-utimens-common.h: Likewise.
13634         * tests/test-wcrtomb-w32.c: Likewise.
13635         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
13636         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13637         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
13638         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
13639         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
13640         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
13641         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
13642         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
13643         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
13644         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
13645         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
13646         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
13647         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
13648         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
13649         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
13650         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13652 2018-05-02  Bruno Haible  <bruno@clisp.org>
13654         localename: Fix test failures on mingw.
13655         * lib/localename.c (gl_locale_name_thread): Remove code specific to
13656         native Windows.
13657         (gl_locale_name_posix): Move code specific to native Windows here.
13658         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
13659         Accept result without charset suffix, as it appears on mingw.
13661 2018-04-28  Paul Smith  <psmith@gnu.org>
13663         bootstrap: Avoid gnulib operations if not needed
13664         * build-aux/bootstrap: Remove unused variable gnulib_mk.
13665         Set $gnulib_extra_files early so it can be overridden in .conf.
13666         Remove redundant --import flag from $gnulib_tool_options.
13667         Set $use_gnulib to false if no gnulib modules or files are needed.
13668         If $use_gnulib is false, don't do anything related to gnulib.
13669         A lot of this is just whitespace (indentation) changes.
13671 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13673         manywarnings: port to GCC 8.0
13674         * build-aux/gcc-warning.spec: Add -Wcatch-value,
13675         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
13676         fact that the GCC help message now mentions operands for
13677         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
13678         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
13679         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
13680         and -Wunused-const-variable.
13681         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
13682         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
13683         -Wmissing-attributes, -Wmultistatement-macros,
13684         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
13685         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
13687 2018-04-24  Bruno Haible  <bruno@clisp.org>
13689         sys_socket: Make SO_REUSEPORT available across platforms.
13690         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13691         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
13692         * doc/posix-headers/sys_socket.texi: Mention the issue.
13693         * tests/test-poll.c (SO_REUSEPORT): Remove.
13694         * tests/test-select.h: Include <sys/socket.h>.
13695         (SO_REUSEPORT): Remove.
13696         * modules/select-tests (Depends-on): Add 'sys_socket'.
13698 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
13700         localcharset: short-circuit the search for an alias on a Mac
13701         * lib/localcharset.c (get_charset_aliases): Add a tautological
13702         UTF-8 entry to speed up the search for this case.
13703         Most machines default to a UTF-8 locale nowadays, so begin the
13704         list of aliases with a dummy UTF-8 entry so it will be found
13705         immediately and a time-consuming search through the rest of
13706         the list is avoided.
13708 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
13710         fts: add comment
13711         * lib/fts.c (fts_build): Explain why ==, not >.
13712         See remark by Bernhard Voelker in:
13713         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
13715         fts: fix bug in find across filesystems
13716         This fixes a bug I introduced last summer.
13717         Problem reported by Kamil Dudka in:
13718         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
13719         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
13720         (leaf_optimization):
13721         New arg for file descriptor.  All callers changed.
13722         (fts_build): Check for whether inodes should be sorted
13723         before closing the directory.
13725 2018-04-07  Bruno Haible  <bruno@clisp.org>
13727         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
13728         Reported by Genki Sky <sky@genki.is>.
13729         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
13730         version 0.9.10 or newer.
13731         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
13732         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
13733         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
13734         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
13735         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
13737 2018-04-07  Bruno Haible  <bruno@clisp.org>
13739         execute: Update comment.
13740         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
13742 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
13744         fts: treat CIFS like NFS
13745         Problem reported by Kamil Dudka in:
13746         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
13747         * lib/fts.c (S_MAGIC_CIFS): New macro.
13748         (dirent_inode_sort_may_be_useful, leaf_optimization):
13749         Treat CIFS like NFS.
13751 2018-03-28  Bruno Haible  <bruno@clisp.org>
13753         c-stack: Fix possible build failure on some platforms.
13754         * lib/c-stack.c (die): Define whenever this function is referenced.
13756 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
13758         time_rz: fix workaround for Mac OS X 10.6 infloop
13759         Problems reported by Charles A. Roelli (Bug#27736#117).
13760         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
13761         Also, discard output, which clutters the 'configure' log.
13763 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
13765         havelib: port to Solaris 10 /bin/sh
13766         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
13767         instead of '! test EXPR'.
13769 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
13771         time_rz: work around Mac OS X 10.6 infloop
13772         * doc/posix-functions/localtime.texi:
13773         * doc/posix-functions/localtime_r.texi: Mention the bug.
13774         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
13775         better to fix localtime and localtime_r instead, but that would be
13776         more work and is not needed to fix the Emacs problem.
13777         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
13779 2018-03-24  Jim Meyering  <meyering@fb.com>
13781         test-version-etc.sh: don't use diff directly: use init.sh's compare
13782         We'd rather not sacrifice readable "diff -u" output even for
13783         "diff -c" output (not supported by busybox) or for even less
13784         readable ed-style "diff" output.  So use init.sh's compare function
13785         * tests/test-version-etc.sh: Source init.sh and add "." to path.
13786         Remove "./" from invocation of test-version-etc, so we use path.
13787         And s/diff/compare/.
13788         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
13789         to get init.sh.
13790         Prompted by Eric Blake's comments in
13791         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
13793 2018-03-24  Bruno Haible  <bruno@clisp.org>
13795         javacomp-script, javacomp: Add support for Java 10.
13796         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
13797         target-version 10.
13798         * lib/javaversion.h: Update comments.
13799         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
13800         source_version_index, get_goodcode_snippet, get_failcode_snippet,
13801         TARGET_VERSION_BOUND, target_version_index,
13802         corresponding_classfile_version): Accept source_version 10 and
13803         target_version 10.
13804         * lib/javacomp.h: Update comments accordingly.
13806 2018-03-24  Bruno Haible  <bruno@clisp.org>
13808         javacomp-script, javacomp: Update comments.
13809         * m4/javacomp.m4: Update comments regarding gcj.
13810         * lib/javacomp.h: Likewise.
13812 2018-03-24  Bruno Haible  <bruno@clisp.org>
13814         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
13815         * lib/javaversion.h: Update comments.
13816         * lib/javacomp.h: Likewise.
13817         * lib/javacomp.c (default_target_version, source_version_index,
13818         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
13819         "1.9".
13820         (TARGET_VERSION_BOUND): Bump to 9.
13821         (target_version_index, corresponding_classfile_version): Recognize "9"
13822         instead of "1.9".
13823         (get_source_version_for_javac): New function.
13824         (is_envjavac_nongcj_usable, is_javac_usable): Add
13825         source_version_for_javac argument.
13826         (compile_java_class): Determine and pass source_version_for_javac.
13827         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
13828         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
13829         appropriate.
13831 2018-03-23  Jim Meyering  <meyering@fb.com>
13833         test-version-etc.sh: port to diff without -c
13834         * tests/test-version-etc.sh: Don't use diff's -c option.
13835         This caused spurious test failure on Alpine Linux, which
13836         uses busybox's diff. Reported by Assaf Gordon in
13837         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
13839 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
13841         c-stack: port to recent GCC build
13842         Problem reported by The Fireplace (Bug#30913).
13843         * lib/c-stack.c (die): Define only if used.
13845 2018-03-20  Bruno Haible  <bruno@clisp.org>
13847         euidaccess: Port to native Windows.
13848         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
13849         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
13851 2018-03-19  Bruno Haible  <bruno@clisp.org>
13853         javacomp: Add support for Java 7, 8, 9.
13854         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
13855         source_version_index, get_goodcode_snippet, get_failcode_snippet,
13856         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
13857         and target_version 1,7, 1.8, 1.9.
13858         * lib/javacomp.h: Update comments accordingly.
13860 2018-03-19  Bruno Haible  <bruno@clisp.org>
13862         javacomp-script: Add support for Java 9.
13863         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
13864         target-version 1.9.
13866 2018-03-16  Bruno Haible  <bruno@clisp.org>
13868         glob: Don't compile replacements on recent glibc systems.
13869         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
13870         REPLACE_GLOB is 0, include the system's <glob.h> and use
13871         _GL_CXXALIAS_SYS.
13872         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
13873         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
13874         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
13875         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
13876         Remove snippet/warn-on-use.
13877         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
13878         (Makefile.am): Create glob.h always. Update list of substitutions in
13879         glob.h. Don't depend on $(WARN_ON_USE_H).
13881 2018-03-16  Bruno Haible  <bruno@clisp.org>
13883         glob: Fix link error on native Windows.
13884         * modules/glob (Depends-on): Add 'lstat'.
13886 2018-03-15  Bruno Haible  <bruno@clisp.org>
13888         glob: Fix compilation error in C++ mode.
13889         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
13891 2018-03-15  Bruno Haible  <bruno@clisp.org>
13893         host-cpu-c-abi: Support for RISC-V CPU.
13894         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
13895         riscv32 and riscv64 ABIs.
13896         References:
13897         https://github.com/riscv/riscv-toolchain-conventions
13898         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
13899         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
13901 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
13903         fflush: be more paranoid about libio.h change
13904         Suggested by Eli Zaretskii in:
13905         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
13906         * lib/fbufmode.c (fbufmode):
13907         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
13908         (disable_seek_optimization, rpl_fflush):
13909         * lib/fpending.c (__fpending):
13910         * lib/fpurge.c (fpurge):
13911         * lib/freadable.c (freadable):
13912         * lib/freadahead.c (freadahead):
13913         * lib/freading.c (freading):
13914         * lib/freadptr.c (freadptr):
13915         * lib/freadseek.c (freadptrinc):
13916         * lib/fseeko.c (fseeko):
13917         * lib/fseterr.c (fseterr):
13918         * lib/fwritable.c (fwritable):
13919         * lib/fwriting.c (fwriting):
13920         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
13922 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
13924         maint: write-file-hooks -> before-save-hook
13925         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
13926         it's time to use the recommended replacement.
13927         Problem reported by Glenn Morris in:
13928         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
13929         * build-aux/announce-gen, build-aux/bootstrap:
13930         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
13931         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
13932         * build-aux/gnu-web-doc-update, build-aux/gnupload:
13933         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
13934         * build-aux/update-copyright, build-aux/useless-if-before-free:
13935         * build-aux/vc-list-files:
13936         Update hook usage for files where Gnulib is the canonical source.
13938 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
13940         binary-io: pacify gcc -Wunused-parameter
13941         Problem reported by Reuben Thomas in:
13942         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
13943         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
13944         Use _GL_UNUSED where appropriate.
13946         fflush: adjust to glibc 2.28 libio.h removal
13947         Problem reported by Daniel P. Berrangé in:
13948         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
13949         * lib/fbufmode.c (fbufmode):
13950         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
13951         (disable_seek_optimization, rpl_fflush):
13952         * lib/fpending.c (__fpending):
13953         * lib/fpurge.c (fpurge):
13954         * lib/freadable.c (freadable):
13955         * lib/freadahead.c (freadahead):
13956         * lib/freading.c (freading):
13957         * lib/freadptr.c (freadptr):
13958         * lib/freadseek.c (freadptrinc):
13959         * lib/fseeko.c (fseeko):
13960         * lib/fseterr.c (fseterr):
13961         * lib/fwritable.c (fwritable):
13962         * lib/fwriting.c (fwriting):
13963         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
13964         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
13965         Define if not already defined.
13967 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
13969         environ: fix link error on 32-bit Cygwin
13970         Problem reported for GNU Emacs by Ken Brown in:
13971         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
13972         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
13974 2018-02-24  Bruno Haible  <bruno@clisp.org>
13976         mbrtowc tests: Fix regression on glibc.
13977         Reported by Bernhard Voelker.
13978         * tests/test-mbrtowc.c (main): Fix expected value of wc.
13980 2018-02-24  Bruno Haible  <bruno@clisp.org>
13982         striconveha, uniconv/*: Avoid test failures on musl libc.
13983         * tests/iconvsupport.c: New file.
13984         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
13985         does not support the ISO-2022-JP-2 encoding.
13986         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
13987         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
13988         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
13989         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
13990         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
13991         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
13992         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
13993         (Makefile.am): Link test-striconveha with iconvsupport.o.
13994         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
13995         tests/iconvsupport.c.
13996         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
13997         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
13998         tests/iconvsupport.c.
13999         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
14000         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
14001         tests/iconvsupport.c.
14002         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
14003         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
14004         tests/iconvsupport.c.
14005         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
14006         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
14007         tests/iconvsupport.c.
14008         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
14009         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
14010         tests/iconvsupport.c.
14011         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
14013 2018-02-24  Bruno Haible  <bruno@clisp.org>
14015         localename: Add support for musl libc.
14016         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
14017         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
14018         on Linux platforms which define NL_LOCALE_NAME.
14020 2018-02-24  Bruno Haible  <bruno@clisp.org>
14022         mbrtowc tests: Don't make assumptions about the charset the C locale.
14023         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
14024         particular mapping in the C locale.
14026 2018-02-24  Bruno Haible  <bruno@clisp.org>
14028         ptsname_r: Don't expect that this function sets errno.
14029         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
14030         from ptsname_r().
14031         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
14033 2018-02-23  Bruno Haible  <bruno@clisp.org>
14035         xmalloca: pacify gcc -Wbad-function-cast
14036         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
14038 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14040         nl_langinfo: pacify gcc -Wunused-function
14041         * lib/nl_langinfo.c (ctype_codeset): Do not define if
14042         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
14043         this case.  Without this change, I got a diagnostic when building
14044         coreutils on Fedora 27 with gcc 7.3.1 20180130.
14046         same: pacify gcc -Wunused-variable
14047         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
14048         Omit unused variable.
14050         malloca: pacify gcc -Wbad-function-cast
14051         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
14052         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
14053         To pacify GCC, I had to cast alloca’s result to some type other
14054         than void * before casting that to uintptr_t.
14056 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14058         utimecmp: new function utimecmpat
14059         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
14060         Do not include utimens.h.
14061         (utimecmpat): New function, generalizing utimecmp.
14062         (utimecmp): Now a thin layer around utimecmpat.
14063         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
14064         utimensat instead of on lstat and utimens.
14066         same: new function same_nameat
14067         * lib/same.c: Include fcntl.h.
14068         * lib/same.c (same_nameat): New function, generalizing same_name.
14069         (same_name): Now a thin layer around same_nameat.
14070         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
14071         * modules/same (Depends-on): Depend on fstatat, openat.
14073 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
14075         warnings: Add support for Objective C.
14076         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
14077         macro.
14079 2018-02-17  Bruno Haible  <bruno@clisp.org>
14081         lock: Fix test-once1 crash on FreeBSD11.
14082         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
14083         'pthread_create', not 'pthread_cancel'.
14085 2018-02-17  Bruno Haible  <bruno@clisp.org>
14087         lock: Add test of gl_once.
14088         * tests/test-once.c: New file.
14089         * modules/lock-tests (Files): Add it.
14090         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
14092 2018-02-17  Bruno Haible  <bruno@clisp.org>
14094         thread: Fix compilation error on IRIX.
14095         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
14096         needed; include it outside the C++ extern "C" {} block.
14097         * doc/posix-headers/pthread.texi: Mention the problem with
14098         pthread_atfork on IRIX.
14100 2018-02-04  Bruno Haible  <bruno@clisp.org>
14102         nl_langinfo: Override the system's nl_langinfo() when needed.
14103         Reported by Jim Meyering.
14104         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
14105         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
14107 2018-02-04  Bruno Haible  <bruno@clisp.org>
14109         signal-h, monetary, strings: Fix build failure in some cases.
14110         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14111         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
14112         as delimiter in sed command, not '|'.
14113         * modules/monetary (Makefile.am): Likewise.
14114         * modules/strings (Makefile.am): Likewise.
14116 2018-02-03  Jim Meyering  <meyering@fb.com>
14118         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
14119         * top/maint.mk (sc_file_system): Don't complain about
14120         "/proc/filesystems".
14122 2018-02-03  Bruno Haible  <bruno@clisp.org>
14124         stdlib: Fix compilation error on OpenIndiana.
14125         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
14126         <sys/time.h>.
14127         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
14128         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14130 2018-02-03  Bruno Haible  <bruno@clisp.org>
14132         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
14133         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
14134         and use $EGREP instead of 'grep -E'.
14135         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
14136         'grep -E'.
14138 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
14140         malloca: Add a compile-time verification.
14141         * lib/malloca.c (small_t): Verify that it is wide enough.
14142         * modules/malloca (Depends-on): Add verify.
14144 2018-02-02  Bruno Haible  <bruno@clisp.org>
14146         malloca: Add an argument check.
14147         Suggested by Paul Eggert.
14148         * lib/malloca.c (freea): Check against an invalid argument.
14150 2018-02-02  Bruno Haible  <bruno@clisp.org>
14152         localename: Add support for OpenIndiana.
14153         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
14154         Solaris 11 variants with uselocale() but without getlocalename_l().
14156 2018-02-02  Bruno Haible  <bruno@clisp.org>
14158         malloca, xmalloca: Make multithread-safe.
14159         Reported by Florian Weimer <fweimer@redhat.com>.
14160         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
14161         * lib/malloca.h (malloca): In the stack allocation case, return a
14162         pointer that is a multiple of 2 * sa_alignment_max.
14163         (sa_increment): Remove enum item.
14164         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
14165         a pointer that is a multiple of 2 * sa_alignment_max.
14166         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
14167         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
14168         HASH_TABLE_SIZE, mmalloca_results): Remove.
14169         (small_t): New type.
14170         (mmalloca, free): Rewritten.
14171         * lib/malloca.valgrind: Remove file.
14172         * modules/malloca (Files): Remove it.
14173         (Depends-on): Remove verify.
14175 2018-01-31  Bruno Haible  <bruno@clisp.org>
14177         environ: Fix link error on 64-bit Cygwin.
14178         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
14179         __declspec(dllimport) attribute.
14180         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
14182 2018-01-30  Bruno Haible  <bruno@clisp.org>
14184         get-rusage-data: Add support for Minix 3.
14185         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
14187 2018-01-30  Bruno Haible  <bruno@clisp.org>
14189         vma-iter: Add support for Minix 3.
14190         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
14191         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
14193 2018-01-27  Bruno Haible  <bruno@clisp.org>
14195         Fix malfunction of socket functions on HP-UX in 64-bit mode.
14196         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
14197         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
14198         _HPUX_ALT_XOPEN_SOCKET_API.
14199         * modules/accept (Depends-on): Add 'extensions'.
14200         * modules/getpeername (Depends-on): Likewise.
14201         * modules/getsockname (Depends-on): Likewise.
14202         * modules/getsockopt (Depends-on): Likewise.
14203         * modules/recvfrom (Depends-on): Likewise.
14204         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
14205         * doc/posix-functions/getpeername.texi: Likewise.
14206         * doc/posix-functions/getsockname.texi: Likewise.
14207         * doc/posix-functions/getsockopt.texi: Likewise.
14208         * doc/posix-functions/recvfrom.texi: Likewise.
14210 2018-01-27  Bruno Haible  <bruno@clisp.org>
14212         getsockname tests: More tests.
14213         * tests/test-getsockname.c (open_server_socket): New function, mostly
14214         copied from test-poll.c.
14215         (main): Check that getsockname fills in addr.
14216         * modules/getsockname-tests (Depends-on): Add the necessary
14217         dependencies.
14218         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
14220 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
14222         manywarnings: fix maintainer comment
14223         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
14224         it does not mistakenly think that ‘-1)’ is an option.
14226 2018-01-26  Bruno Haible  <bruno@clisp.org>
14228         langinfo: Fix last commit.
14229         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14230         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
14232 2018-01-24  Bruno Haible  <bruno@clisp.org>
14234         langinfo, nl_langinfo: Add support for alternative month names.
14235         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
14236         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
14237         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
14238         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
14239         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
14240         * doc/posix-functions/nl_langinfo.texi: Likewise.
14242 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14244         Merge strftime.c changes from glibc
14245         This incorporates:
14246         2017-11-14 [BZ #10871] Implement alternative month names
14247         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
14248         2017-06-20 Use locale_t, not __locale_t, throughout glibc
14249         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
14250         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
14251         Use locale_t, not __locale_t.
14252         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
14253         (__strftime_internal): Add support for alternate months.
14255 2018-01-23  Bruno Haible  <bruno@clisp.org>
14257         doc: Mention another prerequisite for using Gnulib.
14258         Reported at <https://stackoverflow.com/questions/48378214/>.
14259         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
14260         AC_CONFIG_HEADERS.
14262 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
14264         build: GuixSD doesn't have /bin/bash
14265         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
14267 2018-01-21  Bruno Haible  <bruno@clisp.org>
14269         Avoid test failures on Microsoft Windows Subsystem for Linux.
14270         * tests/test-fcntl.c (main): Allow a different errno.
14271         * tests/test-rename.h (test_rename): Likewise.
14272         * tests/test-renameat.c (main): Likewise.
14273         * tests/test-renameat2.c (main): Likewise.
14275 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
14277         filenamecat: make base a suffix of result
14278         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
14279         (mfile_name_concat): Always make BASE a suffix of the result, as
14280         cp expects this.  To implement this, separate with '.' instead of
14281         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
14282         * tests/test-filenamecat.c (main): Adjust tests to match
14283         current behavior.  Check that BASE_IN_RESULT points to
14284         a copy of BASE and is a suffix of the resultk, and that DIR
14285         is a prefix of the result that is no longer than the prefix
14286         indicated by BASE_IN_RESULT.
14288 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
14290         update-copyright: Handle use of ©
14291         * build-aux/update-copyright ($circle_c_re): Update regex to
14292         handle use of © in headers.
14294 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
14296         Fix -Wundef warning in user-included header lib/cdefs.h.
14297         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
14299 2018-01-04  Bruno Haible  <bruno@clisp.org>
14301         pthread_sigmask: Avoid compilation error on mingw.
14302         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14303         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
14304         macro.
14306 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
14308         test-framework-sh: ‘ps -ef’, not ‘ps ef’
14309         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
14310         Suggested by Bob Proulx (Bug#29968).
14311         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
14313 2018-01-02  Eric Blake  <eblake@redhat.com>
14315         stat-time: silence -Wunused-parameter regression
14316         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
14317         Prefer attribute over cast-to-void.
14318         (stat_time_normalize): Mark st as potentially unused.
14320 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
14322         test-framework-sh: avoid netstat
14323         Problem reported by Kristýna Streitová (Bug#29947).
14324         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
14325         deprecated on SuSE and it's not that important anyway.
14327 2018-01-01  Jim Meyering  <meyering@fb.com>
14329         update-copyright: add code to handle more special cases
14330         After running "make update-copyright" this year, five files
14331         required additional manual changes.  Automate those adjustments
14332         for next year.
14333         * Makefile (_year_and_prev): Define.
14334         (update-copyright): Add perl commands to induce this year's post-
14335         update-copyright adjustments.
14337 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14339         version-etc: new year
14340         * build-aux/gendocs.sh (version):
14341         * doc/gendocs_template:
14342         * doc/gendocs_template_min:
14343         * doc/gnulib.texi:
14344         * lib/version-etc.c (COPYRIGHT_YEAR):
14345         Update copyright dates by hand in templates and the like.
14347         maint: fix 'make update-copyright'
14348         * Makefile (update-copyright): Adjust to 2016-11-23 change
14349         to config/srclist-update, which changed the format of srclist.txt.
14351 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
14353         chdir-safer: remove this module
14354         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
14355         * NEWS: Document removal.
14356         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
14357         * modules/chdir-safer: Remove these files.
14359 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
14361         Add cross-compilation results for GNU/Hurd.
14362         * m4/calloc.m4: Add GNU/Hurd guess.
14363         * m4/cbrtl.m4: Likewise.
14364         * m4/ceil.m4: Likewise.
14365         * m4/ceilf.m4: Likewise.
14366         * m4/ceill.m4: Likewise.
14367         * m4/chown.m4: Likewise.
14368         * m4/duplocale.m4: Likewise.
14369         * m4/exp2l.m4: Likewise.
14370         * m4/expm1.m4: Likewise.
14371         * m4/fchdir.m4: Likewise.
14372         * m4/floor.m4: Likewise.
14373         * m4/floorf.m4: Likewise.
14374         * m4/fmod.m4: Likewise.
14375         * m4/fmodf.m4: Likewise.
14376         * m4/fmodl.m4: Likewise.
14377         * m4/getcwd.m4: Likewise.
14378         * m4/getgroups.m4: Likewise.
14379         * m4/gettimeofday.m4: Likewise.
14380         * m4/hypot.m4: Likewise.
14381         * m4/hypotf.m4: Likewise.
14382         * m4/hypotl.m4: Likewise.
14383         * m4/link-follow.m4: Likewise.
14384         * m4/link.m4: Likewise.
14385         * m4/linkat.m4: Likewise.
14386         * m4/log.m4: Likewise.
14387         * m4/log10.m4: Likewise.
14388         * m4/log10f.m4: Likewise.
14389         * m4/log1p.m4: Likewise.
14390         * m4/log1pf.m4: Likewise.
14391         * m4/log1pl.m4: Likewise.
14392         * m4/log2.m4: Likewise.
14393         * m4/log2f.m4: Likewise.
14394         * m4/logf.m4: Likewise.
14395         * m4/lstat.m4: Likewise.
14396         * m4/malloc.m4: Likewise.
14397         * m4/mbrlen.m4: Likewise.
14398         * m4/mbrtowc.m4: Likewise.
14399         * m4/mkdir.m4: Likewise.
14400         * m4/mkfifo.m4: Likewise.
14401         * m4/mknod.m4: Likewise.
14402         * m4/mkstemp.m4: Likewise.
14403         * m4/modf.m4: Likewise.
14404         * m4/modff.m4: Likewise.
14405         * m4/modfl.m4: Likewise.
14406         * m4/printf.m4: Likewise.
14407         * m4/pselect.m4: Likewise.
14408         * m4/ptsname.m4: Likewise.
14409         * m4/putenv.m4: Likewise.
14410         * m4/readlink.m4: Likewise.
14411         * m4/realloc.m4: Likewise.
14412         * m4/remainder.m4: Likewise.
14413         * m4/remainderf.m4: Likewise.
14414         * m4/remainderl.m4: Likewise.
14415         * m4/rmdir.m4: Likewise.
14416         * m4/round.m4: Likewise.
14417         * m4/roundf.m4: Likewise.
14418         * m4/roundl.m4: Likewise.
14419         * m4/select.m4: Likewise.
14420         * m4/setenv.m4: Likewise.
14421         * m4/signbit.m4: Likewise.
14422         * m4/sleep.m4: Likewise.
14423         * m4/stat.m4: Likewise.
14424         * m4/strerror.m4: Likewise.
14425         * m4/strtok_r.m4: Likewise.
14426         * m4/symlink.m4: Likewise.
14427         * m4/symlinkat.m4: Likewise.
14428         * m4/trunc.m4: Likewise.
14429         * m4/truncf.m4: Likewise.
14430         * m4/truncl.m4: Likewise.
14431         * m4/tzset.m4: Likewise.
14432         * m4/ungetc.m4: Likewise.
14433         * m4/usleep.m4: Likewise.
14434         * m4/wcwidth.m4: Likewise.
14436 2017-12-28  Bruno Haible  <bruno@clisp.org>
14438         gnulib-tool: Make --conditional-dependencies work better.
14439         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
14440         * gnulib-tool (Options): Don't reject the combination of
14441         --conditional-dependencies with --with-tests.
14442         (func_emit_autoconf_snippets): Add argument referenceable_modules.
14443         Don't reference $modules.
14444         (func_import, func_create_testdir): Pass it.
14446 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14448         regex: use re_malloc etc. consistently
14449         Problem and original patch reported by Arnold Robbins in:
14450         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
14451         * lib/regcomp.c (re_comp):
14452         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
14453         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
14455 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
14456             Paul Eggert  <eggert@cs.ucla.edu>
14458         glob: Silence warning about void pointer arithmetic.
14459         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
14460         arithmetic.
14462 2017-12-15  Bruno Haible  <bruno@clisp.org>
14464         spawn-pipe: Silence a clang warning.
14465         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
14466         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
14467         in this file.
14469 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14471         explicit_bzero: port to macOS + Clang 9.0.0
14472         Problem reported by Marcus Johnson (Bug#29658).
14473         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
14474         Don’t use asm.
14476 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
14478         doc: Improve explanation of supporting relocatable libraries.
14479         * doc/relocatable-maint.texi (Supporting Relocation): Explain
14480         properly how to build the relocatable module for
14481         libraries. (Method and example code from Bruno Haible.)
14483 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
14485         doc: Use better texinfo tags in a few cases.
14486         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
14487         instead of @samp in a few places.
14489 2017-12-11  Bruno Haible  <bruno@clisp.org>
14491         unistr/base: Update comment.
14492         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
14494 2017-12-10  Pádraig Brady  <P@draigBrady.com>
14496         test-faccessat.c: unlink temp file to avoid subsequent test failure
14497         * tests/test-faccessat.c: Remove the file to avoid failure
14498         to open the file on subsequent runs due to being created
14499         with no permissions.
14501 2017-12-10  Bruno Haible  <bruno@clisp.org>
14503         doc: New sect. "Modifying the build rules of a Gnulib import directory".
14504         * doc/gnulib-tool.texi (Modified build rules): New node.
14506 2017-12-10  Bruno Haible  <bruno@clisp.org>
14508         doc: Tweak wording.
14509         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
14510         "binaries".
14512 2017-12-05  Sam Steingold  <sds@gnu.org>
14513             Bruno Haible  <bruno@clisp.org>
14515         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
14516         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
14517         AC_EGREP_CPP pattern.
14519 2017-12-03  Bruno Haible  <bruno@clisp.org>
14521         all: Replace more http URLs by https URLs.
14522         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
14523         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
14524         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
14525         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
14527 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
14529         Port better to CentOS 5
14530         Problems reported by Tom G. Christensen in:
14531         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
14532         * doc/glibc-functions/strverscmp.texi (strverscmp):
14533         Document strverscmp bug with glibc 2.9 and earlier.
14534         * doc/posix-functions/tzset.texi (tzset):
14535         Document that TZ with angle brackets is POSIX-2001 and later.
14536         * tests/test-nstrftime.c: Include unistd.h.
14537         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
14538         (TZ): Use it to skip tests with angle brackets in TZ,
14539         for older systems.
14541         stat: add missing module dependencies
14542         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
14543         Add stat-time.
14545 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
14547         stat: fix compilation failure on macOS Sierra
14548         Reported by Marius Schamschula <mschamschula@gmail.com> in:
14549         https://savannah.gnu.org/bugs/?52546
14550         * lib/stat.c: Add missing include of stat-time.h.
14552 2017-11-28  Jim Meyering  <meyering@fb.com>
14554         test-faccessat.c: correct BASE definition to avoid parallel test failure
14555         * tests/test-faccessat.c (BASE): Define using this file's name, not
14556         that of test-lstat.c.  Using the latter caused this test to fail
14557         sometimes when run concurrently with test-lstat.
14559 2017-11-27  Daiki Ueno  <ueno@gnu.org>
14561         unicase: fix VPATH build
14562         * modules/unicase/special-casing (Makefile.am): Ensure that the
14563         base directory is created when generating
14564         unicase/special-casing.h.
14566 2017-11-27  Daiki Ueno  <ueno@gnu.org>
14568         libunistring: update to Unicode 9.0.0
14569         * lib/gen-uni-tables.c (fill_properties): Recognize
14570         Sentence_Terminal and Prepended_Concatenation_Mark.
14571         (is_property_default_ignorable_code_point): Exclude U+08E2.
14572         (fill_arabicshaping): Allow missing whitespace when parsing;
14573         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
14574         (output_blocks): Increase the element size of the level1 table to
14575         accommodate more blocks.
14576         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
14577         Update each class according to the standard.
14578         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
14579         E_Base_GAZ characters.
14580         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
14581         Glue_After_Zwj, and E_Base_GAZ characters.
14582         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
14583         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
14584         enum value.
14585         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
14586         value.
14587         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
14588         LBP_ZWJ, LBP_EB, and LBP_EM.
14589         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
14590         enum value.
14591         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
14592         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
14593         declaration.
14594         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
14595         (uniwbrk_table): Implement WB14.
14596         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
14597         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
14598         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
14599         uc-is-grapheme-break.
14600         * modules/unigbrk/uc-grapheme-breaks: New module.
14601         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
14602         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
14603         enum value.
14604         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
14605         * lib/unigbrk/u-grapheme-breaks.h: New file.
14606         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
14607         u-grapheme-breaks.h instead of uc_is_grapheme_break.
14608         * lib/unigbrk/uc-grapheme-breaks.c: New file.
14609         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
14610         29.
14611         * tests/unigbrk/test-uc-gbrk-prop.c
14612         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
14613         GBP_GAZ, and GBP_EBG.
14614         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
14615         * tests/unigbrk/test-uc-is-grapheme-break.c
14616         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
14617         GBP_GAZ, and GBP_EBG.
14618         (main): Skip unsupported rules involving 3 or more characters,
14619         namely GB10, GB12, and GB13.
14620         * lib/uniwidth/width.c (nonspacing_table_data): Update.
14621         * all generated files under lib/uni* and tests/uni*: Regenerate.
14622         * all the affected modules: Bump version.
14624 2017-11-26  Bruno Haible  <bruno@clisp.org>
14626         strfmon_l: Fix compilation error with glibc 2.5.
14627         Reported by Tom G. Christensen <tgc@jupiterrise.com>
14628         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
14629         * lib/monetary.in.h: Include also <locale.h>.
14631 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
14633         posixtm: remove PDS_LEADING_YEAR
14634         This changes the API slightly, in a hopefully-innocuous way.
14635         Without this change the code had undefined behavior when a
14636         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
14637         Problem reported by Pádraig Brady in:
14638         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
14639         * NEWS: Mention this.
14640         * lib/posixtm.c (posix_time_parse): Treat the absence of
14641         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
14642         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
14643         present, but define it as zero, for compatibility with existing
14644         source code).  All other PDS_* values moved up.
14645         * tests/test-posixtm.c (LY): New macro.
14646         (T): Use it.  Do not expect a particular numeric encoding
14647         for PDS_CENTURY etc.
14649 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14651         stat: work around Solaris bug with tv_nsec < 0
14652         * doc/posix-functions/fstat.texi (fstat):
14653         * doc/posix-functions/fstatat.texi (fstatat):
14654         * doc/posix-functions/lstat.texi (lstat):
14655         * doc/posix-functions/stat.texi (stat):
14656         Mention Solaris 11 bug.
14657         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
14658         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
14659         * lib/lstat.c (rpl_lstat):
14660         * lib/stat.c (rpl_stat):
14661         Normalize resulting timestamps.
14662         * lib/fstatat.c (normal_fstatat): New function.
14663         (rpl_fstatat): Use it.
14664         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
14665         (stat_time_normalize): New function.
14666         * m4/fstat.m4 (gl_FUNC_FSTAT):
14667         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
14668         * m4/lstat.m4 (gl_FUNC_LSTAT):
14669         * m4/stat.m4 (gl_FUNC_STAT):
14670         Replace on Solaris.
14671         * modules/fstat (Depends-on):
14672         * modules/fstatat (Depends-on):
14673         Add stat-time.
14674         * modules/stat-time (Depends-on): Add errno, intprops.
14676 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
14678         regex: merge from glibc
14679         * lib/regcomp.c (init_word_char): Add comments.
14681 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14683         regex: merge from glibc
14684         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
14685         * lib/regex_internal.h (internal_function): Remove.
14686         All uses removed.
14688 2017-11-20  Bruno Haible  <bruno@clisp.org>
14690         crypto/gc-sm3: Fix buffer overrun.
14691         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
14692         Reported by Coverity.
14694 2017-11-12  Jim Meyering  <meyering@fb.com>
14696         maint: shorten https://lists.gnu.org/archive/html/... links
14697         Each /archive/html/ part can be replace with /r/.
14698         Run this to induce the change:
14699         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
14700         * ChangeLog: Perform that substitution.
14701         * Makefile: Likewise.
14702         * STATUS-libposix: Likewise.
14703         * build-aux/bootstrap: Likewise.
14704         * doc/maintain.texi: Likewise.
14705         * gnulib-tool: Likewise.
14706         * lib/allocator.h: Likewise.
14707         * lib/argp-ba.c: Likewise.
14708         * lib/argp-pv.c: Likewise.
14709         * lib/canon-host.c: Likewise.
14710         * lib/canonicalize-lgpl.c: Likewise.
14711         * lib/float.in.h: Likewise.
14712         * lib/fstat.c: Likewise.
14713         * lib/getdelim.c: Likewise.
14714         * lib/getprogname.c: Likewise.
14715         * lib/glthread/thread.h: Likewise.
14716         * lib/intprops.h: Likewise.
14717         * lib/mbsrtowcs-state.c: Likewise.
14718         * lib/safe-read.c: Likewise.
14719         * lib/signal.in.h: Likewise.
14720         * lib/stat.c: Likewise.
14721         * lib/stdbool.in.h: Likewise.
14722         * lib/stdio-impl.h: Likewise.
14723         * lib/stdio.in.h: Likewise.
14724         * lib/sysexits.in.h: Likewise.
14725         * lib/timespec.h: Likewise.
14726         * lib/wcsrtombs-state.c: Likewise.
14727         * m4/alloca.m4: Likewise.
14728         * m4/extern-inline.m4: Likewise.
14729         * m4/fstatat.m4: Likewise.
14730         * m4/gnulib-common.m4: Likewise.
14731         * m4/lib-ignore.m4: Likewise.
14732         * m4/printf.m4: Likewise.
14733         * m4/regex.m4: Likewise.
14734         * m4/stat-size.m4: Likewise.
14735         * m4/std-gnu11.m4: Likewise.
14736         * m4/stdbool.m4: Likewise.
14737         * m4/sys_types_h.m4: Likewise.
14738         * m4/threadlib.m4: Likewise.
14739         * m4/vararrays.m4: Likewise.
14740         * pygnulib/GLImport.py: Likewise.
14741         * tests/test-exp.h: Likewise.
14742         * tests/test-exp2.h: Likewise.
14743         * tests/test-expm1.h: Likewise.
14744         * tests/test-fflush2.c: Likewise.
14745         * tests/test-getopt_long.h: Likewise.
14746         * tests/test-intprops.c: Likewise.
14747         * tests/test-log.h: Likewise.
14748         * tests/test-log10.h: Likewise.
14749         * tests/test-log1p.h: Likewise.
14750         * tests/test-log2.h: Likewise.
14751         * tests/test-printf-posix.h: Likewise.
14752         * tests/test-regex.c: Likewise.
14753         * tests/test-snprintf-posix.h: Likewise.
14754         * tests/test-sprintf-posix.h: Likewise.
14755         * tests/test-stdalign.c: Likewise.
14756         * tests/test-stdbool.c: Likewise.
14757         * tests/test-vasnprintf-posix.c: Likewise.
14758         * tests/test-vasprintf-posix.c: Likewise.
14759         * top/maint.mk: Likewise.
14761 2017-11-12  Bruno Haible  <bruno@clisp.org>
14763         faccessat: Make the last change more robust.
14764         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
14765         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
14767 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14769         faccessat: port to macOS (Bug#29231)
14770         macOS faccessat has the same bug that lstat does: if the file
14771         name ends in '/' it ignores the trailing slash.
14772         Problem reported for Emacs by Vincent Zhang.
14773         * doc/posix-functions/faccessat.texi (faccessat): Document this.
14774         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
14775         around the initial includes.  Include errno.h, string.h, sys/stat.h.
14776         (orig_faccessat) [HAVE_FACCESSAT]: New function.
14777         Include "unistd.h" after defining it.
14778         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
14779         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
14780         Handle in the usual way.
14781         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
14782         lstat dereferences symlinks, since faccessat is likely to
14783         have the same problem.
14784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
14785         * modules/faccessat (Depends-on): Add fstatat.
14786         Depend if REPLACE_FACCESSAT is 1, too.
14787         (configure.ac): Link if REPLACE_FACCESSAT is 1.
14788         * modules/faccessat-tests (Depends-on): Add symlink.
14789         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
14790         * tests/test-faccessat.c (main): Test for the bug.
14792 2017-11-11  Bruno Haible  <bruno@clisp.org>
14794         getprogname: Fix compilation error on IRIX.
14795         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
14796         'namesize'.
14798 2017-11-11  Bruno Haible  <bruno@clisp.org>
14800         year2038: Tweak last patch.
14801         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
14803 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
14805         year2038: be more insistent about 64-bit time_t
14806         Applications requiring access to arbitrary files should not be
14807         built with 32-bit time_t on hosts that have 64-bit timestamps,
14808         as this can lead to real trouble at runtime.
14809         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
14810         Check on all systems, not just MinGW.  Use a heuristic involving
14811         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
14812         output a failure or just a warning, to make it more likely that
14813         builders will select 64-bit time_t.
14815 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
14817         havelib: fix typo in previous change
14818         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
14820         Don’t use AC_EGREP_CPP if affected by CFLAGS
14821         * m4/float_h.m4 (gl_FLOAT_H):
14822         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
14823         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
14824         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
14825         * m4/year2038.m4 (gl_YEAR2038):
14826         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
14827         likely to be affected by the choice of CFLAGS, since CFLAGS are
14828         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
14829         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
14831         fstatat: pacify GCC on unusual platform
14832         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
14833         Omit, as it’s unused in this case.
14835 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14837         timespec: prefer ‘assume’ to ‘assure’
14838         This avoids some runtime tests.  The rest of the module makes
14839         similar assumptions and there is little point to testing here.
14840         * lib/timespec.h: Include verify.h instead of assure.h.
14841         (timespec_cmp): Use ‘assume’, not ‘assure’.
14842         Also, remove an unnecessary cast to ‘int’, as lots of other
14843         code in this module now causes -Wconversion to complain, and
14844         this is a problem with -Wconversion not with the code.
14846         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
14848         Port recent gnulib-tool change to Dash
14849         * gnulib-tool (func_create_testdir): Don't assume that the shell
14850         retokenizes after expanding "$@" inside the call to
14851         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
14853 2017-10-27  Jim Meyering  <meyering@fb.com>
14855         timespec.h: use "assure" to avoid a spurious warning
14856         * lib/timespec.h: Include "assure.h" and use it to help
14857         gcc7's -Wstrict-overflow avoid a false positive warning
14858         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
14859         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
14860         * modules/timespec (Depends-on): Add assure.
14862 2017-10-29  Bruno Haible  <bruno@clisp.org>
14864         Avoid several test failures with traditional locales on Haiku.
14865         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
14866         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
14867         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
14868         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
14869         LOCALE_ZH_CN=none.
14871 2017-10-29  Bruno Haible  <bruno@clisp.org>
14873         strerror_r-posix: Fix behaviour and test failure on Haiku.
14874         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
14875         are positive. Work around return value 0 instead of ERANGE on Haiku.
14876         For unknown error numbers, use a format string consistent with perror().
14877         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
14878         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
14879         are positive.
14881 2017-10-29  Bruno Haible  <bruno@clisp.org>
14883         get-rusage-data: Avoid crash on Haiku.
14884         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
14886 2017-10-29  Bruno Haible  <bruno@clisp.org>
14888         get-rusage-as: Avoid crash on Haiku.
14889         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
14891 2017-10-29  Bruno Haible  <bruno@clisp.org>
14893         ilogbl: Ensure replacement on Haiku.
14894         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
14895         REPLACE_ILOGBL if ilogbl does not work.
14896         (gl_FUNC_ILOGBL_WORKS): New macro.
14897         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
14898         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
14899         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
14900         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
14901         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
14903 2017-10-29  Bruno Haible  <bruno@clisp.org>
14905         expl: Ensure replacement on Haiku.
14906         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
14907         zero.
14908         * doc/posix-functions/expl.texi: Mention the Haiku problem.
14910 2017-10-29  Bruno Haible  <bruno@clisp.org>
14912         math: Fix test failure on Haiku.
14913         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
14914         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
14915         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
14916         * doc/posix-headers/math.texi: Mention the Haiku problem.
14918 2017-10-29  Bruno Haible  <bruno@clisp.org>
14920         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
14921         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
14922         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
14924 2017-10-29  Bruno Haible  <bruno@clisp.org>
14926         crypto/*: Verify that the header file is self-contained.
14927         * tests/test-gc-*.c: Include the module's header file immediately after
14928         <config.h>.
14929         * tests/test-hmac-*.c: Likewise.
14930         * tests/test-arcfour.c: Likewise.
14931         * tests/test-arctwo.c: Likewise.
14932         * tests/test-des.c: Likewise.
14933         * tests/test-md2.c: Likewise.
14934         * tests/test-md4.c: Likewise.
14935         * tests/test-md5.c: Likewise.
14936         * tests/test-rijndael.c: Likewise.
14937         * tests/test-sha1.c: Likewise.
14938         * tests/test-sm3.c: Likewise.
14940 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
14941             Bruno Haible  <bruno@clisp.org>
14943         crypto/gc: fix build failure with -Werror=suggest-attribute=const
14944         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
14946 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
14948         New module: crypto/gc-sm3
14949         * lib/gc.h: Declare SM3-related stuffs.
14950         * lib/gc-gnulib.c: Support sm3 in internal functions.
14951         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
14952         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
14953         * modules/crypto/gc-sm3: Define gc-sm3 module.
14954         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
14955         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
14956         * MODULES.html.sh: List gc-sm3 module.
14958 2017-10-29  Bruno Haible  <bruno@clisp.org>
14960         random, random_r: Mention different prototypes on Haiku.
14961         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
14962         * doc/glibc-functions/random_r.texi: Likewise.
14963         * doc/glibc-functions/initstate_r.texi: Likewise.
14964         * doc/glibc-functions/setstate_r.texi: Likewise.
14966 2017-10-28  Bruno Haible  <bruno@clisp.org>
14968         posix_spawn: Avoid spurious message in configure output.
14969         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
14970         'cmp' command.
14972 2017-10-28  Bruno Haible  <bruno@clisp.org>
14974         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
14975         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
14976         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14978 2017-10-28  Bruno Haible  <bruno@clisp.org>
14980         ioctl: Override non-POSIX declaration on Haiku.
14981         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
14982         * lib/sys_ioctl.in.h: Add comment about Haiku.
14983         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
14984         * doc/glibc-headers/sys_ioctl.texi: Likewise.
14986 2017-10-28  Bruno Haible  <bruno@clisp.org>
14988         crypto/sm3: Add overview documentation to the .h file.
14989         * lib/sm3.h: Add comments.
14991 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
14993         New module: crypto/sm3
14994         This new module can be used to compute SM3 message digest of files or
14995         memory blocks according to the specification GM/T 004-2012
14996         Cryptographic Hash Algorithm SM3, published by State Cryptography
14997         Administration, China.
14998         The official SM3 cryptographic hash algorithm specification is
14999         available at
15000         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
15001         * lib/sm3.h: Declare the APIs of sm3 module.
15002         * lib/sm3.c: Implement SM3 hash algorithm.
15003         * m4/sm3.m4: m4 file for sm3 module.
15004         * modules/crypto/sm3: Define sm3 module.
15005         * tests/test-sm3.c: Implement SM3 test case.
15006         * modules/crypto/sm3-tests: Define sm3 test module.
15007         * MODULES.html.sh: List sm3 module.
15009 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
15011         gc-libgcrypt: fix undefined enum type in switch statement
15012         Resolve the following build failure:
15013         lib/gc-libgcrypt.c: In function 'gc_hash_open':
15014         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
15015         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
15016              case 0:
15017              ^~~~
15018         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
15019         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
15021 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
15023         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
15024         Resolve the following build failure:
15025         lib/gc-libgcrypt.c: In function 'gc_hash_read':
15026         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
15027         in signedness [-Werror=pointer-sign]
15028             digest = gcry_md_read (ctx->gch, 0);
15029                    ^
15030         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
15032 2017-10-26  Bruno Haible  <bruno@clisp.org>
15034         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
15035         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
15036         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
15038 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
15040         glob: fix another heap buffer overflow
15041         Problem reported by Tim Rühsen in:
15042         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
15043         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
15045 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
15047         quotearg: pacify compiler re unsigned
15048         * lib/quotearg.c (quotearg_n_options):
15049         Rewrite to avoid diagnostic from overly-picky compiler.
15050         Problem reported by Sami Kerola in:
15051         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
15053         glob: fix heap buffer overflow
15054         * lib/glob.c (glob): Fix off-by-one error introduced into
15055         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
15056         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
15057         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
15058         Fix suggested by Bruno Haible.
15060 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15062         glob: pacify fuzzer for mempcpy
15063         Problem reported by Tim Rühsen in:
15064         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
15065         * lib/glob.c (glob): Do not pass NULL to mempcpy.
15067 2017-10-12  Bruno Haible  <bruno@clisp.org>
15069         doc: Fix syntax error (regression from 2017-10-03).
15070         * doc/posix-functions/strncpy.texi: Fix syntax error.
15072 2017-10-12  Bruno Haible  <bruno@clisp.org>
15074         doc: Update for Solaris 11.3.
15075         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
15076         mention Solaris 11.3.
15077         * m4/log2.m4: Fix comments.
15078         * m4/log2f.m4: Likewise.
15079         * m4/printf.m4: Update comments.
15080         * m4/rename.m4: Likewise.
15081         * m4/strncat.m4: Likewise.
15083         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
15085 2017-10-10  Bruno Haible  <bruno@clisp.org>
15087         doc: Improve doc about ioctl.
15088         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
15089         prototype.
15091 2017-10-09  Bruno Haible  <bruno@clisp.org>
15093         wcwidth: Don't use obsolete syntax of 'test'.
15094         Reported by Eric Blake.
15095         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
15096         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
15098 2017-10-09  Bruno Haible  <bruno@clisp.org>
15100         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
15101         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
15102         and Daniel P. Berrange <berrange@redhat.com>.
15103         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
15104         on glibc systems. The getopt-pfx-core.h file declares exactly what
15105         unistd.h needs, nothing more.
15107 2017-10-08  Bruno Haible  <bruno@clisp.org>
15109         vma-iter: Improve support for FreeBSD.
15110         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
15111         vma_iterate.
15112         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
15114 2017-10-08  Bruno Haible  <bruno@clisp.org>
15116         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
15117         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
15119 2017-10-07  KO Myung-Hun  <komh@chollian.net>
15121         test-framework-sh: Fix 'invalid path dir' error.
15122         On OS/2, a path separator is ';' not ':'. And ':' is used as a
15123         separator between a drive letter and directory parts.
15124         As a result, an absolute path such as x:/path/to/dir on OS/2 is
15125         treated as an invalid path dir.
15126         * tests/init.sh (PATH_SEPARATOR): Set at startup.
15127         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
15128         instead of hard coded ':'.
15130 2017-10-07  Bruno Haible  <bruno@clisp.org>
15132         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
15133         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
15134         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
15135         (rof_open): On Linux, do multiple read() calls and make sure
15136         MIN_LEFTOVER bytes are left when read() returns.
15138 2017-10-07  Bruno Haible  <bruno@clisp.org>
15140         vma-iter: Improve support for GNU/Hurd.
15141         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
15142         API, not the /proc file system.
15144 2017-10-07  Bruno Haible  <bruno@clisp.org>
15146         test-framework-sh: Don't require bash on Windows and OS/2.
15147         Reported by KO Myung-Hun.
15148         * tests/test-init.sh: Use 'shopt' only when running in bash.
15150 2017-10-06  KO Myung-Hun  <komh@chollian.net>
15152         wcwidth: check a macro version of wcwidth () as well
15153         * lib/wchar.in.h: Revert commit from 2016-01-14.
15154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
15156 2017-10-06  Bruno Haible  <bruno@clisp.org>
15158         getopt-posix: Clarify copyright header.
15159         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
15160         * lib/getopt-pfx-core.h: Likewise.
15161         * lib/getopt-pfx-ext.h: Likewise.
15162         * lib/getopt-cdefs.in.h: Likewise.
15164 2017-10-03  Bruno Haible  <bruno@clisp.org>
15166         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
15167         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
15168         gl_HOST_CPU_C_ABI.
15170 2017-10-03  Bruno Haible  <bruno@clisp.org>
15172         doc: warn about misuse of strncpy and wcsncpy.
15173         * doc/posix-functions/strcpy.texi: Describe requirements on prior
15174         memory allocation.
15175         * doc/posix-functions/wcscpy.texi: Likewise.
15176         * doc/posix-functions/strncpy.texi: Describe what this function is not
15177         useful for.
15178         * doc/posix-functions/wcsncpy.texi: Likewise.
15180 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15182         fsuage: fix typo in previous change
15183         * lib/fsusage.c: Remove stray include of full-read.h.
15184         Problem reported by Sam Steingold for macOS (Bug#28669).
15186 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
15188         fsusage: remove SVR2 support
15189         SVR2 was obsolete by 1986 and is no longer supported by anybody,
15190         and its code was getting in the way of use of this module by
15191         Emacs, which has its own ‘read’ function anyway.
15192         * lib/fsusage.c: Do not include sys/filsys.h.
15193         (get_fs_usage): Remove SVR2-specific code.
15194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
15195         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
15196         * modules/fsusage (Depends-on): Do not depend on full-read.
15198         Simplify autoupdate of licenses
15199         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
15200         place.
15202 2017-10-01  Bruno Haible  <bruno@clisp.org>
15204         vma-iter: Add support for GNU/Hurd.
15205         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
15206         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
15208 2017-09-30  Bruno Haible  <bruno@clisp.org>
15210         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
15211         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
15212         fail when module 'largefile' is in use.
15213         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
15214         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
15215         Don't test HAVE_SYS_PROCFS_H.
15217 2017-09-30  Bruno Haible  <bruno@clisp.org>
15219         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
15220         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
15221         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
15222         * modules/havelib (Depends-on): Add host-cpu-c-abi.
15224 2017-09-30  Bruno Haible  <bruno@clisp.org>
15226         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
15227         * lib/uniname/uniname.c (unicode_name_character): Add braces around
15228         scope of local variables.
15230 2017-09-28  Bruno Haible  <bruno@clisp.org>
15232         string: code style
15233         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
15234         substitutable variables.
15235         * modules/string (Makefile.am): Likewise.
15237 2017-09-26  Bruno Haible  <bruno@clisp.org>
15239         uniname/uniname-tests: Tighten code.
15240         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
15241         local variables into one.
15243 2017-09-26  Bruno Haible  <bruno@clisp.org>
15245         vma-iter: Improvements for Linux and BSD platforms.
15246         - Add support for DragonFly BSD.
15247         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
15248         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
15249         Read the entire file into memory in a single system call.
15250         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
15251         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
15253 2017-09-26  Bruno Haible  <bruno@clisp.org>
15255         vma-iter: Provide the protection flags on FreeBSD.
15256         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
15257         skip three fields between the addresses and the protection flags.
15259 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15261         glob: remove bogus extern decl
15262         * lib/glob.c (__glob_pattern_type): Remove now-spurious
15263         extern declaration.  Problem reported by Adhemerval Zanella in:
15264         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
15266 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15268         uniname/uniname-tests: integer overflow fix
15269         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
15270         Check for integer overflow.
15272         duplocale-tests: fix unlikely crash
15273         * tests/test-duplocale.c (get_locale_dependent_values):
15274         Don’t crash with absurdly long month names.
15276         maint: fix overflow checking in nap.h
15277         * modules/chown-tests:
15278         * modules/fchownat-tests, modules/fdutimensat-tests:
15279         * modules/futimens-tests, modules/lchown-tests:
15280         * modules/stat-time-tests, modules/utime-tests:
15281         * modules/utimens-tests, modules/utimensat-tests:
15282         Depend on intprops.
15283         * tests/nap.h: Include intprops.h.
15284         (diff_timespec): Handle overflow properly.
15286         sys_types: update URL
15287         * m4/sys_types_h.m4: Use https: URL.
15289         parse-datetime: fix dependency
15290         * modules/parse-datetime (Depends-on): Depend
15291         on nstrftime, not strftime.
15293         parse-datetime, posixtm: avoid uninit access
15294         * lib/parse-datetime.y (parse_datetime2):
15295         * lib/posixtm.c (posixtime):
15296         Do not access uninitialized storage, even though the resulting
15297         value is never used.
15299 2017-09-25  Bruno Haible  <bruno@clisp.org>
15301         vma-iter: Improvements for BSD platforms.
15302         - Add support for GNU/kFreeBSD.
15303         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
15304         - Speed up on OpenBSD.
15305         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
15306         (vma_iterate_bsd): New function.
15307         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
15308         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
15309         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
15310         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
15312 2017-09-23  Bruno Haible  <bruno@clisp.org>
15314         strfmon_l: New module.
15315         * modules/strfmon_l: New file.
15316         * lib/strfmon_l.c: New file.
15317         * m4/strfmon_l.m4: New file.
15318         * doc/posix-functions/strfmon_l.texi: Mention the new module.
15319         * modules/strfmon_l-tests: New file.
15320         * tests/test-strfmon_l.c: New file.
15322         monetary: New module.
15323         * modules/monetary: New file.
15324         * lib/monetary.in.h: New file.
15325         * m4/monetary_h.m4: New file.
15326         * doc/posix-headers/monetary.texi: Mention the new module.
15327         * modules/monetary-tests: New file.
15328         * tests/test-monetary.c: New file.
15329         * modules/monetary-c++-tests: New file.
15330         * tests/test-monetary-c++.cc: New file.
15331         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
15333 2017-09-23  Bruno Haible  <bruno@clisp.org>
15335         duplocale tests: Fix test crash on Linux/x86.
15336         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
15337         locale from the current thread before freeing it.
15339 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
15341         mktime: port to OpenVMS
15342         Problem reported by John E. Malmberg in:
15343         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
15344         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
15346 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15348         manywarnings: port to GCC on 64-bit MS-Windows
15349         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
15350         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
15351         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
15353 2017-09-13  Bruno Haible  <bruno@clisp.org>
15355         all: Replace many more http URLs by https URLs. Update stale URLs.
15356         * users.txt: Remove mention of 'newts'.
15357         * lib/localename.c: Update comment about LANG_SOTHO.
15359 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15361         all: Replace many http URLs by https URLs.
15363 2017-09-12  Bruno Haible  <bruno@clisp.org>
15365         doc: Prefer https URLs where possible.
15366         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
15367         * doc/ld-output-def.texi: Remove unavailable URL.
15369 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
15371         maintainer-makefile: FTP -> HTTPS
15372         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
15373         of FTP, which is planned to be decommissioned on 2017-11-01.
15375 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
15377         libc-config: Fix __GNUC_PREREQ macro.
15378         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
15379         __GNUC_MINOR.
15381 2017-09-09  Bruno Haible  <bruno@clisp.org>
15383         gnulib-tool: Simplify commit from 2015-08-20.
15384         * gnulib-tool (func_add_or_update): Remove local variable
15385         is_binary_file.
15387 2017-09-08  Bruno Haible  <bruno@clisp.org>
15389         stddef: Avoid conflict with system-defined max_align_t.
15390         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
15391         Reported by Werner Lemberg <wl@gnu.org> in
15392         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
15393         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
15394         (max_align_t): Define as a macro.
15395         (GNULIB_defined_max_align_t): New macro. Guards against multiple
15396         definitions of rpl_max_align_t in different copies of gnulib-generated
15397         <stddef.h>.
15399 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
15401         libc-config: port to MSVC
15402         Problems reported by Gisle Vanem in:
15403         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
15404         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
15405         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
15406         * m4/__inline.m4: New file.
15407         * modules/libc-config (Files): Add it.
15408         (Depends-on): Use it.
15410         glob: Use enum for __glob_pattern_type result
15411         From a patch proposed by Adhemerval Zanella in:
15412         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
15413         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
15414         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
15415         * lib/glob_internal.h (__glob_pattern_type):
15416         * lib/glob.c (glob):
15417         * lib/glob_pattern_p.c (__glob_pattern_p):
15418         Use them.
15420         glob: fix for use in glibc
15421         Problem reported by Adhemerval Zanella in:
15422         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
15423         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
15424         Do not redefine if _LIBC.
15426 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15428         glob: fix bugs with long login names
15429         Problem reported by Adhemerval Zanella in:
15430         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
15431         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
15432         (glob): Use the same scratch buffer for both getlogin_r and
15433         getpwnam_r.  Don’t require preallocation of the login name.  This
15434         simplifies storage allocation, and corrects the handling of
15435         long login names.
15437 2017-09-02  Bruno Haible  <bruno@clisp.org>
15439         dirent: Update doc.
15440         * doc/posix-headers/dirent.texi: More concrete list of platforms.
15442 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15444         glob: fix getpwnam_r errno typo
15445         * lib/glob.c (glob): Fix longstanding misuse of errno after
15446         getpwnam_r, which returns an error number rather than setting
15447         errno.
15449         glob: fix typo in recent change
15450         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
15451         Fix recently-introduced typo.
15453 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15455         glob: don't save and restore errno unnecessarily
15456         * lib/glob.c (glob): Don't save and restore errno
15457         merely because we have getpwnam_r.
15459         glob: don't assume getpwnam_r
15460         * lib/glob.c (glob): Port recent patches to platforms
15461         lacking getpwnam_r.
15463         scratch_buffer: don’t use private glibc API
15464         Suggested by Florian Weimer in:
15465         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
15466         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
15467         * lib/scratch_buffer_grow.c: Rename to
15468         lib/malloc/scratch_buffer_grow.c.
15469         * lib/scratch_buffer_grow_preserve.c: Rename to
15470         lib/malloc/scratch_buffer_grow_preserve.c.
15471         * lib/scratch_buffer_set_array_size.c: Rename to
15472         lib/malloc/scratch_buffer_set_array_size.c.
15473         * lib/scratch_buffer.h: New file.
15474         * modules/scratch_buffer (Files, Makefile.am):
15475         Adjust to source-file renaming.
15477 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15479         glob: use scratch_buffer instead of extend_alloca
15480         Much of the lib/glob.c part of this patch comes from a glibc patch
15481         proposed by Adhemerval Zanella in:
15482         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
15483         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
15484         included via glob.h, does this for us now.
15485         (__set_errno): Remove, as libc-config does this for us now.
15486         Include <scratch_buffer.h>.
15487         (GETPW_R_SIZE_MAX): Remove.
15488         (glob): Use struct scratch_buffer instead of extend_alloca.
15489         * lib/glob.in.h: Include libc-config.h rather than
15490         including <sys/cdefs.h> conditionally.
15491         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
15492         (__glibc_unlikely, __restrict, weak_alias):
15493         Remove, as libc-config does this for us now.
15494         * m4/glob.m4 (gl_PREREQ_GLOB):
15495         Remove sys/cdefs.h tests; no longer needed.
15496         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
15497         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
15499         scratch_buffer: new module
15500         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
15501         * lib/scratch_buffer_grow_preserve.c:
15502         * lib/scratch_buffer_set_array_size.c:
15503         New files, copied from glibc with very minor changes that can be
15504         copied back.
15505         * modules/scratch_buffer: New file.
15507         libc-config: new module
15508         * MODULES.html.sh: Add libc-config.
15509         * lib/cdefs.h: New file, copied from the GNU C Library with very
15510         minor changes that can be copied back.
15511         * lib/libc-config.h, modules/libc-config: New files.
15513 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15515         glob: match dangling symlinks
15516         This fixes a bug I inadvertently introduced to Gnulib when I
15517         merged glibc glob back into gnulib on 2007-10-16.  This fix is
15518         inspired by a patch proposed for glibc by Adhemerval Zanella in:
15519         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
15520         * doc/posix-functions/glob.texi: Update list of affected platforms.
15521         * lib/glob.c (__lstat64): New macro.
15522         (is_dir): New function.
15523         (glob, glob_in_dir): Match symlinks even if they are dangling.
15524         (link_stat, link_exists_p): Remove.  All uses removed.
15525         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
15526         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
15527         * modules/glob-tests (Depends-on): Add symlink.
15528         * tests/test-glob.c: Include errno.h, unistd.h.
15529         (BASE): New macro.
15530         (main): Test dangling symlinks, if symlinks are supported.
15532         glob, backupfile: inode 0 is a valid inode number
15533         * doc/posix-functions/readdir.texi (readdir):
15534         * doc/posix-headers/dirent.texi (dirent.h):
15535         Document more readdir portability issues.
15536         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
15537         (numbered_backup): Don’t treat inode 0 any differently from
15538         other inode values.
15539         * lib/glob.c (struct readdir_result): Remove skip_entry member.
15540         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
15541         All uses removed.
15542         * modules/glob (Depends-on): Remove d-ino.
15544         glob: simplify symlink detection
15545         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
15546         uint8_t, as C99 does not require uint8_t.
15547         (struct readdir_result): Use it.  Do not define skip_entry unless
15548         it is needed; this saves a byte on platforms lacking d_ino.
15549         (readdir_result_type, readdir_result_skip_entry):
15550         New functions, replacing ...
15551         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
15552         ... these functions, which were removed.  This makes the callers
15553         easier to read.  All callers changed.
15554         (D_INO_TO_RESULT): Now empty if there is no d_ino.
15556 2017-08-30  Pádraig Brady  <P@draigBrady.com>
15558         fts-tests: tag as a longrunning-test so not included by default
15559         * modules/fts-tests: This test takes about 20s on current systems,
15560         and uses about 285M of space on ext4.
15562 2017-08-30  Pádraig Brady  <P@draigBrady.com>
15564         renameat2: fix compilation on alpine linux
15565         * m4/renameat.m4: Check for <linux/fs.h> presence.
15566         * lib/renameat2.h: Only include <linux/fs.h> if present.
15567         Reported by Assaf Gordon on Alpine Linux.
15569 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15571         glob: try to port recent changes to MS-Windows
15572         Problem reported by Bruno Haible in:
15573         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
15574         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
15575         * lib/glob.in.h (__glob_pattern_p): ... to here.
15577 2017-08-24  Eric Blake  <eblake@redhat.com>
15579         warnings: fix compilation with old autoconf
15580         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
15581         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
15582         AC_DEFUN.
15583         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
15584         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
15586 2017-08-24  Bruno Haible  <bruno@clisp.org>
15588         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
15589         * modules/glob (Depends-on): Add c99.
15591 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15593         glob: fix typo that broke platforms lacking d_ino
15594         This typo also hurt performance on GNU/Linux and similar hosts.
15595         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
15596         in previous change.
15598 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15600         glob: merge from glibc with Zanella glob changes
15601         Merge glob from glibc, with changes for glob proposed
15602         by Adhemerval Zanella in the thread starting here:
15603         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
15604         plus some fixes for this merge.
15605         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
15606         New files, ported from glibc.
15607         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
15608         with __restrict.
15609         (__size_t): Remove.  All uses replaced by size_t.
15610         (size_t): Define by defining __need_size_t and including <stddef.h>.
15611         This should work even in non-glibc platforms, where any name
15612         pollution is OK.
15613         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
15614         (struct stat64): Don’t worry about __GLOB_GNULIB.
15615         (glob, globfree, glob_pattern_p): Remove macros for
15616         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
15617         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
15618         but set errno.
15619         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
15620         removed since the glibc behavior works on null pointers.
15621         Do not include stdio.h; old SunOS is irrelevant now.
15622         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
15623         Include glob_internal.h.
15624         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
15625         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
15626         worked only coincidentally.
15627         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
15628         Remove macros; now done in glob.in.h.
15629         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
15630         (glob): Properly initialize glob structure with
15631         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
15632         Remove old code using SHELL since Bash no longer
15633         uses this.
15634         (glob, prefix_array): Separate MS code better.
15635         (glob, glob_in_dir): Use C99 decls before statements when glibc
15636         does.
15637         (glob_in_dir): Remove old Amiga and VMS code.
15638         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
15639         separate files.
15640         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
15641         (__glibc_unlikely):
15642         Move here from glob.c.
15643         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
15644         (weak_alias): New macro.
15645         (__size_t): Remove.  All uses replaced by size_t.
15646         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
15647         * modules/glob (Files): Add +lib/glob_internal.h,
15648         lib/glob_pattern_p.c, lib/globfree.c.
15649         (Depends-on): Remove snippet/arg-nonnull.
15651 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
15653         glob: port to clang's Undefined Sanitizer
15654         Problem reported by Tim Rühsen in:
15655         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
15656         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
15657         (glob_in_dir): Do not rely on undefined behavior in accessing
15658         struct members beyond their bounds.  Use a flexible array member
15659         instead.
15661 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15663         vc-list-files: port to Solaris 10
15664         * build-aux/vc-list-files: Don't assume test -e works.
15666 2017-08-21  Karl Berry  <karl@freefriends.org>
15668         * doc/posix-functions/srandom.texi (srandom): typo }.
15670 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
15672         git-version-gen: port to Solaris 10
15673         Problem reported by Dagobert Michelsen in:
15674         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
15675         * build-aux/git-version-gen (v_from_git):
15676         Use expr instead of shell substitution.
15678 2017-08-19  Bruno Haible  <bruno@clisp.org>
15680         host-cpu-c-abi: Improve detection of MIPS ABI.
15681         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
15682         _MIPS_SIM.
15684 2017-08-17  Bruno Haible  <bruno@clisp.org>
15686         hypot tests: Fix test failure on FreeBSD 11.0/x86.
15687         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
15689 2017-08-17  Bruno Haible  <bruno@clisp.org>
15691         float: Fix LDBL_MIN value on FreeBSD/x86.
15692         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
15694 2017-08-17  Bruno Haible  <bruno@clisp.org>
15696         random: Fix test compilation failure on Cygwin 1.5.25.
15697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
15698         HAVE_DECL_SETSTATE.
15699         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
15700         declared.
15701         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
15702         HAVE_DECL_SETSTATE.
15703         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
15704         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
15705         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
15706         * doc/posix-functions/random.texi: Likewise.
15707         * doc/posix-functions/setstate.texi: Likewise.
15708         * doc/posix-functions/srandom.texi: Likewise.
15710 2017-08-16  Bruno Haible  <bruno@clisp.org>
15712         stdnoreturn: Fix test compilation failure on Cygwin.
15713         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
15714         <stdnoreturn.h> replacement.
15715         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
15716         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
15718 2017-08-16  Bruno Haible  <bruno@clisp.org>
15720         thread: Fix conflict with pthread_sigmask module.
15721         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
15722         it's defined as a macro.
15723         * modules/thread (Depends-on): Add pthread_sigmask.
15725 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
15727         rename: port better to NetBSD
15728         * doc/posix-functions/rename.texi (rename): NetBSD 7
15729         does not have the link-count bug.
15730         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
15731         broken merely because rename ("a", "b") removes "a" when the two
15732         names are hard links to the same file.
15734 2017-08-16  Bruno Haible  <bruno@clisp.org>
15736         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
15737         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
15738         the target file names with '$(srcdir)/'.
15739         * modules/unicase/locale-language (Makefile.am): Likewise.
15740         * modules/unicase/special-casing (Makefile.am): Likewise.
15741         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
15742         * modules/unictype/category-byname (Makefile.am): Likewise.
15743         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
15744         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
15745         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
15746         * modules/unictype/property-byname (Makefile.am): Likewise.
15747         * modules/unictype/scripts (Makefile.am): Likewise.
15748         * modules/uninorm/composition (Makefile.am): Likewise.
15750 2017-08-16  Bruno Haible  <bruno@clisp.org>
15752         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
15753         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
15754         value for OpenBSD.
15756 2017-08-16  Bruno Haible  <bruno@clisp.org>
15758         rename, renameat: Update doc regarding NetBSD.
15759         * doc/posix-functions/rename.texi: Clarify that when using
15760         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
15761         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
15762         version.
15764 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15766         renameat2: port better to macOS
15767         * lib/renameat2.c (renameat2): Use renameatx_np if available.
15769         futimens: don’t assume struct timespec layout
15770         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
15771         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
15772         * tests/test-fdutimensat.c (main):
15773         * tests/test-futimens.h (test_futimens):
15774         * tests/test-lutimens.h (test_lutimens):
15775         * tests/test-utimens.h (test_utimens):
15776         * tests/test-utimensat.c (main):
15777         Don’t assume that struct timespec is a two-member structure in
15778         tv_sec, tv_nsec order.  Although this is true on all platforms we
15779         know about, POSIX does not guarantee it.
15781         rename: document+test NetBSD rename
15782         Test failure reported by Bruno Haible in:
15783         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
15784         This is an area where NetBSD is better-behaved than POSIX,
15785         so allow the NetBSD behavior in tests.
15786         * doc/posix-functions/rename.texi:
15787         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
15788         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
15790 2017-08-15  Bruno Haible  <bruno@clisp.org>
15792         renameat: Ensure declaration in <stdio.h> on NetBSD.
15793         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
15794         * doc/posix-functions/renameat.texi: Mention this problem.
15796 2017-08-15  Bruno Haible  <bruno@clisp.org>
15798         duplocale: Work around NetBSD 7.0 bug.
15799         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
15800         * lib/duplocale.c: Add comment about NetBSD problem.
15801         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
15803 2017-08-15  Bruno Haible  <bruno@clisp.org>
15805         duplocale tests: Verify use with *_l functions.
15806         * modules/duplocale-tests (configure.ac): Test for uselocale and
15807         some *_l functions.
15808         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
15809         from main.
15810         (get_locale_dependent_values_from, test_with_locale_parameter): New
15811         functions.
15812         (main): Test both test_with_uselocale and test_with_locale_parameter.
15814 2017-08-15  Bruno Haible  <bruno@clisp.org>
15816         extensions: Enable NetBSD specific extensions.
15817         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
15819 2017-08-14  Bruno Haible  <bruno@clisp.org>
15821         open, openat: Update doc about O_CLOEXEC.
15822         * doc/posix-functions/open.texi: More concrete list of platforms.
15823         * doc/posix-functions/openat.texi: Likewise.
15825 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
15827         open: support O_CLOEXEC
15828         * NEWS, doc/posix-functions/open.texi:
15829         * doc/posix-functions/openat.texi: Document this.
15830         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
15831         (GNULIB_defined_O_CLOEXEC): New symbol.
15832         * lib/open.c: Include cloexec.h.
15833         (open): Support O_CLOEXEC.
15834         * lib/openat.c: Include cloexec.h.
15835         (rpl_openat): Support O_CLOEXEC.
15836         * lib/popen-safer.c: Do not include cloexec.h.
15837         (open_noinherit): Remove.
15838         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
15839         * lib/save-cwd.c: Do not include cloexec.h.
15840         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
15841         * m4/open-cloexec.m4: New file.
15842         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
15843         Replace 'open' if O_CLOEXEC is not present.
15844         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
15845         Replace 'openat' if O_CLOEXEC is not present.
15846         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
15847         * modules/open (Files): Add m4/open-cloexec.m4.
15848         (Depends-on): Depend on cloexec if replacing 'open'.
15849         * modules/openat (Files): Add m4/open-cloexec.m4.
15850         (Depends-on): Depend on cloexec if replacing openat.
15851         * modules/popen-safer (Depends-on): Remove cloexec.
15852         * modules/save-cwd (Depends-on): Remove cloexec, and add
15853         fd-safer-flag and 'open'.
15855 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
15857         reallocarray: minor fixes
15858         * doc/glibc-functions/reallocarray.texi: Update version numbers.
15859         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
15860         * modules/reallocarray (License): Change from GPL to LGPL.
15861         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
15862         Indent properly and don't use tabs.
15864 2017-08-13  Darshit Shah  <darnir@gnu.org>
15866         reallocarray: New module
15867         reallocarray is a new function in glibc 2.26 to safely allocate an array
15868         of memory locations with integer overflow protection.
15869         * MODULES.html.sh: Add reallocarray.
15870         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
15871         * lib/reallocarray.c: New file to implement module reallocarray.
15872         * lib/stdlib.in.h: Add function declarations for reallocarray.
15873         * m4/reallocarray.m4: New file.
15874         * m4/stdlib_h.m4: Declare reallocarray.
15875         * modules/reallocarray: New file.
15876         * modules/reallocarray-test: New file.
15877         * modules/stdlib: Coerce stdlib.h to export reallocarray.
15878         * tests/test-reallocarray.c: New test.
15880 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15882         dirent-safer: fix cloexec race
15883         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
15884         (opendir_safer): Use F_DUPFD_CLOEXEC.
15885         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
15886         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
15887         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
15888         instead of dup_safer.
15890         fts: fix cloexec races
15891         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
15892         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
15893         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
15894         (fd_ring_check): Set cloexec flag on new file descriptors.
15895         (fts_build, fd_ring_check): While we’re at it, make sure the
15896         resulting file descriptor is not 0, 1, or 2, since that is easy.
15898 2017-08-11  Bruno Haible  <bruno@clisp.org>
15900         fts tests: Fix link error.
15901         Reported by Tom G. Christensen in
15902         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
15903         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
15905 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15907         fts: port recent changes to CentOS 6
15908         Problem reported by Tom G. Christensen in:
15909         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
15910         * lib/fts.c (fsword): New type.
15911         (struct dev_type, filesystem_type): Use it.
15912         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
15913         Also, check for f_type only if fstatfs and sys/vfs.h work.
15915 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15917         tempname: do not depend on secure_getenv
15918         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
15919         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
15920         * modules/tempname (Depends-on): Remove secure_getenv.
15922 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15924         extensions: add _OPENBSD_SOURCE
15925         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
15927 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
15928             Bruno Haible  <bruno@clisp.org>
15930         manywarnings: Add support for C++.
15931         * build-aux/g++-warning.spec: New file.
15932         * m4/manywarnings-c++.m4: New file.
15933         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
15934         redirects to manywarnings-c++.m4.
15935         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
15937 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15939         git-version-gen: another fix for tags with "-"
15940         * build-aux/git-version-gen: Improve fix for tags containing "-".
15941         Suggested by Markus Armbruster in:
15942         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
15944 2017-08-06  Bruno Haible  <bruno@clisp.org>
15946         warnings, manywarnings: Add support for multiple languages, not just C.
15947         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
15948         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
15949         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
15950         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
15951         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
15952         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
15953         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
15954         of the current language. If C++ is the current language, modify
15955         WARN_CXXFLAGS instead of WARN_CFLAGS.
15956         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
15957         gl_MANYWARN_ALL_GCC.
15958         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
15960 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
15962         git-version-gen: Fix for tags containing '-'
15964         Really old versions of git-describe (before v1.5.0, Feb 2007)
15965         don't have the number of commits in their long format output,
15966         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
15967         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
15968         recognizes both patterns, and normalizes the old format to the new one.
15970         Unfortunately, this normalization code gets confused when the tag
15971         contains '-'.  Reproducer:
15973             $ git-tag -m test v0.2-rc1
15974             $ build-aux/git-version-gen .tarball-version; echo
15975             build-aux/git-version-gen: WARNING: git rev-list failed
15976             UNKNOWN
15978         We take exact tag "v0.2-rc1" for the old format, extract the presumed
15979         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
15980         commits since tha tag.  Fails, because tag "v0.2" does not exist.
15982         * git-version-gen: We could perhaps drop support for versions from
15983         more than a decade ago.  But tightening the pattern match is easy
15984         enough, so do that.  Still breaks when you use version tags ending in
15985         something matching -g????, but you arguably get what you deserve then.
15987 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15989         valgrind-tests: use ls, and cache
15990         * m4/valgrind-tests.m4: Test ls, not bash.
15991         Problem reported by Reuben Thomas.
15992         Also, cache the result so that it can be overridden.
15994 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15996         manywarnings: port to 64-bit GCC builds of Emacs
15997         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
15998         object size rather than hardwiring 2147483647.  This is needed to
15999         build GNU Emacs, which has one conditional (and used
16000         only-in-theory) call to malloc with a literal greater than
16001         2147483647.
16003 2017-08-04  Bruno Haible  <bruno@clisp.org>
16005         Relax the license of some modules with no runtime code.
16006         * modules/std-gnu11 (License): Set to 'unlimited'.
16007         * modules/c99 (License): Likewise.
16008         Reported by Reuben Thomas <rrt@sc3d.org>.
16009         * modules/d-ino (License): Set to 'LGPL'.
16010         * modules/host-os (License): Likewise.
16011         * modules/longlong (License): Likewise.
16013 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16015         renameat2: port to RHEL 7 + NFS
16016         * lib/renameat2.c (renameat2) [SYS_renameat2]:
16017         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
16018         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
16020 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16022         renameat2: port to non-renameat platforms
16023         Problem reported for MSVC-2015 by Gisle Vanem in:
16024         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
16025         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
16026         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
16028 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16030         manywarnings: port to 32-bit GCC bug
16031         Problem reported by Pino Toscano in:
16032         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
16033         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
16034         not 2**63 - 1, to work around the following GCC bug:
16035         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
16037 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
16039         backupfile: new function to validate backup suffix
16040         * lib/backupfile.c (set_simple_backup_suffix): New function.
16041         (backupfile_internal): Use it.
16043         canonicalize: fix EOVERFLOW commentary
16044         Problem reported by Bruno Haible in:
16045         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
16046         * lib/canonicalize.c (canonicalize_filename_mode):
16047         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
16049         Don't interpret EOVERFLOW to mean nonexistence
16050         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
16051         may be EOVERFLOW; this is likely more useful than reporting the
16052         stat errno.
16053         * lib/glob.c (link_stat): Rename from link_exists2_p and
16054         return -1/0 instead of 0/1.  Caller changed.
16055         * lib/glob.c (link_exists_p):
16056         * lib/renameat2.c (rename_noreplace, renameat2):
16057         * lib/tempname.c (try_nocreate):
16058         If errno == EOVERFLOW then the directory entry exists, so do not
16059         act as if it does not exist.
16061         backup-rename: new module
16062         It is like backupfile, except it avoids some race conditions,
16063         and it does not output to stderr or exit.
16064         * MODULES.html.sh: Add backup-rename.
16065         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
16066         * modules/backup-rename: New files.
16067         * lib/backupfile.c: Turn this into an internals file, which
16068         contains code common to backupfile and backup_rename.  Include
16069         backupfile-internal.h instead of backupfile.h.  Do not include
16070         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
16071         renameat2.h and fcntl.h.
16072         (BACKUP_NOMEM): New constant.
16073         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
16074         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
16075         (backupfile_internal): Rename from find_backup_file_name.
16076         Support new arg RENAME.
16077         (backup_args, backup_types, get_version, xget_version):
16078         Move to lib/backup-find.c.
16079         * lib/backupfile.h (backup_file_rename): New decl.
16080         * modules/backupfile (Files): Add lib/backup-internal.h,
16081         lib/backup-find.c.
16082         (Depends-on): Add dirfd, fcntl, renameat2.
16083         (lib_SOURCES): Add backup-find.c.
16085         renameat2: port better to older Solaris
16086         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
16087         Add goto to use a label, to silence picky compilers.
16089         fts-tests: port to gcc -Wwrite-strings
16090         * tests/test-fts.c (base, base_d): New static vars.
16091         (argv, remove_tree, main): Use them.
16093 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
16095         relocatable-lib{,-lgpl}: improve documentation
16096         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
16097         Various other updates.
16099 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
16100             Bruno Haible  <bruno@clisp.org>
16102         relocatable-lib{,-lgpl}: add Valgrind suppressions
16103         * lib/relocatable.valgrind: New file.
16104         * modules/relocatable-lib (Files): Add relocatable.valgrind.
16105         * modules/relocatable-lib-lgpl: Likewise.
16107 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
16109         relocatable: Make the license on the sources the GPL.
16110         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
16111         LGPL, which was a special case so that the relocatable source files
16112         could be used without gnulib-tool, to GPL. They can still be used under
16113         the LGPL, using the --lgpl option to gnulib-tool.
16115 2017-07-30  Bruno Haible  <bruno@clisp.org>
16117         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
16118         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
16119         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
16120         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
16121         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
16123 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
16125         faccessat: document AT_SYMLINK_NOFOLLOW issue
16126         * doc/posix-functions/faccessat.texi: Modernize platform list.
16127         Document AT_SYMLINK_NOFOLLOW limitation.
16129         renameat2: port to Solaris 10
16130         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
16131         with AT_SYMLINK_NOFOLLOW (which is not portable).
16132         (renameat): Undef before using, to avoid endless recursion when
16133         the replacement renameat calls renameat2 which calls the
16134         replacement renameat.
16135         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
16136         * modules/renameat2 (Depends-on): Remove faccessat.
16137         * modules/renameat-tests (test_renameat_LDADD):
16138         * modules/renameat2-tests (test_renameat2_LDADD):
16139         Remove $(LIB_EACCESS).
16141         renameat2: new module
16142         Although the Linux syscall renameat2 is not in glibc (yet?), it is
16143         useful to have access to its RENAME_NOREPLACE flag.
16144         * MODULES.html.sh (func_all_modules): Add renameat2.
16145         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
16146         * modules/renameat2-tests, tests/test-renameat2.c: New files.
16147         * lib/renameat.c (renameat): Move most of the implementation
16148         to renameat2, and just call renameat2.
16149         * modules/renameat (Files): Remove lib/at-func2.c.
16150         (Depends-on): Depend only on renameat2.
16151         (Include): Remove <fcntl.h>.
16152         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
16153         since renameat (via renameat2) might use faccessat.
16155 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
16157         vc-list-files: Adjust the script to support git worktrees
16158         * build-aux/vc-list-files: Require existence, not directory.
16160 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16162         doc: bring MODULES.html.sh up to date
16163         Somehow a few months ago we stopped updating MODULES.html.sh.
16164         I don’t recall explicitly deciding this, so I updated it now.
16165         Alternatively I suppose we could remove it.
16166         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
16167         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
16168         truncate, utime, utime-h, windows-stat-inodes,
16169         windows-stat-override, windows-stat-timespec, year2038.  Sort.
16171 2017-07-26  Jim Meyering  <meyering@fb.com>
16173         fprintftime: fix build-break caused by recent renaming
16174         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
16175         "strftime.c".
16176         * modules/fprintftime: Depend directly on nstrftime.
16178 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
16180         regex: work with GCC7's -Werror=implicit-fallthrough=
16181         * lib/regex_internal.h (FALLTHROUGH): New macro.
16182         * lib/regcomp.c (peek_token_bracket, parse_expression):
16183         * lib/regexec.c (check_node_accept): Use it.
16185 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
16187         fts: simplify fts_build
16188         * lib/fts.c (fts_build): Simplify, and be lazier about
16189         calling leaf_optimization.
16191         fts: three levels of leaf optimization
16192         * lib/fts.c (enum leaf_optimization): New type with three values.
16193         (S_MAGIC_AFS): New macro.  Sort them.
16194         (leaf_optimization): Rename from leaf_optimization_applies, and
16195         return enum leaf_optimization instead of bool.  All uses changed.
16196         Add cases for unknown type and for AFS.
16197         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
16199         fts: cache dirent_inode_sort_may_be_useful too
16200         * lib/fts.c (struct dev_type): New struct.
16201         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
16202         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
16203         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
16204         Now takes FTSENT const *, not int.  All uses changed.  Use
16205         filesystem_type to cache.
16206         (link_count_optimize_ok): Remove.  Caller changed to use
16207         leaf_optimization_applies, which now uses shared cache.
16209         fts: introduce MIN_DIR_NLINK
16210         * lib/fts.c (MIN_DIR_NLINK): New constant.
16211         Use it instead of 2, whenever we are talking about link counts.
16213         fts: nlink_t signedness fixups
16214         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
16215         so that root need not be a special case later.
16216         (fts_read): Remove now-redundant test for fts_level.
16217         Do not assume that nlink_t is signed.
16218         (fts_build): Remove useless decrement of nlinks.
16219         (fts_stat): Avoid unlikely signed integer overflow later, if
16220         nlink_t is signed.
16222         fts-tests: new module
16223         * modules/fts-tests, tests/test-fts.c: New files.
16225 2017-07-23  Bruno Haible  <bruno@clisp.org>
16227         Rename module 'strftime' to 'nstrftime'.
16228         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
16229         * lib/nstrftime.c: Renamed from lib/strftime.c.
16230         * modules/nstrftime: Renamed from modules/strftime.
16231         (Files, Makefile.am): Update.
16232         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
16233         Fix comment.
16234         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
16235         (Files, Makefile.am): Update.
16236         * modules/strftime: New file, an obsolete indirection.
16237         * doc/posix-functions/strftime.texi: Update reference.
16238         * config/srclist.txt: Update info.
16239         * NEWS: Mention the change.
16241 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
16243         malloca: Silence a warning from clang's memory sanitizer.
16244         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
16245         (freea): Use it.
16247 2017-07-18  Bruno Haible  <bruno@clisp.org>
16249         host-cpu-c-abi: Fix detection of MIPS ABI.
16250         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
16251         ABI, not the CPU instruction set.
16253 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
16255         explicit_bzero: new module
16256         The explicit_bzero function has been added to glibc.
16257         This module is intended to supports its use in GNU programs.
16258         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
16259         * m4/explicit_bzero.m4, modules/explicit_bzero:
16260         New files.
16261         * doc/gnulib.texi (Glibc string.h): Link to new doc.
16262         * lib/string.in.h (explicit_bzero): Declare.
16263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
16264         * modules/string (string.h): Substitute its vars.
16266 2017-07-16  Bruno Haible  <bruno@clisp.org>
16268         threadlib: Support static linking.
16269         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
16270         set gl_cv_have_weak to 'no'.
16272 2017-07-16  Bruno Haible  <bruno@clisp.org>
16274         unicase/locale-language: Fix link dependencies.
16275         * modules/unicase/locale-language (Link): New section.
16276         * modules/unicase/locale-language-tests (Makefile.am): Link
16277         test-locale-language program with $(LIBTHREAD).
16279 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
16281         sys_socket: Add support for OpenVMS.
16282         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
16283         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
16285 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
16287         sys_resource: Add support for OpenVMS.
16288         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
16289         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
16291 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
16292             Bruno Haible  <bruno@clisp.org>
16294         math: Add support for OpenVMS.
16295         * lib/math.in.h [__VMS]: Include <fp.h>.
16296         * doc/posix-headers/math.texi: Mention OpenVMS issues.
16298 2017-07-15  Bruno Haible  <bruno@clisp.org>
16300         getdtablesize: Add minimal support for OpenVMS.
16301         Reported by John E. Malmberg <wb8tyw@qsl.net>.
16302         * modules/getdtablesize (Description): Fix.
16303         * lib/getdtablesize.c: Fix comment.
16304         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
16305         getdtablesize() function, even though the test fails.
16306         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
16307         limitation on OpenVMS.
16309 2017-07-13  Bruno Haible  <bruno@clisp.org>
16311         Revisit cross-compilation guesses.
16312         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
16314 2017-07-13  Bruno Haible  <bruno@clisp.org>
16316         Improve cross-compilation guesses for native Windows.
16317         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
16318         Windows.
16319         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
16320         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
16321         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
16322         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
16323         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
16324         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16325         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16326         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16327         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
16328         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
16329         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
16330         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
16331         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
16332         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
16333         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
16334         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
16335         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
16336         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
16337         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
16338         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
16339         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16340         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
16341         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
16342         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
16343         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
16344         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
16345         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
16346         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
16347         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
16348         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
16349         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16350         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
16351         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
16352         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
16353         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
16354         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
16355         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
16356         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
16357         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
16358         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
16359         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
16360         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
16361         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
16362         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
16363         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
16364         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
16365         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
16366         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
16367         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
16368         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
16369         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
16370         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
16371         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
16372         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
16373         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
16374         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
16375         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
16376         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
16377         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
16378         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
16379         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
16380         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
16381         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
16382         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
16383         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
16384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16385         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
16386         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
16387         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
16388         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
16389         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
16390         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
16391         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
16392         * m4/regex.m4 (gl_REGEX): Likewise.
16393         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
16394         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
16395         gl_FUNC_REMAINDERF_WORKS): Likewise.
16396         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
16397         gl_FUNC_REMAINDERL_WORKS): Likewise.
16398         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
16399         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
16400         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16401         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16402         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16403         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16404         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
16405         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
16406         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
16407         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16408         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
16409         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
16410         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
16411         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
16412         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
16413         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16414         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16415         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16416         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
16417         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
16418         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
16419         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
16420         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16421         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
16422         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
16423         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16424         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
16425         Likewise.
16426         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16427         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
16428         Windows. Enable also on Autoconf 2.70.
16429         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
16430         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
16431         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
16432         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
16433         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
16434         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
16435         for native Windows.
16436         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
16437         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
16439 2017-07-13  Bruno Haible  <bruno@clisp.org>
16441         Improve cross-compilation guesses for native Windows.
16442         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
16443         Windows.
16444         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
16445         memchr.m4.
16446         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
16448 2017-07-13  Bruno Haible  <bruno@clisp.org>
16450         Improve cross-compilation guesses for native Windows.
16451         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
16452         native Windows.
16453         (gl_FUNC_FFLUSH): Update accordingly.
16454         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
16455         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
16457 2017-07-11  Bruno Haible  <bruno@clisp.org>
16459         More systematic m4 quoting and indentation.
16460         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
16461         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
16462         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
16463         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
16464         * m4/host-os.m4 (gl_HOST_OS): Likewise.
16465         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
16466         gl_WINSIZE_IN_PTEM): Likewise.
16467         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
16468         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
16469         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
16470         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
16471         Correct indentation.
16472         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
16473         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
16474         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
16475         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
16476         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
16477         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
16479 2017-07-10  Bruno Haible  <bruno@clisp.org>
16481         round, roundf: Avoid compiler warning in configure test.
16482         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
16483         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16485 2017-07-10  Bruno Haible  <bruno@clisp.org>
16487         getlogin tests: Avoid #ifdefs when sharing code between modules.
16488         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
16489         * modules/getlogin-tests (Files): Likewise. Remove
16490         tests/test-getlogin_r.c.
16491         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
16492         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
16493         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
16494         getlogin().
16496 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
16498         getlogin: don’t assume one name per uid
16499         Problem reported by Wolfgang F. Muthmann (Bug#27640).
16500         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
16501         (ttyname): Remove test.
16502         * modules/getlogin_r-tests (ttyname): Remove test.
16503         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
16504         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
16505         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
16506         getlogin rather than getlogin_r.  This avoids code duplication.
16507         (main): Use isatty and fstat rather than ttyname and stat.
16508         Use getpwnam instead of getpwuid, to be portable to test platforms
16509         that have multiple login names for the same uid.
16511 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
16512             Bruno Haible  <bruno@clisp.org>
16514         glob: Fix more memory leaks.
16515         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
16516         returning.
16517         Reported by Tim Rühsen.
16519 2017-07-10  Bruno Haible  <bruno@clisp.org>
16521         Make sure $host and $host_os are defined when used.
16522         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
16523         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
16524         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
16525         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
16526         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
16527         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
16528         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
16529         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
16530         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
16531         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
16532         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
16533         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
16534         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
16535         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
16536         m4_ifdef block.
16538 2017-07-09  Bruno Haible  <bruno@clisp.org>
16540         *printf: Fix cross-compilation guess for Solaris.
16541         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
16542         2010-12-21.
16544 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16545             Bruno Haible  <bruno@clisp.org>
16547         vasnprintf: port to macOS 10.13
16548         Problem reported by comex in:
16549         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
16550         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
16552 2017-07-06  Bruno Haible  <bruno@clisp.org>
16554         imaxdiv tests: Fix logic.
16555         * tests/test-imaxdiv.c (main): Use == instead of =.
16556         Reported by Coverity.
16558 2017-07-06  Bruno Haible  <bruno@clisp.org>
16560         uninorm/filter: Fix use-after-free bug.
16561         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
16562         sortbuf == filter->sortbuf invariant.
16563         Reported by Coverity.
16565 2017-07-06  Bruno Haible  <bruno@clisp.org>
16567         glob: Fix more memory leaks.
16568         * lib/glob.c (glob): Free dirname before returning.
16569         Reported by Coverity and Tim Rühsen.
16571 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16573         parse-datetime: fix uninit var bug
16574         Reported by Bruno Haible in:
16575         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
16576         * lib/parse-datetime.y (parse_datetime2): Do not use
16577         uninitialized.
16579 2017-07-05  Bruno Haible  <bruno@clisp.org>
16581         doc: Update for MSVC 14.
16582         * doc/posix-headers/*.texi: Add info about MSVC 14.
16583         * doc/posix-functions/*.texi: Likewise.
16584         * doc/pastposix-functions/*.texi: Likewise.
16585         * doc/glibc-headers/*.texi: Likewise.
16586         * doc/glibc-functions/*.texi: Likewise.
16588 2017-07-05  Bruno Haible  <bruno@clisp.org>
16590         sched: Fix build failure on native Windows (regression from 2017-06-19).
16591         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
16593 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
16595         stdioext: Port to OpenVMS.
16596         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
16597         * lib/fpending.c (fpending): Remove non-working VMS specific code.
16598         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
16599         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
16600         * lib/fpurge.c (fpurge): Likewise.
16601         * lib/freadable.c (freadable): Likewise.
16602         * lib/freadahead.c (freadahead): Likewise.
16603         * lib/freading.c (freading): Likewise.
16604         * lib/freadptr.c (freadptr): Likewise.
16605         * lib/freadseek.c (freadseek): Likewise.
16606         * lib/fseeko.c (fseeko): Likewise.
16607         * lib/fseterr.c (fseterr): Likewise.
16608         * lib/fwritable.c (fwriteable): Likewise.
16609         * lib/fwriting.c (fwriting): Likewise.
16611 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
16613         glob: Declare variables at the very start of their scope.
16614         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
16615         its separate scope, so the functions will compile on Haiku.
16617 2017-07-01  Bruno Haible  <bruno@clisp.org>
16619         logbl: Work around a glibc bug on PowerPC64LE.
16620         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
16621         numbers.
16622         * doc/posix-functions/logbl.texi: Update.
16624 2017-06-29  Bruno Haible  <bruno@clisp.org>
16626         stat, fstat: Compile stat-w32.c only on platforms that need it.
16627         Suggested by Paul Eggert.
16628         * modules/stat (configure.ac): Request stat-w32.o only on native
16629         Windows.
16630         * modules/fstat (configure.ac): Likewise.
16632 2017-06-25  Bruno Haible  <bruno@clisp.org>
16634         stat: Improve last change.
16635         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
16637 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16639         stat: port to xlc 12.01
16640         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
16641         12.01 complains "Compilation unit is empty."
16643 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
16645         xalloc-oversized: port to icc
16646         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
16647         __builtin_mul_overflow if ICC is defined, as this results in
16648         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
16649         20170213.
16651 2017-06-19  Bruno Haible  <bruno@clisp.org>
16653         classpath: Avoid including config.h twice, as it produces warnings.
16654         Reported by John E. Malmberg <wb8tyw@gmail.com>.
16655         * lib/classpath.h: Conditionalize the include of config.h.
16657 2017-06-19  Bruno Haible  <bruno@clisp.org>
16658             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
16660         sched: Fix compilation failure on OpenVMS.
16661         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
16662         test whether <pthread.h> exists and defines struct sched_param.
16663         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
16665 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
16667         diffseq: port to GCC 7 with --enable-gcc-warnings
16668         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
16669         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
16670         not complain about big_snake being defined but not used.
16672 2017-06-15  Bruno Haible  <bruno@clisp.org>
16674         gettext-h: Update theoretical condition for use of variable size arrays.
16675         Reported by Paul Eggert.
16676         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
16677         to include the theoretical condition for availability of variable size
16678         arrays, if we could trust the value of __STDC_VERSION__.
16680 2017-06-12  Bruno Haible  <bruno@clisp.org>
16682         Relicense some modules under LGPLv2+.
16683         Daiki Ueno's approval is in
16684         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
16685         * modules/uniwidth/base (License): Change to LGPLv2+.
16686         * modules/uniwidth/width (License): Likewise.
16688 2017-06-11  Bruno Haible  <bruno@clisp.org>
16690         localename: Fix test failure on DragonFly BSD.
16691         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
16692         like FreeBSD.
16694 2017-06-11  Bruno Haible  <bruno@clisp.org>
16696         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
16697         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
16698         * lib/float.in.h: Likewise.
16699         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
16701 2017-06-11  Bruno Haible  <bruno@clisp.org>
16703         gnulib-tool: Clean up after autotools.
16704         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
16705         useless directory left over by the Autotools.
16707 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
16709         getopt-posix: port to glibc 2.25.90
16710         Problem reported by Daniel P. Berrange in:
16711         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
16712         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
16713         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
16714         #undef if __GETOPT_PREFIX is defined.
16716 2017-06-11  Bruno Haible  <bruno@clisp.org>
16718         strtod-obsolete: Fix license.
16719         * modules/strtod-obsolete (License): Change to LGPL.
16721 2017-06-10  Jim Meyering  <meyering@fb.com>
16723         maint: update to work with GCC7's -Werror=implicit-fallthrough=
16724         * lib/savewd.c (FALLTHROUGH): Define.
16725         (savewd_save, savewd_restore): Use this, rather than a comment,
16726         whenever one switch case falls through into the next.
16728 2017-06-08  Bruno Haible  <bruno@clisp.org>
16730         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
16731         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
16732         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
16733         case.
16735 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
16737         doc: remove robots, add prereqs
16738         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
16739         builds.  Simon's robot site does not seem to be up, so remove
16740         mentions of it for now.
16742 2017-06-08  Bruno Haible  <bruno@clisp.org>
16744         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
16745         * gnulib-tool (func_symlink_target): New function, extracted from
16746         func_symlink.
16747         (func_symlink, func_symlink_if_changed): Use it.
16749 2017-06-08  Bruno Haible  <bruno@clisp.org>
16751         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
16752         * gnulib-tool (func_ln_s): Determine cp_src correctly.
16754 2017-06-07  Bruno Haible  <bruno@clisp.org>
16756         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
16757         Reported by John E. Malmberg <wb8tyw@gmail.com> in
16758         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
16759         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
16760         override, pass 2 arguments to getcwd, not 3.
16762 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
16764         same-inode: port better to VMS 8.2 and later
16765         Problem reported by John E. Malmberg in:
16766         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
16767         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
16768         Use the usual POSIX definition.
16769         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
16771 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16773         error: fix POSIX violation for va_end
16774         Problem reported by Bruno Haible in:
16775         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
16776         * lib/error.c (error_tail): Do not call va_end here.
16777         (error, error_at_line): Call it here instead.
16779 2017-05-28  Bruno Haible  <bruno@clisp.org>
16781         c-strtod: Make it usable in C++ mode.
16782         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
16784 2017-05-25  Jim Meyering  <meyering@fb.com>
16786         quotearg: fix compilation failure due to FALLTHROUGH misuse
16787         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
16788         macro back to /* fall through */ comment.  The macro can apply only
16789         to a following case statement.  Reported by Assaf Gordon.
16791 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
16793         intprops: port to recent icc
16794         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
16795         but does not support __builtin_add_overflow etc.
16796         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
16797         Define to 0.
16799 2017-05-23  Karl Berry  <karl@freefriends.org>
16801         * config/srclist.txt (iconv.m4): sync broken, comment out
16802         until (hopefully) the next gettext release.
16804 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
16806         Remove repeated words in comments.
16808 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
16810         fallthrough: reinstate a FALLTHROUGH instance in quotearg
16811         quotearg.c: Reinstate this instance which is significant
16812         when the if branch is not taken.
16814 2017-05-21  Bruno Haible  <bruno@clisp.org>
16816         gnulib-tool: Add options to create hard links.
16817         * gnulib-tool (func_usage): Document options --hardlink,
16818         --local-hardlink, --more-hardlinks.
16819         (func_symlink): Renamed from func_ln.
16820         (func_symlink_if_changed): Renamed from func_ln_if_changed.
16821         (func_hardlink): New function.
16822         (copymode, lcopymode): New variables.
16823         (symbolic, lsymbolic): Remove variables.
16824         (Options): Implement options --hardlink, --local-hardlink,
16825         --more-hardlinks.
16826         (func_should_link): Renamed from func_should_symlink. Set copyaction.
16827         (func_add_file, func_update_file): Update invocation of
16828         func_should_link. Invoke func_hardlink when appropriate.
16829         (func_import): Update comments.
16830         (func_create_testdir): Update invocation of func_should_link. Invoke
16831         func_hardlink when appropriate.
16832         Finally, invoke 'git update-index --refresh' to mitigate the effects of
16833         the hard links on git.
16835 2017-05-20  Bruno Haible  <bruno@clisp.org>
16837         argp: Simplify bit manipulation.
16838         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
16839         on a signed integer type.
16841 2017-05-20  Bruno Haible  <bruno@clisp.org>
16843         Avoid wrong configure results with gcc -fsanitize=address.
16844         This completes the work done on 2016-02-06 on this topic.
16845         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
16846         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
16847         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16848         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16849         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
16850         returning.
16851         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
16852         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
16853         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16854         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
16855         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
16856         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
16857         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
16858         free allocated memory before returning.
16859         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16860         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
16861         objects before returning.
16862         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
16863         returning.
16865 2017-05-20  Bruno Haible  <bruno@clisp.org>
16867         gnulib-tool: Don't create hard links between gnulib and its testdirs.
16868         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
16870 2017-05-20  Bruno Haible  <bruno@clisp.org>
16872         argp, tsearch tests: Fix file list.
16873         * modules/argp-tests (Files): Add tests/macros.h.
16874         * modules/tsearch-tests (Files): Likewise.
16876 2017-05-20  Bruno Haible  <bruno@clisp.org>
16878         getopt-posix tests: Remove redundant include.
16879         * tests/test-getopt.h: Don't include "macros.h". It's already included
16880         by tests/test-getopt-main.h.
16882 2017-05-19  Jim Meyering  <meyering@fb.com>
16884         dfa: two small simplifications
16885         * lib/dfa.c (build_state): Avoid repeating longer expressions.
16887 2017-05-18  Jim Meyering  <meyering@fb.com>
16889         fallthrough: update for GCC 7/8
16890         * lib/quotearg.c (FALLTHROUGH): New macro.
16891         Use it whenever one switch case falls through into the next,
16892         replacing "/* Fall through */" comments.  This exposed one
16893         instance of an unwarranted "fall through" comment: unwarranted
16894         because it preceded a "goto" label not a case statement.
16895         * lib/freopen-safer.c (freopen_safer): Likewise.
16896         * lib/fts.c (leaf_optimization_applies): Likewise.
16897         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
16898         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
16899         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
16900         tests/macros.h for the definition.
16901         * tests/test-argp.c (group1_parser): Likewise.
16902         * tests/test-getopt.h (getopt_loop): Likewise.
16904 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16906         argp: fix shift bug
16907         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
16908         behavior on shift overflow, caught by gcc -fsanitize=undefined.
16910         argp: fix pointer-subtraction bug
16911         * lib/argp-help.c (hol_append): Don’t subtract pointers to
16912         different arrays, as this can run afoul of -fcheck-pointer-bounds.
16913         See the thread containing Bruno Haible’s report in:
16914         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
16916 2017-05-19  Bruno Haible  <bruno@clisp.org>
16918         printf-posix tests: Avoid test failure with "gcc --coverage".
16919         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
16920         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
16921         than 5000000.
16922         * tests/test-fprintf-posix2.c (main): Likewise.
16924 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16926         closeout: don’t close stderr when sanitizing
16927         * NEWS: Document this.
16928         * lib/closeout.c (__has_feature): New macro, if not already defined.
16929         (SANITIZE_ADDRESS): New constant.
16930         (close_stdout): Don’t close stderr if sanitizing addresses.
16932 2017-05-19  Bruno Haible  <bruno@clisp.org>
16934         get-rusage-data tests: Avoid failure on Linux/glibc.
16935         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
16936         on glibc systems.
16938 2017-05-18  Bruno Haible  <bruno@clisp.org>
16940         localename: Include necessary header files on Cygwin.
16941         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
16942         where NL_LOCALE_NAME is defined.
16944 2017-05-18  Bruno Haible  <bruno@clisp.org>
16946         gettext: Update macros from gettext git.
16947         * m4/intldir.m4: Require Autoconf >= 2.60.
16948         * m4/progtest.m4: Fix typos in copyright notice.
16950 2017-05-18  Bruno Haible  <bruno@clisp.org>
16952         copy-file tests: Fix link error (regression from 2017-05-01).
16953         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16954         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
16955         $(LIB_CLOCK_GETTIME).
16957 2017-05-18  Bruno Haible  <bruno@clisp.org>
16959         unicase/special-casing: Fix incompatibility with gperf-3.0.4
16960         (regression from 2017-02-13).
16961         * lib/unicase/special-casing.in.h: Renamed from
16962         lib/unicase/special-casing.h.
16963         * modules/unicase/special-casing (Files): Add
16964         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
16965         (Makefile.am): Add rule for generating unicase/special-casing.h.
16966         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
16967         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
16968         not "special-casing.h".
16969         * lib/unicase/u*.c: Likewise.
16971 2017-05-17  Bruno Haible  <bruno@clisp.org>
16973         README: Don't ask people to read a TeXinfo file.
16974         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
16975         * README: Tell people how to read the HTML formatted manual.
16977 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
16979         parse-datetime: Fix memleak
16980         * lib/parse-datetime.y (parse_datetime2): Cleanup on
16981         localtime_rz() failure.
16983 2017-05-16  Bruno Haible  <bruno@clisp.org>
16985         javacomp: Fix handle leak.
16986         Found by Coverity.
16987         * lib/javacomp.c (get_classfile_version): Close fd before returning.
16989 2017-05-16  Bruno Haible  <bruno@clisp.org>
16991         relocate: Make it easier to reclaim allocated memory.
16992         * lib/relocatable.h (relocate2): New declaration/macro.
16993         * lib/relocatable.c (relocate2): New function.
16994         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
16995         relocate2 function.
16996         * lib/localcharset.c (relocate2): Define fallback.
16997         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
16998         allocated memory.
16999         * lib/javaversion.c (relocate2): Define fallback.
17000         (javaexec_version): Invoke relocate2 instead of relocate. Free the
17001         allocated memory.
17003 2017-05-16  Bruno Haible  <bruno@clisp.org>
17005         relocate: Simplify EMX specific code.
17006         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
17007         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
17009 2017-05-16  Bruno Haible  <bruno@clisp.org>
17011         sigpipe tests: Fix file list.
17012         * modules/sigpipe-tests (Files): Add tests/macros.h.
17014 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17016         manywarnings: update for GCC 7
17017         * build-aux/gcc-warning.spec:
17018         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
17019         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
17020         requires a non-comment fallthrough attribute.  This is a bit
17021         cleaner than the comment versions.
17022         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
17023         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
17024         Use it whenever one switch case falls through into the next.
17025         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
17026         Use FALLTHROUGH macro.
17028 2017-05-15  Bruno Haible  <bruno@clisp.org>
17030         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
17031         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
17032         @ALLOCA@, not @LTALLOCA@.
17034 2017-05-15  Bruno Haible  <bruno@clisp.org>
17036         sys_select: Avoid "was expanded before it was required" warning.
17037         * modules/sys_select (configure.ac): Require, not invoke,
17038         gl_HEADER_SYS_SELECT.
17040 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
17042         gnulib-tool: improve GNU Make debugging
17043         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
17044         Report autoconf diagnostics when it fails, in the output makefile.
17046 2017-05-14  Bruno Haible  <bruno@clisp.org>
17048         stat-time tests: Improve comment.
17049         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
17051 2017-05-14  Bruno Haible  <bruno@clisp.org>
17053         same-inode: Adapt for windows-stat-inodes.
17054         * lib/same-inode.h: Include <sys/types.h>.
17055         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
17056         * modules/same-inode (Depends-on): Add sys_types.
17058 2017-05-14  Bruno Haible  <bruno@clisp.org>
17060         windows-stat-inodes: New module.
17061         * m4/windows-stat-inodes.m4: New file.
17062         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
17063         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
17064         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
17065         (_GL_WINDOWS_STAT_INODES): New macro.
17066         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
17067         (GetFileInformationByHandleExFunc): New variable.
17068         (initialize): Initialize it.
17069         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
17070         st_ino appropriately.
17071         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
17072         a fallback, because it does not provide st_dev and st_ino values.
17073         * modules/fstat (Depends-on): Add 'verify'.
17074         * modules/windows-stat-inodes: New file.
17075         * doc/windows-stat-inodes.texi: New file.
17076         * doc/gnulib.texi: Include it.
17077         * doc/posix-headers/sys_stat.texi: Mention the new module.
17079 2017-05-14  Bruno Haible  <bruno@clisp.org>
17081         stat-time tests: Workaround for native Windows.
17082         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
17083         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
17084         New variables.
17085         (initialize_filenames): New function.
17086         (main): Invoke it.
17087         (cleanup, prepare_test): Update.
17089 2017-05-14  Bruno Haible  <bruno@clisp.org>
17091         stat-time: Adapt for windows-stat-timespec.
17092         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
17093         entire st_ctim field.
17095 2017-05-13  Jim Meyering  <meyering@fb.com>
17097         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
17098         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
17099         file that uses the assume macro, claiming that verify.h is unused.
17101 2017-05-13  Bruno Haible  <bruno@clisp.org>
17103         Use symbolic values for _WIN32_WINNT.
17104         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
17105         * lib/sethostname.c (_WIN32_WINNT): Likewise.
17107 2017-05-13  Bruno Haible  <bruno@clisp.org>
17109         year2038: New module.
17110         * m4/year2038.m4: New file.
17111         * modules/year2038: New file.
17112         * doc/year2038.texi: New file.
17113         * doc/gnulib.texi: Include it.
17115 2017-05-13  Bruno Haible  <bruno@clisp.org>
17117         largefile: Simplify.
17118         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
17119         of _GL_WINDOWS_64_BIT_ST_SIZE.
17121 2017-05-13  Bruno Haible  <bruno@clisp.org>
17123         largefile: Improve and document.
17124         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
17125         the mingw headers already define 'stat' appropriately.
17126         * modules/largefile (Description): Clarify.
17127         * doc/largefile.texi: New file.
17128         * doc/gnulib.texi: Include it.
17129         * doc/posix-headers/sys_types.texi: Update.
17131 2017-05-13  Bruno Haible  <bruno@clisp.org>
17133         truncate: New module.
17134         * lib/unistd.in.h (truncate): New declaration.
17135         * lib/truncate.c: New file.
17136         * m4/truncate.m4: New file.
17137         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
17138         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
17139         REPLACE_TRUNCATE.
17140         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
17141         HAVE_TRUNCATE, REPLACE_TRUNCATE.
17142         * modules/truncate: New file.
17143         * tests/test-unistd-c++.cc (truncate): Test signature.
17144         * doc/posix-functions/truncate.texi: Mention the new module.
17146         * tests/test-truncate.c: New file.
17147         * modules/truncate-tests: New file.
17149 2017-05-13  Bruno Haible  <bruno@clisp.org>
17151         windows-stat-timespec: New module.
17152         * modules/windows-stat-timespec: New file.
17153         * m4/windows-stat-timespec.m4: New file.
17154         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
17155         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
17156         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
17157         fields st_atim, st_mtim, st_ctim.
17158         (st_atime, st_mtime, st_ctime): Define as macros.
17159         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
17160         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
17161         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
17162         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
17163         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
17164         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
17165         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
17166         FILETIME to 'struct timespec', not 'time_t'.
17167         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
17168         FILETIME to 'struct timespec', not 'time_t'.
17169         * lib/stat-time.h (STAT_TIMESPEC): Define also if
17170         _GL_WINDOWS_STAT_TIMESPEC.
17171         * doc/windows-stat-timespec.texi: New file.
17172         * doc/gnulib.texi: Include it.
17174 2017-05-13  Bruno Haible  <bruno@clisp.org>
17176         windows-stat-override: New module.
17177         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
17178         definition. Define GNULIB_defined_struct_stat.
17179         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
17180         link error if this symbol is used and the corresponding module is not
17181         in use.
17182         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
17183         GNULIB_OVERRIDES_STRUCT_STAT.
17184         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
17185         GNULIB_OVERRIDES_STRUCT_STAT.
17186         * modules/sys_stat (Makefile.am): Substitute
17187         GNULIB_OVERRIDES_STRUCT_STAT.
17188         * modules/windows-stat-override: New file.
17190 2017-05-13  Bruno Haible  <bruno@clisp.org>
17192         fstat: Fix module dependency conditions.
17193         * modules/fstat (Depends-on): Fix typo.
17195 2017-05-13  Bruno Haible  <bruno@clisp.org>
17197         stat, fstat: Complete removal of old native Windows code.
17198         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
17199         * lib/fstat.c: Likewise.
17200         * lib/stat-w32.c: Likewise.
17202 2017-05-13  Bruno Haible  <bruno@clisp.org>
17204         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
17205         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
17207 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17209         getopt-posix: port to mingw
17210         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
17211         Problem reported by Daniel P. Berrage in:
17212         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
17214 2017-05-11  Bruno Haible  <bruno@clisp.org>
17216         gettimeofday: Increase precision on mingw.
17217         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
17218         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
17219         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
17220         GetSystemTimePreciseAsFileTime based implementation always.
17221         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
17222         mingw.
17224 2017-05-11  Bruno Haible  <bruno@clisp.org>
17226         poll: Fix confusion between SOCKETs and FDs on native Windows.
17227         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
17228         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
17230 2017-05-11  Bruno Haible  <bruno@clisp.org>
17232         doc: Clarify doc about socket functions on native Windows.
17233         This reworks doc that was added on 2008-09-29.
17234         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
17235         clearer wording.
17236         * doc/posix-functions/accept.texi: Use clearer wording.
17237         * doc/posix-functions/bind.texi: Likewise.
17238         * doc/posix-functions/connect.texi: Likewise.
17239         * doc/posix-functions/getpeername.texi: Likewise.
17240         * doc/posix-functions/getsockname.texi: Likewise.
17241         * doc/posix-functions/getsockopt.texi: Likewise.
17242         * doc/posix-functions/ioctl.texi: Likewise.
17243         * doc/posix-functions/listen.texi: Likewise.
17244         * doc/posix-functions/recv.texi: Likewise.
17245         * doc/posix-functions/recvfrom.texi: Likewise.
17246         * doc/posix-functions/send.texi: Likewise.
17247         * doc/posix-functions/sendto.texi: Likewise.
17248         * doc/posix-functions/setsockopt.texi: Likewise.
17249         * doc/posix-functions/shutdown.texi: Likewise.
17250         * doc/posix-functions/socket.texi: Likewise.
17252 2017-05-10  Bruno Haible  <bruno@clisp.org>
17254         poll: Fix link error on native Windows.
17255         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
17257 2017-05-10  Bruno Haible  <bruno@clisp.org>
17259         time: Fix missing initialization of HAVE_TIMEZONE_T.
17260         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
17261         here...
17262         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
17263         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
17264         gl_HEADER_SYS_TIME_H_DEFAULTS.
17265         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
17266         (configure.ac): Remove useless quoting.
17268 2017-05-10  Bruno Haible  <bruno@clisp.org>
17270         Implement a way to opt out from MSVC support, part 2.
17271         * modules/msvc-inval (Include): Document recommended idiom.
17272         * modules/msvc-nothrow (Include): Likewise.
17274         Implement a way to opt out from MSVC support.
17275         This is useful for Emacs.
17276         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
17277         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
17278         * lib/error.c: Likewise.
17279         * lib/fcntl.c: Likewise.
17280         * lib/flock.c: Likewise.
17281         * lib/fstat.c: Likewise.
17282         * lib/fsync.c: Likewise.
17283         * lib/ioctl.c: Likewise.
17284         * lib/isapipe.c: Likewise.
17285         * lib/lseek.c: Likewise.
17286         * lib/nonblocking.c: Likewise.
17287         * lib/poll.c: Likewise.
17288         * lib/select.c: Likewise.
17289         * lib/sockets.h: Likewise.
17290         * lib/sockets.c: Likewise.
17291         * lib/stdio-read.c: Likewise.
17292         * lib/stdio-write.c: Likewise.
17293         * lib/utimens.c: Likewise.
17294         * lib/w32sock.h: Likewise.
17295         * lib/w32spawn.h: Likewise.
17296         * tests/test-cloexec.c: Likewise.
17297         * tests/test-dup-safer.c: Likewise.
17298         * tests/test-dup2.c: Likewise.
17299         * tests/test-dup3.c: Likewise.
17300         * tests/test-fcntl.c: Likewise.
17301         * tests/test-pipe.c: Likewise.
17302         * tests/test-pipe2.c: Likewise.
17303         * lib/ftruncate.c: Likewise.
17304         (chsize_nothrow): Renamed from chsize.
17305         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
17306         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
17307         * lib/close.c: Likewise.
17308         * lib/dup.c: Likewise.
17309         * lib/fclose.c: Likewise.
17310         * lib/raise.c: Likewise.
17311         * tests/test-fgetc.c: Likewise.
17312         * tests/test-fputc.c: Likewise.
17313         * tests/test-fread.c: Likewise.
17314         * tests/test-fwrite.c: Likewise.
17315         * lib/getdtablesize.c: Likewise.
17316         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
17317         * lib/isatty.c: Don't include msvc-inval.h if
17318         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
17319         Include <io.h> as an alternative to msvc-nothrow.h.
17320         * lib/read.c: Likewise.
17321         * lib/write.c: Likewise.
17322         * lib/dup2.c: Likewise.
17323         (dup2_nothrow): New function.
17324         (ms_windows_dup2): Use it.
17325         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
17326         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
17327         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
17328         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
17329         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
17330         * m4/read.m4 (gl_FUNC_READ): Likewise.
17331         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
17332         * doc/windows-without-msvc.texi: New file.
17333         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
17334         section.
17336 2017-05-10  Bruno Haible  <bruno@clisp.org>
17338         wait-process: Adjust native Windows support.
17339         * lib/wait-process.c: Use the usual condition for recognizing a native
17340         Windows platform.
17342 2017-05-10  Bruno Haible  <bruno@clisp.org>
17344         doc: New chapter "Native Windows Support".
17345         * doc/gnulib.texi (Native Windows Support): New chapter.
17346         * doc/windows-libtool.texi: Small wording changes.
17347         * doc/windows-sockets.texi: Small wording and formatting changes.
17349 2017-05-10  Bruno Haible  <bruno@clisp.org>
17351         doc: Move section "Library version handling".
17352         * doc/gnulib.texi: Move section "Library version handling"
17353         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
17355 2017-05-10  Bruno Haible  <bruno@clisp.org>
17357         doc: Move section "Running self-tests under valgrind".
17358         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
17359         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
17361 2017-05-10  Bruno Haible  <bruno@clisp.org>
17363         doc: New chapter "Build Infrastructure Modules".
17364         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
17366 2017-05-10  Bruno Haible  <bruno@clisp.org>
17368         Prepare for reordering sections in the manual.
17369         * doc/gnulib.texi: Move several sections to separate files. Include
17370         these files.
17371         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
17372         * doc/obsolete.texi: Likewise.
17373         * doc/extra-tests.texi: Likewise.
17374         * doc/transversal.texi: Likewise.
17375         * doc/namespace.texi: Likewise.
17376         * doc/check-version.texi: Likewise.
17377         * doc/windows-sockets.texi: Likewise.
17378         * doc/windows-libtool.texi: Likewise.
17379         * doc/licenses-texi.texi: Likewise.
17380         * doc/build-automation.texi: Likewise.
17381         * doc/c-locale.texi: Likewise.
17383 2017-05-10  Bruno Haible  <bruno@clisp.org>
17385         Fix instructions how to update manual on www.gnu.org.
17386         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
17388 2017-05-09  Bruno Haible  <bruno@clisp.org>
17390         tzset: Expand comment about TZ problem on native Windows.
17391         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
17392         Paul Eggert.
17393         * lib/ctime.c (rpl_ctime): Likewise.
17394         * lib/localtime.c (rpl_localtime): Likewise.
17395         * lib/mktime.c (mktime): Likewise.
17396         * lib/strftime-fixes.c (rpl_strftime): Likewise.
17397         * lib/wcsftime.c (rpl_wcsftime): Likewise.
17399 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17401         intprops: don’t depend on ‘verify’
17402         Problem reported by Ævar Arnfjörð Bjarmason in:
17403         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
17404         * lib/intprops.h: Do not include verify.h, and move compile-time
17405         checks from here ...
17406         * tests/test-intprops.c (main): ... to here, if they’re not here
17407         already.  Check widths of other standard integer types.
17408         * modules/intprops (Depends-on): Remove ‘verify’.
17410 2017-05-07  Bruno Haible  <bruno@clisp.org>
17412         utimens: On native Windows, support 100ns resolution also if fd < 0.
17413         * lib/utime.in.h: Include <time.h>.
17414         (_gl_utimens_windows): New declaration.
17415         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
17416         (utime): Invoke it.
17417         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
17418         instead of utime.
17419         * modules/utime (Depends-on): Add 'time'.
17421 2017-05-07  Bruno Haible  <bruno@clisp.org>
17423         utimens: Improve error code on native Windows.
17424         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
17425         error code EACCES, not EINVAL.
17427 2017-05-07  Bruno Haible  <bruno@clisp.org>
17429         utime: Handle more Windows error codes.
17430         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
17431         Based on explanations by Billy O'Neal.
17433 2017-05-05  Bruno Haible  <bruno@clisp.org>
17435         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
17436         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
17437         union.
17438         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
17439         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
17440         value of cipher->IV.
17442 2017-05-05  Bruno Haible  <bruno@clisp.org>
17444         wctype-h-c++-tests: Update.
17445         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
17447 2017-05-05  Bruno Haible  <bruno@clisp.org>
17449         wchar-c++-tests: Update.
17450         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
17452 2017-05-05  Bruno Haible  <bruno@clisp.org>
17454         utime-h-c++-tests: New module.
17455         * tests/test-utime-h-c++.cc: New file.
17456         (utime): Declare, missing since 2017-04-30.
17457         * modules/utime-h-c++-tests: New file.
17459 2017-05-05  Bruno Haible  <bruno@clisp.org>
17461         unistd-c++-tests: Update.
17462         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
17463         (read): Declare, missing since 2011-04-15.
17464         (sethostname): Declare, missing since 2011-12-03.
17466 2017-05-05  Bruno Haible  <bruno@clisp.org>
17468         time-c++-tests: Update.
17469         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
17470         (localtime, gmtime): Declare, missing since 2017-04-30.
17471         (ctime): Declare, missing since 2017-04-30.
17472         (strftime): Declare, missing since 2017-04-30.
17473         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
17474         2015-07-24.
17476 2017-05-05  Bruno Haible  <bruno@clisp.org>
17478         sys_resource-c++-tests: New module.
17479         * tests/test-sys_resource-c++.cc: New file.
17480         (getrusage): Declare, missing since 2012-04-13.
17481         * modules/sys_resource-c++-tests: New file.
17483 2017-05-05  Bruno Haible  <bruno@clisp.org>
17485         strings-c++-tests: New module.
17486         * tests/test-strings-c++.cc: New file.
17487         (ffs): Declare, missing since 2011-07-12.
17488         * modules/strings-c++-tests: New file.
17490 2017-05-05  Bruno Haible  <bruno@clisp.org>
17492         string-c++-tests: Update.
17493         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
17494         (ffsll): Declare, missing since 2011-07-15.
17496 2017-05-05  Bruno Haible  <bruno@clisp.org>
17498         stdlib-c++-tests: Update.
17499         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
17500         2011-10-18.
17501         (ptsname_r): Declare, missing since 2011-11-07.
17502         (qsort_r): Declare, missing since 2014-08-29.
17503         (random, srandom, initstate, setstate): Declare, missing since
17504         2012-01-14.
17505         (secure_getenv): Declare, missing since 2013-02-05.
17507 2017-05-05  Bruno Haible  <bruno@clisp.org>
17509         stdio-c++-tests: Update.
17510         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
17512 2017-05-05  Bruno Haible  <bruno@clisp.org>
17514         signal-h-c++-tests: Update.
17515         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
17517 2017-05-05  Bruno Haible  <bruno@clisp.org>
17519         math-c++-tests: Update.
17520         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
17521         (fma): Declare, missing since 2011-10-17.
17522         (fmal): Declare, missing since 2011-10-17.
17524 2017-05-05  Bruno Haible  <bruno@clisp.org>
17526         locale-c++-tests: Update.
17527         * tests/test-locale-c++.cc (localeconv): Declare, missing since
17528         2012-03-25.
17530 2017-05-05  Bruno Haible  <bruno@clisp.org>
17532         inttypes-c++-tests: New module.
17533         * tests/test-inttypes-c++.cc: New file.
17534         (strtoimax): Declare, missing since 2012-01-05.
17535         (strtoumax): Declare, missing since 2012-01-05.
17536         * modules/inttypes-c++-tests: New file.
17538 2017-05-05  Bruno Haible  <bruno@clisp.org>
17540         dirent-c++-tests: Update.
17541         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
17542         (rewinddir): Declare, missing since 2011-09-13.
17543         (dirfd): Declare, missing since 2010-03-08.
17545 2017-05-04  Bruno Haible  <bruno@clisp.org>
17547         argp: Fix mistake in 2017-04-23 commit.
17548         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
17549         assume that strerror_r returns 'int', not 'char *'.
17551 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
17553         argp: Fix typo.
17554         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
17556 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
17558         utimens: port to Emacs + MS-Windows
17559         Skip the new MS-Windows-specific code if Emacs.
17560         * lib/utimens.c [EMACS_CONFIGUATION]:
17561         Avoid new MS-Windows-specific code.
17562         (USE_SETFILETIME): New macro.
17563         (fdutimens): Use it.
17565 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
17567         tzset: update doc for TZ problems on MS-Windows
17568         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
17569         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
17570         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
17571         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
17572         * doc/posix-functions/wcsftime.texi:
17573         Mention some issues with TZ under MS-Windows.
17575 2017-05-01  Bruno Haible  <bruno@clisp.org>
17577         copy-file: Fix build error on mingw.
17578         * modules/copy-file (Depends-on): Add 'close'.
17580 2017-05-01  Bruno Haible  <bruno@clisp.org>
17582         tzset: Work around TZ problem on native Windows.
17583         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
17584         Windows, set REPLACE_TZSET to 1.
17585         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
17586         invoke '_tzset' instead of 'tzset'.
17587         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
17589         * modules/time_rz (Depends-on): Add tzset.
17590         * lib/time_rz.c (tzset): Remove fallback definition.
17591         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
17593 2017-05-01  Bruno Haible  <bruno@clisp.org>
17595         mktime: Fix dependencies.
17596         * modules/mktime (Depends-on): Add 'time'.
17598 2017-05-01  Bruno Haible  <bruno@clisp.org>
17600         New module 'localtime-buffer', split off from module 'gettimeofday'.
17601         * lib/localtime-buffer.h: New file.
17602         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
17603         * lib/time.in.h (tzset): New declaration.
17604         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
17605         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
17606         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
17607         moved to lib/localtime-buffer.c or lib/tzset.c.
17608         * m4/localtime-buffer.m4: New file.
17609         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
17610         HAVE_TZSET, REPLACE_TZSET.
17611         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
17612         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
17613         gl_LOCALTIME_BUFFER_NEEDED.
17614         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
17615         since 2007-01-18.
17616         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
17617         tzset.
17618         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
17619         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
17620         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
17621         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
17622         * modules/localtime-buffer: New file.
17623         * modules/time (Depends-on): Remove 'gettimeofday'.
17624         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
17625         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
17626         * modules/tzset (Description): Enable hyperlink to POSIX spec.
17627         (Files): Add lib/tzset.c.
17628         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
17629         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
17630         gl_TIME_MODULE_INDICATOR.
17631         * modules/gettimeofday (Depends-on): Add localtime-buffer.
17633 2017-05-01  Bruno Haible  <bruno@clisp.org>
17635         copy-file: Preserve sub-second time stamps.
17636         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
17637         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
17638         transport the time stamps from the original file to the destination
17639         file.
17640         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
17641         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
17642         utime-h.
17644 2017-05-01  Bruno Haible  <bruno@clisp.org>
17646         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
17647         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
17648         also on MSVC.
17649         Reported by Eli Zaretskii <eliz@gnu.org>.
17651 2017-05-01  Bruno Haible  <bruno@clisp.org>
17653         wchar: Fix compilation error with the original mingw.org mingw.
17654         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
17655         <stddef.h> instead.
17656         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
17657         gl_WCTYPE_H.
17658         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
17659         gl_TYPE_WINT_T_PREREQ instead.
17660         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
17661         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
17662         Reported by Eli Zaretskii <eliz@gnu.org>.
17664 2017-04-30  Bruno Haible  <bruno@clisp.org>
17666         utimecmp: Add support for native Windows.
17667         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
17669 2017-04-30  Bruno Haible  <bruno@clisp.org>
17671         utimens: Add support for native Windows.
17672         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
17673         (fdutimens): Provide a native Windows implementation, like utime.c with
17674         added tv_nsec support.
17675         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
17676         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
17678 2017-04-30  Bruno Haible  <bruno@clisp.org>
17680         wcsftime: New module.
17681         * lib/wchar.in.h (wcsftime): New declaration.
17682         * lib/wcsftime.c: New file.
17683         * m4/wcsftime.m4: New file.
17684         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
17685         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
17686         HAVE_WCSFTIME, REPLACE_WCSFTIME.
17687         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
17688         HAVE_WCSFTIME, REPLACE_WCSFTIME.
17689         * modules/wcsftime: New file.
17690         * doc/posix-functions/wcsftime.texi: Mention the new module.
17692 2017-04-30  Bruno Haible  <bruno@clisp.org>
17694         strftime-fixes: New module.
17695         * lib/time.in.h (strftime): New declaration.
17696         * lib/strftime-fixes.c: New file.
17697         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
17698         (gl_FUNC_STRFTIME): Remove macro.
17699         * m4/strftime-fixes.m4: New file.
17700         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
17701         REPLACE_STRFTIME.
17702         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
17703         REPLACE_STRFTIME.
17704         * modules/strftime-fixes: New file.
17705         * doc/posix-functions/strftime.texi: Mention the new module.
17707 2017-04-30  Bruno Haible  <bruno@clisp.org>
17709         mktime: Work around TZ problem on native Windows.
17710         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
17711         from the native Windows workaround.
17712         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
17713         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
17714         'guessing no'.
17715         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
17716         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
17717         NEED_MKTIME_WINDOWS.
17718         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
17719         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
17720         NEED_MKTIME_INTERNAL.
17721         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
17722         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
17723         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
17724         not REPLACE_MKTIME.
17725         * doc/posix-functions/mktime.texi: Mention the native Windows
17726         workaround.
17728 2017-04-30  Bruno Haible  <bruno@clisp.org>
17730         localtime: New module.
17731         * lib/time.in.h (localtime): Declare also if requested by module
17732         'localtime'.
17733         * lib/localtime.c: New file.
17734         * m4/localtime.m4: New file.
17735         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
17736         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
17737         * modules/localtime: New file.
17738         * doc/posix-functions/localtime.texi: Mention the new module.
17740 2017-04-30  Bruno Haible  <bruno@clisp.org>
17742         ctime: New module.
17743         * lib/time.in.h (ctime): New declaration.
17744         * lib/ctime.c: New file.
17745         * m4/ctime.m4: New file.
17746         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
17747         REPLACE_CTIME.
17748         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
17749         * modules/ctime: New file.
17750         * doc/posix-functions/ctime.texi: Mention the new module.
17752 2017-04-30  Bruno Haible  <bruno@clisp.org>
17754         gettimeofday: Provide higher resolution on native Windows.
17755         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
17756         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
17757         (initialize): Initialize it.
17758         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
17759         'struct timeval'. Don't use _ftime().
17760         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
17761         <sys/timeb.h> and _ftime.
17763 2017-04-30  Bruno Haible  <bruno@clisp.org>
17765         Document the problem with the Cygwin environment variable TZ.
17766         * doc/posix-functions/tzset.texi: Add note about TZ.
17767         * doc/posix-functions/ctime.texi: Likewise.
17768         * doc/posix-functions/localtime.texi: Likewise.
17769         * doc/posix-functions/mktime.texi: Likewise.
17770         * doc/posix-functions/strftime.texi: Likewise.
17771         * doc/posix-functions/wcsftime.texi: Likewise.
17772         * doc/pastposix-functions/ftime.texi: Likewise.
17774 2017-04-30  Bruno Haible  <bruno@clisp.org>
17776         utime-tests: New module.
17777         * tests/test-utime.c: New file, based on tests/test-utimens.h.
17778         * tests/test-utimens-common.h: Include <sys/stat.h>.
17779         * modules/utime-tests: New file.
17781 2017-04-29  Bruno Haible  <bruno@clisp.org>
17783         utime: New module.
17784         * lib/utime.in.h: Add comment for snippets.
17785         (utime): New declaration.
17786         * lib/utime.c: New file.
17787         * m4/utime.m4: New file.
17788         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
17789         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
17790         REPLACE_UTIME.
17791         * modules/utime-h (Depends-on): Add snippets.
17792         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
17793         Insert snippets.
17794         * modules/utime: New file.
17795         * doc/posix-functions/utime.texi: Mention the new module.
17797 2017-04-29  Bruno Haible  <bruno@clisp.org>
17799         utime-h: Modernize handling of 'struct utimbuf'.
17800         * lib/utime.in.h: Include next <utime.h> if it exists.
17801         (utimbuf): Define to _utimbuf on native Windows.
17802         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
17803         Set UTIME_H on native Windows.
17804         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
17805         * modules/utime-h (Depends-on): Add include_next.
17806         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
17807         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
17809         * lib/utimens.c (utimbuf): Remove fallback definition.
17810         * m4/utimens.m4 (gl_UTIMENS): Don't require
17811         gl_CHECK_TYPE_STRUCT_UTIMBUF.
17812         * m4/utimbuf.m4: Remove file.
17813         * modules/utimens (Files): Remove m4/utimbuf.m4.
17815 2017-04-29  Bruno Haible  <bruno@clisp.org>
17817         Make use of module 'utime-h'.
17818         * modules/copy-file (Depends-on): Add utime-h.
17819         * lib/copy-file.c: Assume that <utime.h> exists.
17820         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
17822         * modules/utimens (Depends-on): Add utime-h.
17823         * lib/utimens.c: Assume that <utime.h> exists.
17825 2017-04-29  Bruno Haible  <bruno@clisp.org>
17827         utime-h: New module.
17828         * m4/utime_h.m4: New file.
17829         * lib/utime.in.h: New file.
17830         * modules/utime-h: New file.
17831         * doc/posix-headers/utime.texi: Mention the new module.
17833         * tests/test-utime-h.c: New file.
17834         * modules/utime-h-tests: New file.
17836 2017-04-30  Bruno Haible  <bruno@clisp.org>
17838         Fix a few typos.
17839         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
17840         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
17841         * doc/posix-functions/fstat.texi: Fix a plural typo.
17842         * doc/posix-functions/stat.texi: Likewise.
17843         * m4/include_next.m4: Update comments.
17845 2017-04-29  Bruno Haible  <bruno@clisp.org>
17847         error: Fix mistake in 2017-04-23 commit.
17848         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
17849         assume that strerror_r returns 'int', not 'char *'.
17851 2017-04-29  Bruno Haible  <bruno@clisp.org>
17853         stat: Fix time_t values and other problems on native Windows platforms.
17854         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
17855         implementations of stat().
17856         * lib/stat.c: Include filename.h instead of dosname.h. Include
17857         malloca.h, stat-w32.h.
17858         (is_unc_root): New function.
17859         (rpl_stat): New implementation for native Windows. Remove
17860         REPLACE_FUNC_STAT_DIR code.
17861         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
17862         Don't define REPLACE_FUNC_STAT_DIR.
17863         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
17864         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
17865         (Depends-on): Remove dosname. Add filename, malloca.
17866         (configure.ac): Also compile lib/stat-w32.c.
17868 2017-04-29  Bruno Haible  <bruno@clisp.org>
17870         fstat: Fix time_t values on native Windows platforms.
17871         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
17872         * lib/stat-w32.h: New file.
17873         * lib/stat-w32.c: New file.
17874         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
17875         stat-w32.h instead.
17876         (fstat_nothrow): Remove function.
17877         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
17878         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
17879         always.
17880         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
17881         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
17882         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
17883         (configure.ac): Also compile lib/stat-w32.c.
17885 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
17887         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
17888         Problem reported by Assaf Gordon and Gavin Smith in:
17889         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
17890         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
17891         #define this, too.
17893 2017-04-29  Bruno Haible  <bruno@clisp.org>
17895         strerror_r-posix: Fixes for MSVC 14.
17896         * lib/strerror_r.c: Include <stdarg.h>.
17897         (strerror_r): Provide error messages for errno values 100...140.
17898         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
17900 2017-04-28  Bruno Haible  <bruno@clisp.org>
17902         noreturn: New module.
17903         * lib/noreturn.h: New file.
17904         * modules/noreturn: New file.
17905         * tests/test-noreturn.c: New file.
17906         * modules/noreturn-tests: New file.
17907         * tests/test-noreturn-c++.cc: New file.
17908         * modules/noreturn-c++-tests: New file.
17910 2017-04-27  Bruno Haible  <bruno@clisp.org>
17912         wctype-h: Fix compilation error with the original mingw.org mingw.
17913         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
17914         HAVE_CRTDEFS_H.
17915         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
17916         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
17917         <stddef.h> instead.
17918         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
17920 2017-04-26  Pádraig Brady  <P@draigBrady.com>
17922         nap.h: Fix compilation on non windows platforms
17923         * tests/nap.h: Move misplaced endif.
17925 2017-04-26  Pádraig Brady  <P@draigBrady.com>
17926         and Paul Eggert  <eggert@cs.ucla.edu>
17928         time_rz: fix heap buffer overflow vulnerability
17929         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
17930         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
17931         whether there is enough buffer space available, thus avoiding
17932         the problematic promotion of signed to unsigned causing an invalid
17933         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
17934         the start of the buffer.
17935         * tests/test-parse-datetime.c (main): Add a test case written by
17936         Paul Eggert, which overwrites enough of the heap so that
17937         standard glibc will fail with "free(): invalid pointer"
17938         without the patch applied.
17940 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17942         xalloc: add missing integer overflow check
17943         * lib/xalloc.h (x2nrealloc): Also check for multiplication
17944         overflow when P is null.
17946 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17948         parse-datetime: make it standalone
17949         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
17950         (_GL_ATTRIBUTE_FORMAT): New macro.
17951         These are needed to get './gnulib-tool --test parse-datetime' to work.
17953 2017-04-23  Bruno Haible  <bruno@clisp.org>
17955         nap.h: Port to native Windows.
17956         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
17957         use nap_fd instead. On native Windows, close and reopen nap_fd.
17958         (nap_works): Don't compare the ctimes, because on native Windows, these
17959         are the creation times.
17960         (nap): Update.
17962 2017-04-23  Bruno Haible  <bruno@clisp.org>
17964         nap.h: Fix logic.
17965         * tests/nap.h (nap): Avoid signed integer overflow in loop.
17967 2017-04-23  Bruno Haible  <bruno@clisp.org>
17969         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
17970         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
17971         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
17972         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
17973         * lib/argp-help.c (__argp_failure): Likewise.
17975 2017-04-23  Bruno Haible  <bruno@clisp.org>
17977         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
17978         * m4/strerror_r.m4: Revert changes since 2016-10-16.
17979         * lib/strerror_r.c: Likewise.
17981 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
17983         Target a C99 subset, not a C89 subset
17984         For many years Gnulib has targeted C89 and has resisted using C99
17985         features, as some Gnulib-using programs still wanted to target
17986         C89.  As this no longer seems to be the case, relax the porting
17987         requirements to allow some C99 features.  This is merely a change
17988         to the documentation, to give other Gnulib developers a chance to
17989         weigh in on the topic.
17990         * doc/extern-inline.texi (extern inline):
17991         * doc/gnulib-readme.texi (Portability guidelines):
17992         * doc/gnulib-tool.texi (Initial import):
17993         * doc/gnulib.texi (Header files):
17994         Modernize to talk about C99 and C11 instead of C89 and C99.
17995         * doc/gnulib-readme.texi (Portability guidelines):
17996         Now a section, not merely a subsection, so that it
17997         can be split up.  Modernize a bit.
17998         (C language versions, C99 features assumed)
17999         (C99 features avoided):
18000         New sections.
18002 2017-04-23  Bruno Haible  <bruno@clisp.org>
18004         doc: New section "Modules that modify the way other modules work".
18005         * doc/gnulib.texi (Modules that modify the way other modules work): New
18006         section.
18008 2017-04-23  Bruno Haible  <bruno@clisp.org>
18010         stat-time: Update comments.
18011         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
18012         * tests/test-utimens-common.h: Add reference regarding st_ctime on
18013         Windows.
18015 2017-04-01  Bruno Haible  <bruno@clisp.org>
18017         glob: Fix more memory leaks.
18018         * lib/glob.c (glob): Free allocated memory before returning.
18019         Reported by Coverity via Tim Rühsen.
18021 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18023         poll: improve fast check for out-of-range NFD
18024         * lib/poll.c: Do not include intprops.h.
18025         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
18026         * modules/poll (Depends-on): Remove intprops.
18028         ftoastr: cite a newer paper
18029         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
18030         instead of Loitsch 2010.
18032 2017-04-22  Bruno Haible  <bruno@clisp.org>
18034         poll: Enable argument check also in the Windows implementation.
18035         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
18036         Reported by Paul Eggert.
18038 2017-04-22  Bruno Haible  <bruno@clisp.org>
18040         getlogin_r: Work around bug in Mac OS X 10.12.
18041         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
18042         bug.
18043         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
18044         given size minus 1, call getlogin_r a second time, on a larger buffer.
18045         * modules/getlogin_r (Depends-on): Add malloca.
18046         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
18048 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18050         parse-datetime: fix %z and prefer signed int
18051         %z problem reported by Pádraig Brady in:
18052         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
18053         While fixing it, I decided to prefer signed ints to size_t, as
18054         they are less error-prone (e.g., ubsan catches overflow).
18055         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
18056         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
18057         counts, since signed integers make for better debugging.
18058         (date): Don’t assume %z works in printf formats.
18059         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
18060         sizes of buffers known to be small, e.g., because we’re using snprintf.
18061         (parse_datetime2): Simplify call to debug_mktime_not_ok.
18063 2017-04-22  Bruno Haible  <bruno@clisp.org>
18065         *printf: Work around rounding bug on Mac OS X.
18066         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
18067         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
18068         Mac OS X and FreeBSD.
18069         * doc/glibc-functions/*printf.texi: Likewise.
18071 2017-04-22  Bruno Haible  <bruno@clisp.org>
18073         vasnprintf tests: Avoid warnings.
18074         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
18075         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
18076         test.
18078 2017-04-22  Bruno Haible  <bruno@clisp.org>
18080         sys_file tests: Avoid warning.
18081         * tests/test-sys_file.c (main): Add a default clause to the switch
18082         statement.
18084 2017-04-22  Bruno Haible  <bruno@clisp.org>
18086         sethostname: Update doc.
18087         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
18088         Mac OS X.
18090 2017-04-22  Bruno Haible  <bruno@clisp.org>
18092         quotearg tests: Avoid warnings.
18093         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
18094         false.
18096 2017-04-22  Bruno Haible  <bruno@clisp.org>
18098         poll: Enable argument check.
18099         * lib/poll.c: Include intprops.h.
18100         (poll): Check value of nfd correctly.
18101         * modules/poll (Depends-on): Add intprops.
18103 2017-04-22  Bruno Haible  <bruno@clisp.org>
18105         get-rusage-data: Avoid warnings on Mac OS X.
18106         * lib/get-rusage-data.c: On Mac OS X, don't define
18107         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
18108         (get_rusage_data) [Mac OS X]: Just return 0.
18110 2017-04-22  Bruno Haible  <bruno@clisp.org>
18112         xbinary-io: Fix build error.
18113         * modules/xbinary-io (Depends-on): Add gettext-h.
18114         * lib/xbinary-io.c: Include gettext.h and define _().
18115         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
18116         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
18118 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18120         parse-datetime: overflow and debug cleanups
18121         This long patch was triggered by this bug report from Ruediger Meier:
18122         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
18123         I fixed the bug he noted, then found some others nearby, and then
18124         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
18125         up some of the code to follow GNU standards while I was at it.
18126         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
18127         use c_isdigit.
18128         (EPOCH_YEAR): Remove; unused.
18129         (TM_YEAR_BASE): Now an enum rather than a macro.
18130         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
18131         time zone offset, since timezones now are in terms of seconds and
18132         not minutes.
18133         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
18134         appropriate.  Verify that intmax_t is wide enough.
18135         (time_overflow, time_zone_str): New functions, used to deal
18136         more reliably with overflow.
18137         (dbg_printf): Add printf attribute, to help catch integer width errors.
18138         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
18139         (%union, to_hour, yylex, parse_datetime2):
18140         Use intmax_t instead of long int and/or long_time_t.
18141         All uses changed.
18142         (DBGBUFSIZE): Move earlier.
18143         (relative_time, set_hhmmss, parser_control):
18144         Just use int for nanoseconds and for time zones; that’s wide enough.
18145         (parser_control): Use bool for members like year_seen that can
18146         be booleans instead of counters.  All uses changed.
18147         Remove debug_default_input_timezone; no longer needed.
18148         All uses removed.
18149         (apply_relative_time): Return a bool overflow flag.
18150         All uses changed to check for overflow.
18151         (apply_relative_time, zone, date, relunit, relunit_snumber)
18152         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
18153         Check for integer overflow portably.
18154         (str_days): Use just int for N, as it’s wide enough.
18155         Prefer 2D char arrays to arrays of char * when it looks like
18156         2D is a win on typical platforms.
18157         Prefer snprintf to strncpy/strncat, for simplicity;
18158         all buffers are smaller than INT_MAX so this is safe.
18159         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
18160         (debug_print_current_time): Don’t assume tv_nsec is of type long,
18161         as this is not true on x32.  Output "." before any nanoseconds.
18162         (debug_print_current_time, parse_datetime2):
18163         Output local zones using a more-consistent format.
18164         (debug_print_current_time, date, parse_datetime2):
18165         (main) [TEST]:
18166         Don’t assume time_t is the same width as long.
18167         (print_rel_part): New function, replacing ...
18168         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
18169         (debug_print_relative_time): Use bool for boolean.
18170         (local_zone): dsts_seen now counts only tDST instances.
18171         (date): Fix printf of size_t to use %z.  Do not assume numeric
18172         tokens have negative values merely because the context suggests
18173         a syntax with "-" separating tokens.
18174         (time_zone_hhmm): Return bool success indicator, which checks for
18175         overflow.  Store result into PC->time_zone instead.  All callers
18176         changed.
18177         (tm_year_str): New function.  Return a bool success indicator and
18178         store the result into a buffer.  All callers changed.  Output the
18179         numerically correct string even if adding 1900 to the year would
18180         overflow.
18181         (to_tm_year): New function, replacing the old to_year.  All
18182         callers changed.
18183         (tm_diff): Sync with glibc.
18184         (lookup_word): Use to_uchar instead of doing it by hand.
18185         (TZBUFSIZE): Now local to the only function that needs it.
18186         (debug_strfdatetime): Simplify now that time zones are int seconds.
18187         (debug_strfdate): Work even if tm_year + 1900 would overflow.
18188         (get_effective_timezone): Remove.  All uses removed.
18189         (parse_datetime2): Use fprintf in pieces instead of snprintfing
18190         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
18191         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
18192         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
18193         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
18194         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
18195         * modules/parse-datetime (Depends-on): Add inttypes.
18197 2017-04-21  Bruno Haible  <bruno@clisp.org>
18199         gettext-h: Avoid -Wundef warning.
18200         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
18201         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
18202         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
18204 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
18206         error: Avoid "function declaration isn't a prototype" warning.
18207         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
18209 2017-04-21  Bruno Haible  <bruno@clisp.org>
18211         vasnprintf: Fix for MSVC 14.
18212         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
18213         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
18214         of !HAVE_SNPRINTF_RETVAL_C99.
18216 2017-04-21  Bruno Haible  <bruno@clisp.org>
18218         mbrtowc tests: Fix test failures on MSVC 14.
18219         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
18220         behaviour for invalid input.
18222 2017-04-21  Bruno Haible  <bruno@clisp.org>
18224         mbsinit: Fix for MSVC 14.
18225         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
18226         implementation that is in sync with mbrtowc.c. On other platforms, use
18227         an adequate ad-hoc implementation.
18229 2017-04-21  Bruno Haible  <bruno@clisp.org>
18231         Fix test-mbrtowc5.sh failure on native Windows.
18232         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
18233         "C".
18235 2017-04-21  Bruno Haible  <bruno@clisp.org>
18237         Avoid accidental use of native Windows APIs on Cygwin.
18238         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
18239         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
18240         * lib/localename.c (WINDOWS_NATIVE): Likewise.
18242 2017-04-20  Bruno Haible  <bruno@clisp.org>
18244         Remove red warnings from the generated MODULES.html.
18245         * modules/fcntl (Description): Disambiguate function references.
18246         * modules/getcwd-lgpl (Description): Likewise.
18247         * modules/hostent (Description): Likewise.
18248         * modules/servent (Description): Likewise.
18249         * modules/tempname (Description): Likewise.
18251 2017-04-20  Bruno Haible  <bruno@clisp.org>
18253         verify tests: Fix spurious failure with parallel make.
18254         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
18255         EXTRA_PROGRAMS.
18256         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
18257         * tests/test-verify-try.c: New file.
18258         * modules/verify-tests (Files): Add it.
18259         (EXTRA_PROGRAMS): Add test-verify-try.
18260         (MOSTLYCLEANFILES): Update accordingly.
18261         Reported by Adam James Stewart <ajstewart@anl.gov>.
18263 2017-04-18  Bruno Haible  <bruno@clisp.org>
18265         vma-iter: Fix compilation error on Solaris 7.
18266         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
18267         like on IRIX, OSF/1.
18268         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18270 2017-04-18  Bruno Haible  <bruno@clisp.org>
18272         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
18273         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
18274         included.
18275         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
18276         <sys/procfs.h>.
18277         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
18278         <sys/procfs.h> cannot be included.
18279         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18281 2017-04-18  Bruno Haible  <bruno@clisp.org>
18283         getopt-gnu: Add comments.
18284         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
18285         * modules/getopt-gnu (configure.ac): Likewise.
18287 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
18289         regex: port better to Solaris 10
18290         Solaris 10 <locale.h> includes <libintl.h>, which #defines
18291         gettext, and this causes a double #define.
18292         Problem reported by Gavin Smith in:
18293         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
18294         * lib/regex_internal.h (gettext): #undef before #defining.
18296 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
18298         intprops: improve comments
18299         * lib/intprops.h: Improve and shorten commentary.
18300         For the record, if we ever run into a pedantic compiler that
18301         behaves differently from GCC when converting an out-of-range value
18302         to a signed integer, we can work around the problem with something
18303         like the following code, where UCT is the signed counterpart of T
18304         (UCT is sometimes narrower than UT) and all callers are changed
18305         accordingly:
18306         #if __SUNPRO_C <= 0x5120
18307         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
18308            ((t) ((ut) (a) op (ut) (b)))
18309         #else
18310         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
18311            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
18312             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
18313                + TYPE_MINIMUM (t)) \
18314             : (t) (uct) ((ut) (a) op (ut) (b)))
18315         #endif
18317 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
18319         intprops: try to avoid tickling similar bugs
18320         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
18321         needs to be the same width as T; it can be wider.
18322         Change callers so that UT is at least as wide as unsigned int,
18323         as I suspect that this is less likely to run into compiler bugs.
18325         intprops: port to Oracle Studio 12.3 x86
18326         Problem reported by Gavin Smith in:
18327         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
18328         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
18329         Convert unsigned to signed via the usual rather than the standard way,
18330         to avoid a compiler bug in Oracle Studio 12.3 x86.
18332 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18334         getopt: prefer - to _ in new file names
18335         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
18336         * lib/getopt-core.h: Rename from lib/getopt_core.h.
18337         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
18338         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
18339         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
18340         All uses changed.
18342         getopt: port recent getopt changes to macOS
18343         Problem reported by Harald Maier (Bug#26398).
18344         The macOS C compiler uses __nonnull for its own purposes and that
18345         clashes with glibc's __nonnull.
18346         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
18347         * lib/getopt_cdefs.in.h (__nonnull): Remove.
18348         * lib/getopt_core.h (getopt):
18349         * lib/getopt_ext.h (getopt_long, getopt_long_only):
18350         Use _GL_ARG_NONNULL, not __nonnull.
18351         * lib/unistd.in.h: Move snippet hooks to before where the getopt
18352         .h files are included, so that _GL_ARG_NONNULL is defined in time.
18353         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
18354         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
18356 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18358         getopt-gnu: omit some duplicate code
18359         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
18360         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
18361         gnulib-tool already does this.
18362         * modules/getopt-gnu (configure.ac): Omit code duplicated from
18363         getopt-posix, which we depend on.
18365         getopt-posix: use angle-bracket include
18366         * lib/getopt1.c: Include <config.h>, not "config.h".
18368 2017-04-06  Zack Weinberg  <zackw@panix.com>
18370         getopt: annotate files with relationship to glibc
18372         As the final act in this patchset, adjust the message at the top of
18373         each file to indicate which files are synced with glibc.  (This has
18374         already been done for most of the headers.)
18376         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
18377         Mention in top-of-file boilerplate that these files are shared
18378         between glibc and gnulib.
18381         getopt: split up getopt.in.h and eliminate __need_getopt
18383         Over in glibc, all of the __need macros are being phased out in favor
18384         of small headers that declare only the necessary components, as this
18385         is much simpler and less prone to bugs.  As getopt is shared with
18386         glibc, gnulib needs to do the same for __need_getopt.
18388         __need_getopt is misnamed; what it really means is "we want only the
18389         getopt features specified in POSIX, not the GNU extensions".  glibc
18390         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
18391         these files can be shared verbatim with gnulib.  The portability
18392         wrapper, on the other hand, they have renounced altogether; glibc's
18393         getopt.h will no longer be shared with gnulib at all.  In exchange,
18394         certain glibc-specific quirks (having to do with __posix_getopt) no
18395         longer need appear in gnulib's headers at all.
18397         This patch merges getopt_core.h and getopt_ext.h from glibc, and
18398         splits up the current gnulib-side portability wrapper into three
18399         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
18400         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
18401         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
18402         unistd.in.h just use them.  All new files are clearly marked with
18403         whether they are shared with glibc.
18405         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
18406         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
18407         with glibc, and ...
18408         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
18409         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
18410         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
18411         instead of defining __need_getopt and including the full getopt.h.
18413         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
18414         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
18415         * modules/getopt-posix (Files): Add new headers and sort list.
18416         (Depends-on): No longer need snippet/arg-nonnull.
18417         (Makefile.am): Generate getopt_cdefs.h.
18420         getopt: better handling of ambiguous options
18422         glibc's getopt uses alloca to construct a linked list of possibilities
18423         for an "ambiguous" long option.  In gnulib, malloc should be used
18424         instead.  Providing for both cases complicates things a fair bit.
18426         This patch rewrites ambiguous-option handling to use a boolean vector
18427         instead of a linked list.  There is then only one allocation that
18428         might need freeing; in glibc it can honor __libc_use_alloca as usual,
18429         and in gnulib we define __libc_use_alloca to always be false, so we
18430         don't need ifdefs in the middle of the function.  This should also be
18431         slightly more efficient in the normal case of long options being fully
18432         spelled out -- I think most people aren't even aware they _can_
18433         sometimes abbreviate long options.
18435         One interesting consequence is that the list of possibilities is now
18436         printed in exactly the order they appear in the list of long options,
18437         instead of the first possibility being shuffled to the end.
18439         (The patch looks bigger than it really is because there's a fair bit
18440         of reindentation and code rearrangement.)
18442         * lib/getopt.c: When used standalone, define __libc_use_alloca
18443         as always false and alloca to abort if called.
18444         (process_long_option): Rewrite handling of ambiguous long options
18445         to use a single boolean vector, not a linked list; use
18446         __libc_use_alloca to decide whether to allocate this using alloca.
18449         getopt: refactor long-option handling
18451         There were two copies of the bulk of the code to handle long options.
18452         Now there is only one.
18454         This change temporarily removes the logic to avoid using alloca when
18455         standalone; the next patch in the series will restore it.
18457         * lib/getopt.c (process_long_option): New function split out
18458         from _getopt_internal_r.
18459         (_getopt_internal_r): Replace both copies of the long-option
18460         processing code with calls to process_long_option.
18463         getopt: tidy up _getopt_initialize a bit
18465         _getopt_data.__posixly_correct is completely redundant to
18466         _getopt_data.__ordering, and some work that logically belongs in
18467         _getopt_initialize was being done by _getopt_internal_r, making the
18468         code harder to understand.
18470         As a side effect, getenv will no longer be called if the first
18471         character of the options string is '+' or '-', which is probably a
18472         Good Thing.  (Perhaps we should have a flag character that
18473         specifically asks for the permutation behavior?)
18475         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
18476         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
18477         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
18480         getopt: merge from glibc: repetition reduction
18482         The definitions of the entry point functions 'getopt' and
18483         '__posix_getopt' can be made substantially less repetitive with a
18484         helper macro.
18486         While I was merging the const-correctness changes from gnulib into
18487         glibc I noticed there are still some unnecessary casts in
18488         _getopt_internal_r.
18490         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
18491         a macro.  Consistently cast 'argv' to 'char **' when calling
18492         _getopt_internal.
18493         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
18496         getopt: clean up error reporting
18498         getopt can print a whole bunch of error messages, and when used
18499         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
18500         cancellation point and getopt isn't, and also applying fprintf to a
18501         stream in wide-character mode is not allowed.  So every single error
18502         reporting case has an #ifdef _LIBC block in which it calls internal
18503         libc functions instead.  The counterpart patch series in glibc makes
18504         it possible to simplify all of that down to a set of #defines at the
18505         top of the file; core code is written as if it is safe to just call
18506         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
18507         call any *other* stdio functions.)
18509         * lib/getopt.c: When _LIBC is defined, define fprintf to
18510         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
18511         to _IO_funlockfile.  When neither _LIBC nor
18512         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
18513         funlockfile as no-ops.
18514         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
18515         standalone error-printing code can now be used for libc as well.
18516         Add an flockfile/funlockfile pair around one case where the error
18517         message is printed in several chunks.  Don't use fputc.
18520         getopt: fix fencepost error in ambiguous-W-option handling
18522         getopt_long contains an undocumented (AFAICT) feature in which, if you
18523         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
18524         treated as equivalent to '--foo'.  This is implemented with a partial
18525         second copy of the code for handling long options, and that code
18526         increments optind one too many times when recovering from an ambiguous
18527         abbreviated option, which can cause the main loop to walk past the end
18528         of argv and crash.
18530         I discovered this while writing a test case that tries to exercise all
18531         of getopt's error reporting paths; I wouldn't be surprised to learn
18532         that this feature is never used by real applications.
18534         * lib/getopt.c (_getopt_internal_r): Don't increment
18535         d->optind a second time when reporting ambiguous -W options.
18538         getopt: clean up getopt.c and getopt1.c file headers
18540         In getopt.c, there is no need to include wchar.h at all, and it is
18541         safe nowadays to assume that stdlib.h does declare getenv (several
18542         other gnulib modules make this assumption).
18544         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
18545         by using "" inclusions consistently, and there is no actual need to
18546         include stdlib.h (except in the #ifdef TEST block, where it should be
18547         unconditional), nor to provide a backup definition of NULL at all.
18549         * lib/getopt1.c: Simplify #ifdeffage at top of file.
18550         Move inclusion of stdlib.h to #ifdef TEST block and make
18551         unconditional.  Do not define NULL.
18552         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
18553         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
18554         * modules/getopt-gnu, modules/getopt-posix: Don't call
18555         gl_PREREQ_GETENV.
18558         getopt: harmonize comments with glibc
18560         The comments explaining how the behavior of 'getopt' varies depending
18561         on whether it's the standalone version and whether there are special
18562         characters at the beginning of the options string were inconsistent
18563         between gnulib and glibc, and also out of sync with the code.
18565         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
18568         getopt: remove USE_NONOPTION_FLAGS
18570         getopt includes code to parse an environment variable named
18571         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
18572         in decimal); but all of it has been #ifdefed out since 2001, with no
18573         official way to turn it back on.
18575         According to commentary in glibc's config.h.in, bash version 2.0
18576         set this environment variable to indicate argv elements that were
18577         the result of glob expansion and therefore should not be treated
18578         as options, but the feature was "disabled later" because "it
18579         caused problems".  According to bash's CHANGES file, "later" was
18580         release 2.01; it gives no more detail about what the problems
18581         were.
18583         Version 2.0 of bash was released on the last day of 1996, and version
18584         2.01 in June of 1997.  Twenty years later, I think it is safe to
18585         assume that this environment variable isn't coming back.
18587         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
18588         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
18589         __libc_argc and __libc_argv externs, which were only used by
18590         #ifdef USE_NONOPTION_FLAGS blocks.
18593         getopt: tabify, in preparation for merge with glibc
18595         glibc sticks to the GNU default of indenting with a mix of
18596         8-column tabs and spaces; make the gnulib copy match.
18598         getopt.h is not included because it is *not* going to be merged in its
18599         present form.
18601         * getopt.c, getopt1.c, getopt_int.h: Tabify.
18603 2017-04-02  Bruno Haible  <bruno@clisp.org>
18605         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
18606         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
18607         like it was done in modules/relocatable-lib on 2011-05-21 and in
18608         modules/relocatable-prog on 2011-08-15.
18609         Reported by Reuben Thomas <rrt@sc3d.org>.
18611 2017-03-31  Bruno Haible  <bruno@clisp.org>
18613         glob: Fix invalid free() call.
18614         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
18615         static storage to home_dir.
18616         Reported by Coverity via Tim Rühsen.
18618 2017-03-31  Bruno Haible  <bruno@clisp.org>
18620         glob: Fix memory leaks.
18621         * lib/glob.c (glob): Free allocated memory before returning.
18622         Reported by Coverity via Tim Rühsen.
18624 2017-03-31  Bruno Haible  <bruno@clisp.org>
18626         md5, sha1, sha256, sha512: Add comments regarding correctness.
18627         * lib/md5.h (buflen): Add comments regarding range.
18628         * lib/sha1.h (buflen): Likewise.
18629         * lib/sha256.h (buflen): Likewise.
18630         * lib/sha512.h (buflen): Likewise.
18631         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
18632         * lib/sha1.c (sha1_process_bytes): Likewise.
18633         * lib/sha256.c (sha256_process_bytes): Likewise.
18634         * lib/sha512.c (sha512_process_bytes): Likewise.
18635         Reported by Coverity via Tim Rühsen.
18637 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
18639         getopt: merge from glibc
18640         This does not change anything substantial; it merely simplifies
18641         hypothetical merges back to glibc.
18642         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
18643         Change copyright notice to match what is in glibc.
18644         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
18645         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
18646         __open_memstream rather than open_memstream and __glibc_likely
18647         instead of __builtin_expect.
18648         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
18650 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18652         dfa: make [0-9] faster in non-C locales
18653         Problem reported by John P. Linderman (Bug#26193).
18654         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
18655         If both ends of the range are ASCII digits, do not worry about
18656         multi-character collating sequences and the like.  Be consistent
18657         about using isalpha as a precondition for setbit_case_fold_c.
18659 2017-03-19  Bruno Haible  <bruno@clisp.org>
18661         lock: Fix compilation error with HP-UX IA64 cc.
18662         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
18663         weak on non-glibc platforms.
18665 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18667         stdalign: tweak version# and test for HP-UX IA64
18668         Problems reported by Bruno Haible in:
18669         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
18670         * lib/stdalign.in.h (_Alignas):
18671         * m4/stdalign.m4 (gl_STDALIGN_H):
18672         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
18673         used octal (as that is how they document it), but it is decimal in
18674         practice now and the ancient implementations no longer matter.
18675         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
18677 2017-03-19  Bruno Haible  <bruno@clisp.org>
18679         vma-iter: Add support for Solaris.
18680         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
18681         approach.
18682         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
18683         * lib/get-rusage-as.c: Update comment about Solaris.
18684         * lib/get-rusage-data.c: Likewise.
18686 2017-03-19  Bruno Haible  <bruno@clisp.org>
18688         vma-iter: Prefer HP-UX specific API on HP-UX.
18689         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
18690         * lib/vma-iter.h: Update.
18691         Just in case HP-UX ever implements mquery().
18693 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
18695         stdalign: restore previous behavior for HP-UX IA64
18696         See Bruno Haible's email in:
18697         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
18698         which cites p 150 of a manual saying that 'aligned' works on Itanium.
18699         * lib/stdalign.in.h (_Alignas):
18700         Assume the '061200' applies to Itanium, not to PA-RISC.
18701         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
18703 2017-03-17  Bruno Haible  <bruno@clisp.org>
18705         stat-time, timespec: Support use of the header files in C++ mode.
18706         * lib/stat-time.h: Add "C" linkage declaration.
18707         * lib/timespec.h: Likewise.
18709 2017-03-17  Bruno Haible  <bruno@clisp.org>
18711         stdalign: Make it work with HP-UX cc.
18712         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
18713         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
18714         for HP-UX cc.
18716 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
18718         flexmember: try to detect HP-UX 11.31 cc bug
18719         Problem reported by Bruno Haible in:
18720         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
18721         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
18722         Attempt to detect bug in HP-UX 11.31 cc.
18724 2017-03-16  Bruno Haible  <bruno@clisp.org>
18726         stdint: Fix test compilation failure with HP-UX 11 cc.
18727         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
18728         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
18729         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
18730         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
18732 2017-03-14  Bruno Haible  <bruno@clisp.org>
18734         gnulib-tool: Don't produce a tests directory with only snippet .h files.
18735         * gnulib-tool (func_modules_transitive_closure_separately): If
18736         testsrelated_modules ends up with no "real" modules, aside from
18737         modules with applicability 'all', set it to empty.
18739 2017-03-14  Bruno Haible  <bruno@clisp.org>
18741         vma-iter: Add support for HP-UX.
18742         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
18743         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
18744         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
18745         * lib/get-rusage-as.c: Update comment about HP-UX.
18746         * lib/get-rusage-data.c: Likewise.
18747         (get_rusage_data): Use get_rusage_data_via_setrlimit.
18749 2017-03-14  Bruno Haible  <bruno@clisp.org>
18751         limits-h: Make it work with HP-UX cc.
18752         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
18753         defined.
18755 2017-03-14  Bruno Haible  <bruno@clisp.org>
18757         Fix test failures on DragonFlyBSD.
18758         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
18759         * tests/test-select.h (test_bad_fd): Likewise.
18760         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
18762 2017-03-14  Bruno Haible  <bruno@clisp.org>
18764         freadahead: Silence warning on DragonFlyBSD.
18765         * lib/freadahead.c (__sreadahead): Declare ourselves.
18767 2017-03-14  Bruno Haible  <bruno@clisp.org>
18769         vma-iter: Add comment about AIX.
18770         * lib/vma-iter.c: Add comment about why this module is not implemented
18771         on AIX.
18773 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
18775         snippets: move unadjusted snippet sources to lib
18776         Problem reported by Michal Privoznik in:
18777         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
18778         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
18779         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
18780         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
18781         * lib/unused-parameter.h: Rename from
18782         build-aux/snippet/unused-parameter.h.
18783         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
18784         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
18785         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
18786         * modules/snippet/c++defs (Files:, CXXDEFS_H):
18787         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
18788         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
18789         Adjust to file renamings.
18791 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
18793         gnulib-tool: don't automatically distribute files from top/
18794         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
18795         not distribute top/README-release by default, don't distribute files
18796         from top/ unconditionally.
18797         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
18798         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
18800 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
18802         gnulib-tool: fix typo in comment output
18803         * gnulib-tool (func_import): Fix typo with previous change.
18805         snippets: work around GNU Make 3.82 VPATH
18806         When using 'gnulib-tool --gnu-make' on Emacs, and building
18807         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
18808         an out-of-source (VPATH) build failed because the sans-copyright
18809         snippet file was not built before the file that used it.
18810         Presumably this is some sort of VPATH thing.  Work around the
18811         problem by using the original snippet, i.e., don’t bother to
18812         remove its copyright notice.
18813         * modules/snippet/_Noreturn, modules/snippet/link-warning:
18814         Don’t assume Automake in comments.  Omit long-incorrect comment.
18815         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
18816         (MOSTLYCLEANFILES):
18817         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
18818         (MOSTLYCLEANFILES):
18819         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
18820         (MOSTLYCLEANFILES):
18821         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
18822         (MOSTLYCLEANFILES):
18823         Remove.
18824         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
18825         * modules/snippet/c++defs (CXXDEFS_H):
18826         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
18827         * modules/snippet/warn-on-use (WARN_ON_USE_H):
18828         Don’t bother to remove the copyright notice; just use the
18829         original snippet as-is.
18831 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18833         gnulib-tool: minor --gnu-make fixups
18834         * gnulib-tool (func_emit_lib_Makefile_am):
18835         Remove useless code that was a blind alley during implementation.
18836         Problem reported by Thien-Thi Nguyen in:
18837         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
18838         (func_import): Note the "--gnu-make" option in the output comment.
18840 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18842         gnulib-tool: new option --gnu-make
18843         This is for applications like GNU Emacs that use GNU Make
18844         features instead of Automake.
18845         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
18846         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
18847         Do not assume Automake.
18848         * gnulib-tool (func_determine_path_separator)
18849         (func_modules_transitive_closure, func_update_file)
18850         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
18851         (func_import): Add support for --gnu-make.
18853 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
18855         gnulib-common.m4: avoid aclocal.m4 bloat
18856         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
18857         Hide AM_PROG_AR from aclocal, so that aclocal does not
18858         install irrelevant macro definitions into aclocal.m4.
18860 2017-03-10  Bruno Haible  <bruno@clisp.org>
18862         vma-iter: Let callers know about error.
18863         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
18864         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
18866 2017-03-05  Bruno Haible  <bruno@clisp.org>
18868         Fix value of LD for 64-bit compilers on AIX.
18869         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
18870         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
18872 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18874         dtotimespec: simplify
18875         * lib/dtotimespec.c (dtotimespec): Simplify.
18877 2017-03-04  Bruno Haible  <bruno@clisp.org>
18879         test-calloc-gnu: Reenable test also for GCC 7.
18880         * tests/test-calloc-gnu.c (eight): New function.
18881         (main): Don't skip test; use eight() instead.
18883 2017-03-04  Jim Meyering  <meyering@fb.com>
18885         test-calloc-gnu: port to GCC7
18886         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
18887         that attempts to calloc more than SIZE_MAX bytes, because GCC7
18888         and newer would detect that at compilation time.
18890 2017-03-04  Bruno Haible  <bruno@clisp.org>
18892         tests: Avoid compiler warning about uses of null_ptr.
18893         * tests/null-ptr.h: New file.
18894         * tests/test-canonicalize.c: Include null-ptr.h.
18895         (null_ptr): Remove function.
18896         * tests/test-canonicalize-lgpl.c: Likewise.
18897         * tests/test-memmem.c: Likewise.
18898         * tests/test-ptsname_r.c: Likewise.
18899         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
18900         * modules/canonicalize-lgpl-tests: Likewise.
18901         * modules/memmem-tests: Likewise.
18902         * modules/ptsname_r-tests: Likewise.
18903         Reported by Jim Meyering.
18905 2017-03-03  Bruno Haible  <bruno@clisp.org>
18907         doc: Mention Mac OS X deficiencies regarding semaphores.
18908         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
18909         * doc/posix-functions/sem_destroy.texi: Likewise.
18910         * doc/posix-functions/sem_getvalue.texi: Likewise.
18912 2017-03-03  Bruno Haible  <bruno@clisp.org>
18914         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
18915         Reported by Assaf Gordon <assafgordon@gmail.com> via
18916         Pádraig Brady <P@draigBrady.com>.
18917         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
18918         semaphores.
18919         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
18920         (atomic_int_semaphore): New macro.
18922 2017-02-28  Bruno Haible  <bruno@clisp.org>
18924         perror tests: Tweak for z/OS.
18925         Reported by Daniel Richard G. <skunk@iskunk.org>.
18926         * tests/test-perror.sh: Don't fail z/OS style perror output.
18928 2017-02-26  Bruno Haible  <bruno@clisp.org>
18930         nproc: Refactor large function.
18931         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
18932         from num_processors.
18933         (num_processors): In this function, only deal with OMP.
18935 2017-02-26  Pádraig Brady  <P@draigBrady.com>
18937         nproc: adjust handling of OpenMP environment variables
18938         to match the return value from omp_get_num_threads(), i.e.:
18939          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
18940          - Treat 0 as an invalid value and ignore
18941         Also remove the call to omp_get_num_threads() because
18942         it's ineffective without the omp pragmas in place.
18943         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
18944         so that it can be ignored.
18945         (num_processors): Honor OMP_THREAD_LIMIT even without
18946         OMP_NUM_THREADS being set.  Also fix a typo in the environment
18947         variable being checked, from the previous recent commit.
18949 2017-02-26  Pádraig Brady  <P@draigBrady.com>
18951         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
18952         * lib/nproc.c (parse_omp_threads): A new function refactored
18953         from num_processors() to support parsing both of the
18954         above environment variables.
18955         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
18956         to accurately reflect the current OpenMP nesting level.
18957         Also support the OMP_THREAD_LIMIT environment variable
18958         to limit the max value determined from OMP_NUM_THREADS.
18959         * modules/nproc: Depend on minmax header.
18960         Suggested by Oliver Heimlich.
18962 2017-02-25  Bruno Haible  <bruno@clisp.org>
18964         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
18965         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
18967 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
18969         ftoastr: port to -Wdouble-promotion
18970         Work around -Wdouble-promotion false alarm in recent GCCs.
18971         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
18972         (ftoastr_snprintf, FTOASTR): Use it.
18974 2017-02-21  Bruno Haible  <bruno@clisp.org>
18976         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
18977         Reported by Rene Saavedra <rennes@openmailbox.org> in
18978         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
18979         * lib/glthread/lock.h: On glibc systems without
18980         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
18981         implementation of rwlocks.
18982         * lib/glthread/lock.c: Likewise.
18984 2017-02-20  Bruno Haible  <bruno@clisp.org>
18986         lock tests: Fix build failure on z/OS.
18987         Reported by Daniel Richard G. <skunk@iskunk.org>.
18988         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
18989         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
18990         exist.
18992 2017-02-19  Bruno Haible  <bruno@clisp.org>
18994         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
18995         This helps when CC=clang.
18996         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
18997         of /usr/bin/gcc.
18999         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
19000         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
19002 2017-02-19  Bruno Haible  <bruno@clisp.org>
19004         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
19005         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
19006         --with-tests --single-configure is specified.
19008 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
19010         users.txt: Update links, use HTTPS where possible
19011         * users.txt: Updated to HTTPS where possible,
19012         fixed some links to new locations.
19014 2017-02-16  Bruno Haible  <bruno@clisp.org>
19016         xbinary-io: Fix inlining.
19017         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
19019 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19021         xbinary-io: rename from xsetmode
19022         This patch is taken from suggestions by Bruno Haible in:
19023         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
19024         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
19025         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
19026         not ENOTTY, when it is an inappropriate device.
19027         * lib/binary-io.h (SET_BINARY): Resurrect.
19028         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
19029         (xset_binary_mode_error): Rename from xsetmode_error.
19030         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
19031         (xset_binary_mode): Rename from xsetmode.
19032         All uses changed.
19033         * modules/xbinary-io: Rename from modules/xsetmode.
19034         Update file names.
19035         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
19036         * NEWS: Update to match revised behavior.
19038 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19040         tests: Adjust to recent SET_BINARY change
19041         * tests/test-binary-io.c (main):
19042         * tests/test-binary-io.sh: Remove test for SET_BINARY.
19043         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
19044         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
19045         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
19047         xsetmode: new module
19048         This is to fix a problem noted by Eric Blake.
19049         Code was using xfreopen to change files to binary mode, but this
19050         fails for stdout when in append mode.  Such code should use
19051         xsetmode instead.
19052         * NEWS: Document incompatible changes to binary-io module.
19053         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
19054         New function.
19055         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
19056         (set_binary_mode): New function, which also checks for tty.
19057         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
19059 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
19061         headers: fix begin-end typos
19062         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
19063         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
19065         selinux-h: port to PGI 16.10
19066         * lib/se-selinux.in.h: Don't assume that include_next skips over
19067         duplicate -I DIR options.
19069         argp: port to PGI 16.10
19070         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
19072 2017-02-13  Darshit Shah  <darnir@gnu.org>
19074         unicase: Update function protoype to match definition.
19075         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
19076         uses 'size_t' as the datatype for the 'len' parameter in the functions
19077         it generates. Update the prototype specified here to match the newly
19078         generated function.
19080 2017-02-12  Bruno Haible  <bruno@clisp.org>
19082         times test: Avoid gcc warnings on Linux/x32.
19083         * tests/test-times.c (main): Really cast printf arguments from clock_t
19084         to 'long int'.
19086 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19088         glob: port better to emscripten
19089         Problem reported by Bruno Haible in:
19090         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
19091         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
19093 2017-02-11  Bruno Haible  <bruno@clisp.org>
19095         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
19096         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
19097         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
19098         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
19099         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
19100         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
19101         Distinguish hppa64 from hppa.
19103 2017-02-10  Bruno Haible  <bruno@clisp.org>
19105         search: Don't assume that tsearch() exists if 'VISIT' is defined.
19106         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
19107         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
19108         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
19110 2017-02-09  Bruno Haible  <bruno@clisp.org>
19112         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
19113         * doc/gnulib.texi (Libtool and Windows): Recommend
19114         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
19115         Reported by Reuben Thomas <rrt@sc3d.org>.
19117 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19119         stddef-tests: port to SIZE_MAX <= INT_MAX
19120         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
19121         Do not assume that INT_MAX < SIZE_MAX.
19123 2017-02-01  Bruno Haible  <bruno@clisp.org>
19125         lock tests: Fix link error.
19126         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
19127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19129 2017-01-31  Bruno Haible  <bruno@clisp.org>
19131         lock: Fix link error (regression from 2017-01-05).
19132         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
19133         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
19134         pthread_rwlockattr_destroy weak.
19135         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19137 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19139         Port to PGI 16.10 x86-64
19140         This patch fixes one real bug in gl_anylinked_list2.h, along with
19141         some minor glitches that are not bugs.  It does not silence PGI’s
19142         thousands of bogus warnings when compiling test-intprops.c.
19143         Fortunately, the warnings do not cause a failure.
19144         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
19145         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
19146         My goodness, PGI goes back a long ways - this predates C89!
19147         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
19148         For example, ASYNCSAFE (const void *) should expand to
19149         ‘const void *volatile’, not to ‘volatile const void *’.
19150         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
19151         * lib/verify.h (verify) [!__GNUC__]:
19152         Use shorter albeit meaningless string to bypass silly compiler limits.
19153         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
19154         * tests/nan.h (NaNf, NaNd, NaNl):
19155         Use static functions to avoid misguided compiler diagnostics.
19156         Is there some reason we don’t use static functions on all platforms?
19158 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
19160         parse-datetime: handle timezones reentrantly
19161         This API change was prompted by a report by Pádraig Brady in:
19162         https://bug.debian.org/851934#10
19163         To help fix the bug, make parse_datetime2 more reentrant.
19164         * NEWS: Document this incompatible change.
19165         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
19166         Add two arguments, the timezone and the timezone name.
19167         All callers changed.  If TZ="..." is specified, use it for
19168         calculating defaults.
19169         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
19170         this code should be usable in a library.
19171         (mktime_ok, get_effective_timezone):
19172         Accept timezone arg too.  All callers changed.
19173         (get_tz): Remove.
19174         (get_effective_timezone): Check for failures.
19176 2017-01-20  Eric Blake  <eblake@redhat.com>
19178         localename: port to cygwin 2.6
19179         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
19180         Cygwin.
19181         * modules/localename (Depends-on): Add extensions, since
19182         NL_LOCALE_NAME() is not visible without it.
19184 2017-01-17  Pádraig Brady  <P@draigBrady.com>
19186         parse-datetime: fix dependence on AC_PROG_SED
19187         * modules/parse-datetime: Use `sed` directly like all other modules.
19188         Reported by J William Piggott
19190 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
19192         intprops: update doc URLs
19193         * doc/intprops.texi (Integer Range Overflow): Update URLs.
19195 2017-01-16  Bruno Haible  <bruno@clisp.org>
19197         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
19198         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
19199         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
19200         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
19201         distinguish s390 and s390x.
19202         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
19203         * NEWS: Mention the change regarding 'armel'.
19205 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19207         localeinfo: case_folded_counterparts and WEOF
19208         * NEWS: Document this.
19209         * lib/localeinfo.c (case_folded_counterparts):
19210         First arg is now wint_t, not wchar_t.  This generalizes the
19211         function to also work on WEOF, where it returns 0.
19213         dfa: port to gcc -fsanitize=undefined
19214         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
19215         as this runs afoul of gcc -fsanitize=undefined.
19217 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
19219         strftime: %z is -00 if unknown
19220         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
19221         the caller's responsibility to set 'negative_number'.  All uses changed.
19222         (__strftime_internal): Put '-' before a zero UTC offset if the time
19223         zone abbreviation starts with "-", which is the recently-introduced
19224         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
19225         * tests/test-strftime.c: Test for this.
19227 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19229         dfa: port to older GCC
19230         Problem reported by Assaf Gordon in:
19231         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
19232         * modules/c99: New module.  This merely attempts to use the latest
19233         C version, which should be enough to solve this particular problem.
19234         The idea is to document which Gnulib modules assume C99 or later.
19235         * modules/dfa (Depends-on): Add it.
19237 2017-01-10  Bruno Haible  <bruno@clisp.org>
19239         Update DEPENDENCIES.
19240         * DEPENDENCIES: List only https URLs. Update recommended version for
19241         autoconf, automake, gperf.
19243 2017-01-10  Jim Meyering  <meyering@fb.com>
19245         maint.mk: enforce spelling of "timestamp" (i.e., no space)
19246         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
19247         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
19249 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19251         dfa: minor simplification with emptyset
19252         * lib/dfa.c (build_state): Simplify by using emptyset.
19254 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19256         dfa: shrink constraints from 4 bits to 3
19257         * lib/dfa.c (newline_constraint, letter_constraint)
19258         (other_constraint, prev_newline_dependent)
19259         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
19260         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
19261         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
19262         Constraints need only 3 bits, not 4.  Using smaller integers
19263         shrinks the code a bit and makes grep a tad faster on x86-64.
19265         dfa: omit unnecessary ptrdiff_t check
19266         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
19267         overflow, since xnmalloc does that now.
19269         dfa: omit unnecessary allocation
19270         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
19271         an all-zero follow set works just fine.
19273         dfa: omit unused local
19274         * lib/dfa.c (build_state): Fix up recent change.
19276         maint: remove stray .texi files
19277         Although these were superseded by other files like
19278         doc/posix-functions/ctime.texi, the old files were not removed.
19279         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
19281 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
19283         getprogname: fix port to IRIX
19284         * lib/getprogname.c (getprogname) [__sgi]:
19285         Don't dump core if malloc returns NULL.
19287         dfa: fix reallocation bug when matching newlines
19288         Problem reported for sed by S. Gilles (Bug#25390).
19289         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
19290         (dfastate): Reallocate before moving any newline transition ...
19291         (build_state): ... instead of reallocating here, where it is too late.
19293 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
19295         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
19296         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
19298 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
19300         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
19301         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
19303 2017-01-07  Bruno Haible  <bruno@clisp.org>
19305         stdioext: Port to Minix 3.2 and newer.
19306         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
19307         * lib/fseeko.c (fseeko): Likewise.
19308         Reported by Nelson Beebe via Paul Eggert.
19310 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
19312         getprogname: port to IRIX
19313         * lib/getprogname.c (getprogname): Port to IRIX.
19314         Based on an idea by Bastien Roucariès at:
19315         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
19316         via code from Bruno Haible at:
19317         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
19319         localename-tests: port to NetBSD 7
19320         Problem reported by Nelson H. F. Beebe.
19321         * tests/test-localename.c:
19322         Test newlocale and uselocale only if both exist.
19324         glob, intprops, xalloc: work around Clang bug
19325         Work around LLVM bug 16404, which is still not fixed.
19326         https://llvm.org/bugs/show_bug.cgi?id=16404
19327         Problem reported by Nelson H. F. Beebe.
19328         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
19329         Remove.
19330         * lib/glob.c (size_add_wrapv):
19331         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
19332         * lib/xalloc-oversized.h (xalloc_oversized):
19333         Do not use overflow builtins if Clang.
19335         dfa: fix 'return' typo
19336         Problem reported by Nelson H. F. Beebe.
19337         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
19339 2017-01-05  Pádraig Brady  <P@draigBrady.com>
19341         parse-datetime: fix generated paths for coverage files
19342         * modules/parse-datetime: Adjust the paths for parse-datetime.y
19343         within parse-datetime.c, so that gcc generates appropriate .gcno
19344         files, allowing lcov to proceed without error.  Previously it
19345         would error trying to find "lib/lib/parse-datetime.y".
19347 2017-01-05  Pádraig Brady  <P@draigBrady.com>
19349         maint.mk: support parallel execution of coverage
19350         * top/maint.mk (coverage): Run dependencies serially,
19351         thus supporting parallel processing of each one,
19352         particularly build-coverage, which builds and runs tests.
19354 2017-01-05  Bruno Haible  <bruno@clisp.org>
19356         lock tests: Prefer semaphore over mutex.
19357         * tests/test-lock.c (USE_SEMAPHORE): New constant.
19358         (struct atomic_int, init_atomic_int, get_atomic_int_value,
19359         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
19360         Suggested by Torvald Riegel <triegel@redhat.com>.
19362 2017-01-05  Bruno Haible  <bruno@clisp.org>
19364         lock: Provide guarantee to avoid writer starvation for rwlocks.
19365         The rationale is: 1) Read-preferring read-write locks are prone to
19366         writer starvation if the number of reader threads multiplied by the
19367         percentage of time they have the lock held is too high. 2) Write-
19368         preferring read-write locks are the only reliable way to avoid this.
19369         3) There have been reports of 'test-lock' hanging on glibc systems
19370         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
19371         and glibc indeed implements read-preferring rwlocks by default, see
19372         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
19373         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
19374         * m4/pthread_rwlock_rdlock.m4: New file.
19375         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
19376         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
19377         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
19378         of rwlock initialization on glibc systems without
19379         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
19380         of rwlocks altogether on non-glibc systems without
19381         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
19382         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
19383         * lib/glthread/lock.c [USE_POSIX_THREADS]
19384         (glthread_rwlock_init_for_glibc): New function.
19385         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
19386         comment.
19387         [USE_PTH_THREADS]: New implementation of rwlocks.
19388         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
19389         readers.
19390         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
19391         (Depends-on): Add 'extensions'.
19392         * tests/test-rwlock1.c: New file.
19393         * lock-tests (Files): Add it.
19394         (Depends-on): Add usleep.
19395         (Makefile.am): Add test-rwlock1 to the tests.
19397 2017-01-05  Bruno Haible  <bruno@clisp.org>
19399         thread: Fix pth port.
19400         * lib/glthread/thread.h (pth_init): Declare weak.
19401         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
19402         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
19403         function.
19405 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
19407         parse-datetime: fix debug message on lone year number
19408         Input dates such as
19409           date -d "Apr 11 22:59:00 2011"
19410         are parsed as date (Apr 11, with default year 2016), then time, then a
19411         number (2011). Based on the combination of previously seen tokens,
19412         'digits_to_date_time' determines 2011 to be a year value.
19413         This fixes the debug messages to correctly show the updated year.
19414         Before:
19415             $ date --debug -d 'Apr 11 22:59:00 2011'
19416             date: parsed date part: (Y-M-D) 2016-04-11
19417             date: parsed time part: 22:59:00
19418             date: parsed number part: today/this/now
19419         After:
19420             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
19421             date: parsed date part: (Y-M-D) 2016-04-11
19422             date: parsed time part: 22:59:00
19423             date: parsed number part: year: 2011
19424         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
19425         'debug_year_seen' member fields.
19426         (digits_to_date_time): Update 'year_seen' as needed.
19427         (debug_print_current_time): Inform about year updates.
19428         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
19430         parse-datetime: fix local timezone debug messages
19431         "Local timezones" are strings that affect only DST relative to the
19432         default timezone. The debug messages in parse-datetime.y printed
19433         wrong information when encountering local timezones.
19434         Examples:
19435         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
19436              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
19437              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
19438         When the default timezone relates to the zone strings, EET/EEST are
19439         parsed as local timezones (tLOCAL_ZONE), and only change the DST
19440         value (0/1, respectively):
19441              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
19442              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
19443         * lib/parse-datetime.y (debug_print_current_time): If local timezone
19444         was seen, inform about DST change, don't print actual timezone.
19445         (debug_strfdatetime): If local timezone was seen, use default timezone
19446         (and adjust as needed) instead of using incorrect timezone.
19447         (parse_datetime2): Use correct time-zone source string, and adjust
19448         default timezone as needed.
19450         parse-datetime: add debug warning about DST changes
19451         Incorrect date arithmetic due to daylight saving time (DST) are a
19452         common (false) bug report in coreutils.
19453         Detect two such cases and print a warning:
19454         1. year/month/day adjustments (performed on 'struct tm'),
19455            where 'mktime' returns a different isdst value.
19456         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
19457            where the result of 'localtime(3)' on the value will return a
19458            different isdst value.
19459         Note: DST changes could be harmless or unnoticeable.
19460         Examples (with 'TZ=America/New_York'):
19461         Unnoticeable: result is 2016-Dec-14
19462            $ date -d '2016-06-15 EDT + 6 months' +%b
19463            Dec
19464         Unnoticeable: result is 2016-Dec-15 11:00:00
19465            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
19466            2016-12-15
19467         This is unexpected:
19468            $ date -d '2016-06-01 EDT + 6 months' +%F
19469            2016-11-30
19470         The new debug warnings will show:
19471            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
19472            ...
19473            date: warning: daylight saving time changed after date adjustment
19474            ...
19475         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
19476         print an appropriate warning message.
19478         parse-datetime: add debug warning about date arithmetic
19479         Date arithmetic are done directly on the fields of 'struct tm',
19480         which can result in invalid dates. Normalization with 'mktime(3)'
19481         will then produce a different date - which might cause unexpected
19482         results.
19483         Examples:
19484           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
19485           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
19486         Note that date normalization is not inherently wrong and not rejected,
19487         as it has legitimate uses:
19488           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
19489         If the user asked to adjust months but 'mday' changed,
19490         or user asked to adjust years but 'month' changed - warn about it.
19491             $ ./src/date --debug -d '2016-10-31 - 1 month'
19492             ...
19493             date: warning: when adding relative months/years, \
19494                            it is recommended to specify the 15th of the month
19495             ...
19496             date: warning: month/year adjustment resulted in shifted dates:
19497             date:      adjusted Y M D: 2016 09 31
19498             date:    normalized Y M D: 2010 10 01
19499             ...
19500         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
19501         a warning message. Improve recommendation of when to use 15 of the
19502         month or noon for date arithmetic.
19504         parse-datetime: fix debug message of relative part after timezone
19505         Relative part (e.g '+8 days') after a timezone string was not
19506         reported (was only reported after a timezone number). Due to the
19507         parser's structure, timezone strings with numbers were handled
19508         separately.
19509         before:
19510              # Timezone number + relative part: OK
19511              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
19512              ...
19513              date: parsed relative part: -8 day(s)
19514              # Timezone string + relative part: missing
19515              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
19516              [ missing message ]
19517         After: messages are printed in both cases.
19518         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
19520         parse-datetime: fix incorrect debug message on lone number
19521         A lone number is an absolute value, not a relative time part.
19522         before:
19523            $ date --debug -d '20130101'
19524            date: parsed number part: today/this/now
19525         After:
19526            $ ./src/date --debug -d '20130101'
19527            date: parsed number part: (Y-M-D) 2013-01-01
19528         * lib/parse-datetime.y ('item'/'number' tokens): Call
19529         'debug_print_current_time' instead of 'debug_print_relative_time'.
19531 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
19533         doc: modernize for C11 etc.
19534         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
19535         for C11, MinGW, etc.  This responds to Paul Smith's question in:
19536         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
19538         dfa: prefer functions to FETCH_WC macro
19539         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
19540         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
19541         wint_t result into DFA->lex.wctok instead of to a separate arg.
19542         All callers changed.  Move more local decls closer to where
19543         they're used.
19545         dfa: narrow more local var scopes
19546         * lib/dfa.c: Move more local decls to be more local.
19548         dfa: remove duplicate assignment
19549         Problem reported by Bruno Haible in:
19550         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
19551         * lib/dfa.c (parse_bracket_exp): Simplify.
19553 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19555         dfa: simplify constraint-dependency checking
19556         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
19557         (prev_other_constraint): Remove.
19558         (prev_newline_dependent, prev_letter_dependent):
19559         Simplify, to avoid an unnecessary bitwise AND operation.
19561         dfa: prefer functions and constants to macros
19562         * lib/dfa.c: Prefer constants to macros where either will do.
19563         (streq, isasciidigit, newline_constraint)
19564         (letter_constraint, other_constraint, succeeds_in_context)
19565         (prev_newline_constraint, prev_letter_constraint)
19566         (prev_other_constraint, prev_newline_dependent)
19567         (prev_letter_dependent, accepting, accepts_in_context):
19568         Now static functions instead of function-like macros.
19569         Use lower-case names accordingly.  All uses changed.
19571         dfa: narrow more local var scopes
19572         * lib/dfa.c: Move some more local decls down to nearer where
19573         they're needed.
19575 2016-12-31  Jim Meyering  <meyering@fb.com>
19577         dfa: narrow the scope of many local variables
19578         * lib/dfa.c: Now that we are no longer constrained to c89, move
19579         declarations of many variables (often indices) "down" into the
19580         scope(s) where used or to the point of definition.  This is a
19581         no-semantic-change diff.
19583 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19585         version-etc: new year
19586         * build-aux/gendocs.sh (version):
19587         * doc/gendocs_template:
19588         * doc/gendocs_template_min:
19589         * doc/gnulib.texi:
19590         * lib/version-etc.c (COPYRIGHT_YEAR):
19591         Update copyright dates by hand in templates and the like.
19592         * all files: Run 'make update-copyright'.
19594 2016-12-31  Eric Blake  <eblake@redhat.com>
19596         do-release-commit-and-tag: avoid shell syntax error
19597         * build-aux/do-release-commit-and-tag (curr_br): $branch can
19598         contain spaces when rebasing.
19600         maint.mk: hoist gnulib_dir definition earlier
19601         * top/maint.mk (gnulib_dir): Move near top of file.
19603 2016-12-31  Jim Meyering  <meyering@fb.com>
19605         maint.mk: do not always evaluate intprops-related shell
19606         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
19607         using gnulib_dir undefined (gnulib_dir is defined later in the
19608         file, which will be fixed separately), and besides, there is no
19609         need to incur the cost of this shell invocation for every single
19610         use of this .mk file.  Reported by Eric Blake in
19611         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
19613 2016-12-30  Jim Meyering  <meyering@fb.com>
19615         maint.mk: improve sc_prohibit_intprops_without_use
19616         * top/maint.mk (_intprops_names): Don't hard-code the list of
19617         symbol names.  Instead, derive it on the fly.
19619 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19621         dfa: shorten sbit, success
19622         * lib/dfa.c (struct regex_syntax.sbit):
19623         (struct dfa.success): Use char, not int, for array elements, since
19624         they are all in the range 0..7.
19626         dfa: simplify multibyte_prop etc.
19627         This follows up on a change made when dfa.c was in grep, namely grep
19628         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
19629         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
19630         That earlier simplification allows for some more simplification
19631         and trimming down here.
19632         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
19633         (struct lexer_state): New mamber brack.
19634         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
19635         since they must be in the range 0..3 now.
19636         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
19637         the brack member now supersedes them.
19638         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
19639         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
19640         (dfaparse): Remove unnecessary initializations of already-0 storage.
19641         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
19642         (dfassbuild): No need to clear sup->mbcsets.
19644         dfa: minor performance tweak
19645         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
19647         dfa: wrap charclass inside a struct
19648         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
19649         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
19650         about 5% faster, where list.txt is generated by 'aspell dump
19651         master | head -n 100000 >list.txt'.  See Bug#22239.
19652         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
19653         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
19654         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
19655         Adjust to this, e.g., by using charclass * rather than charclass.
19656         All callers changed as needed.
19657         (copyset): Remove.  All uses changed to simple assignment.
19658         (parse_bracket_exp): Use zeroset instead of memset.
19660 2016-12-30  Jim Meyering  <meyering@fb.com>
19662         maint.mk: update list of intprops.h symbol names
19663         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
19664         This avoids a false failure of the sc_prohibit_intprops_without_use
19665         rule in grep.
19667 2016-12-29  Eric Blake  <eblake@redhat.com>
19669         getopt: fix parallel test failure
19670         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
19671         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
19672         * tests/test-getopt-main.h (main): Use different file names
19673         in case test-getopt-gnu and test-getopt-posix run in parallel.
19675 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19677         xalloc: x2nrealloc check for ptrdiff_t overflow
19678         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
19679         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
19681 2016-12-24  Bruno Haible  <bruno@clisp.org>
19683         lock test: Fix performance problem on multi-core machines.
19684         * tests/test-lock.c (USE_VOLATILE): New macro.
19685         (struct atomic_int): New type.
19686         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
19687         functions.
19688         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
19689         as 'struct atomic_int'.
19690         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
19691         reclock_checker_thread, test_recursive_lock): Use the new functions.
19692         Reported by Eric Blake in
19693         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
19694         and by Pádraig Brady in
19695         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
19697 2016-12-19  Bruno Haible  <bruno@clisp.org>
19699         vma-iter: Fix endless loop on 64-bit Windows.
19700         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
19701         'unsigned long'.
19703 2016-12-19  Bruno Haible  <bruno@clisp.org>
19705         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
19706         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
19707         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
19708         Invoke gt_TYPE_WINT_T instead.
19709         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
19710         * modules/stdint (Files): Add m4/wint_t.m4.
19711         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
19712         * modules/wctype-h (Makefile.am): Likewise.
19713         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
19714         not only on MSVC.
19715         * lib/wctype.in.h (wint_t): Likewise.
19717 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19719         getopt-posix-tests: fix Makefile typo
19720         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
19721         Fix typo: the last ‘_’ was missing in the name.
19722         I suspect that the typo explains this build failure:
19723         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
19724         although I can’t reproduce the problem on Solaris 10 sparc.
19726 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19728         dfa: improve worst-case 'replace' performance
19729         See my note in Bug#22357#71.
19730         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
19731         (merge_constrained): New function, which is like
19732         the old 'merge' function, except with a new argument C2.
19733         Simplify the body by avoiding the need for different sections
19734         of code depending on whether one input is exhausted.
19735         (merge): Use the new function.
19736         (delete): Return the constraint of the deleted position,
19737         not the entire position.  Caller changed.
19738         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
19740 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
19742         dfa: performance improvement for removal of epsilon closure
19743         See Bug#22357#32.
19744         * lib/dfa.c (delete): Use binary search to find deleted index.
19745         (replace): New function.  It replaces a position with the followed set.
19746         (epsclosure): Replace it with a new algorithm.  Update caller.
19748 2016-12-18  Bruno Haible  <bruno@clisp.org>
19750         Split tests for getopt-posix and getopt-gnu.
19751         * tests/test-getopt-posix.c: New file.
19752         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
19753         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
19754         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
19755         GNULIB_TEST_GETOPT_GNU.
19756         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
19757         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
19758         (Makefile.am): Test test-getopt-posix instead of test-getopt.
19759         * modules/getopt-gnu-tests: New file.
19760         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
19762 2016-12-18  Bruno Haible  <bruno@clisp.org>
19764         posix-modules: Add options for specific platforms.
19765         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
19766         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
19767         Invoke func_tmpdir. Filter out the excludes.
19769 2016-12-18  Bruno Haible  <bruno@clisp.org>
19771         getopt: Fix link error for users of getopt() in <unistd.h>.
19772         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
19773         __need_getopt is defined. Undefine all macros before defining them.
19774         * modules/getopt (Include): Clarify that including <unistd.h> is also
19775         OK.
19776         * tests/test-getopt.c: Add comment.
19778 2016-12-17  Bruno Haible  <bruno@clisp.org>
19780         getaddrinfo tests: Avoid compilation error on MSVC.
19781         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
19782         getaddrinfo on native Windows.
19784 2016-12-17  Bruno Haible  <bruno@clisp.org>
19786         getlogin, getlogin_r: Fix link errors on MSVC.
19787         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
19788         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
19789         (Link): New section.
19790         * modules/getlogin_r (Files): Add m4/getlogin.m4.
19791         (configure.ac): Require gl_LIB_GETLOGIN.
19792         (Link): New section.
19793         * NEWS: Mention the new link requirements.
19794         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
19795         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
19797 2016-12-17  Bruno Haible  <bruno@clisp.org>
19799         Un-deprecate the 'progname' module.
19800         * NEWS: Describe the appropriate use-cases of 'progname' versus
19801         'getprogname'. Based on discussion summary at
19802         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
19804 2016-12-17  Bruno Haible  <bruno@clisp.org>
19806         Reorganize NEWS a bit.
19807         * NEWS: Move some not so important changes away from section
19808         "Important Notes".
19810 2016-12-17  Bruno Haible  <bruno@clisp.org>
19812         tanhf: Avoid redefinition error on MSVC.
19813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
19814         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
19815         may be defined as an inline function.
19816         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
19817         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
19819 2016-12-17  Bruno Haible  <bruno@clisp.org>
19821         tanf: Avoid redefinition error on MSVC.
19822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
19823         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
19824         may be defined as an inline function.
19825         * modules/math (Makefile.am): Substitute REPLACE_TANF.
19826         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
19828 2016-12-17  Bruno Haible  <bruno@clisp.org>
19830         sqrtf: Avoid redefinition error on MSVC.
19831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
19832         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
19833         may be defined as an inline function.
19834         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
19835         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
19837 2016-12-17  Bruno Haible  <bruno@clisp.org>
19839         sinhf: Avoid redefinition error on MSVC.
19840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
19841         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
19842         may be defined as an inline function.
19843         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
19844         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
19846 2016-12-17  Bruno Haible  <bruno@clisp.org>
19848         sinf: Avoid redefinition error on MSVC.
19849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
19850         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
19851         may be defined as an inline function.
19852         * modules/math (Makefile.am): Substitute REPLACE_SINF.
19853         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
19855 2016-12-17  Bruno Haible  <bruno@clisp.org>
19857         logf: Avoid redefinition error on MSVC.
19858         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
19859         may be defined as an inline function.
19861 2016-12-17  Bruno Haible  <bruno@clisp.org>
19863         log10l: Avoid redefinition error on MSVC.
19864         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
19865         may be defined as an inline function.
19867 2016-12-17  Bruno Haible  <bruno@clisp.org>
19869         log10f: Avoid redefinition error on MSVC.
19870         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
19871         may be defined as an inline function.
19873 2016-12-17  Bruno Haible  <bruno@clisp.org>
19875         hypotl: Avoid redefinition error on MSVC.
19876         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
19877         may be defined as an inline function.
19879 2016-12-17  Bruno Haible  <bruno@clisp.org>
19881         hypotf: Avoid redefinition error on MSVC.
19882         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
19883         may be defined as an inline function.
19885 2016-12-17  Bruno Haible  <bruno@clisp.org>
19887         fmodl: Avoid redefinition error on MSVC.
19888         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
19889         may be defined as an inline function.
19891 2016-12-17  Bruno Haible  <bruno@clisp.org>
19893         fmodf: Avoid redefinition error on MSVC.
19894         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
19895         may be defined as an inline function.
19897 2016-12-17  Bruno Haible  <bruno@clisp.org>
19899         expf: Avoid redefinition error on MSVC.
19900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
19901         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
19902         may be defined as an inline function.
19903         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
19904         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
19906 2016-12-17  Bruno Haible  <bruno@clisp.org>
19908         coshf: Avoid redefinition error on MSVC.
19909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
19910         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
19911         may be defined as an inline function.
19912         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
19913         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
19915 2016-12-17  Bruno Haible  <bruno@clisp.org>
19917         cosf: Avoid redefinition error on MSVC.
19918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
19919         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
19920         may be defined as an inline function.
19921         * modules/math (Makefile.am): Substitute REPLACE_COSF.
19922         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
19924 2016-12-17  Bruno Haible  <bruno@clisp.org>
19926         atan2f: Avoid redefinition error on MSVC.
19927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
19928         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
19929         may be defined as an inline function.
19930         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
19931         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
19933 2016-12-17  Bruno Haible  <bruno@clisp.org>
19935         atanf: Avoid redefinition error on MSVC.
19936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
19937         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
19938         may be defined as an inline function.
19939         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
19940         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
19942 2016-12-17  Bruno Haible  <bruno@clisp.org>
19944         asinf: Avoid redefinition error on MSVC.
19945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
19946         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
19947         may be defined as an inline function.
19948         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
19949         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
19951 2016-12-17  Bruno Haible  <bruno@clisp.org>
19953         acosf: Avoid redefinition error on MSVC.
19954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
19955         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
19956         may be defined as an inline function.
19957         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
19958         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
19960 2016-12-17  Bruno Haible  <bruno@clisp.org>
19962         Avoid redefinition errors on MSVC.
19963         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
19964         the function may be defined as an inline function.
19965         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
19966         the function may be defined as an inline function.
19968 2016-12-17  Bruno Haible  <bruno@clisp.org>
19970         Avoid redefinition errors on MSVC.
19971         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
19972         * lib/unistd.in.h: Include <stdio.h> when necessary.
19974 2016-12-17  Bruno Haible  <bruno@clisp.org>
19976         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
19977         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
19978         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
19979         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
19980         WINT_MAX.
19982 2016-12-17  Bruno Haible  <bruno@clisp.org>
19984         Avoid autoconf warning.
19985         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
19986         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
19988 2016-12-17  Bruno Haible  <bruno@clisp.org>
19990         fpending: Revert workaround against Emacs bug.
19991         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
19992         The Emacs bug is fixed by Eli Zaretskii in
19993         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
19995 2016-12-17  Bruno Haible  <bruno@clisp.org>
19997         getlogin_r tests: Port to mingw.
19998         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
19999         regression introduced on 2014-05-19.
20001 2016-12-17  Bruno Haible  <bruno@clisp.org>
20003         getlogin: Port to newer mingw.
20004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
20005         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
20006         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
20007         HAVE_GETLOGIN.
20008         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
20009         HAVE_GETLOGIN.
20010         * doc/posix-functions/getlogin.texi: Mention the issue.
20011         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
20012         regression introduced on 2014-05-14.
20014 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
20016         builtin-expect: improve port to IBM XL C
20017         Problem reported for z/OS by Daniel Richard G. in:
20018         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
20019         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
20020         Test for <builtins.h> directly.
20022         builtin-expect: port to IBM XL C
20023         Problem reported for z/OS by Daniel Richard G. in:
20024         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
20025         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
20026         Also allow __builtin_expect defined via a standard include file.
20028         regex: fix dependency
20029         Problem reported by Bruno Haible in:
20030         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
20031         * modules/regex: Depend on builtin-expect.
20033         builtin-expect: new module
20034         Fix fnmatch to use it.
20035         Problem reported for z/OS by Daniel Richard G.
20036         * lib/fnmatch.c (__builtin_expect):
20037         * lib/glob.c (__builtin_expect):
20038         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
20039         * lib/memmem.c (__builtin_expect) [!_LIBC]:
20040         * lib/scandir.c (__builtin_expect):
20041         * lib/strstr.c (__builtin_expect) [!_LIBC]:
20042         Remove macro; config.h now does this.
20043         * lib/gl_anytreehash_list1.h (add_to_bucket):
20044         * lib/regex_internal.h (BE):
20045         Assume __builtin_expect.
20046         * m4/builtin-expect.m4, modules/builtin-expect: New files.
20047         * modules/avltreehash-list, modules/fnmatch, modules/glob:
20048         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
20049         * modules/scandir, modules/strstr-simple:
20050         Depend on builtin-expect.
20052 2016-12-15  Bruno Haible  <bruno@clisp.org>
20054         init.sh: Add possibility to not delete temporary files.
20055         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
20056         to yes, don't erase the temporary directory.
20058 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
20060         regex: fix integer-overflow bug in never-used code
20061         Problem reported by Clément Pit–Claudel in:
20062         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
20063         * lib/regex_internal.h: Include intprops.h.
20064         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
20065         behavior on integer overflow.
20066         * modules/regex (Depends-on): Add intprops.
20068         fpending: fix port to MinGW on Emacs
20069         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
20070         Problem reported by Eli Zaretskii in:
20071         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
20072         Is Plan 9 still a valid porting target, anyway?
20074 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
20076         safe-alloc: use xalloc-oversized
20077         * lib/safe-alloc.c: Include xalloc-oversized.h.
20078         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
20079         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
20081         xalloc: do not exceed PTRDIFF_MAX
20082         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
20083         xalloc_oversized check, since objects larger than PTRDIFF_MAX
20084         bytes have pointer-subtraction problems.
20086         malloca: do not exceed PTRDIFF_MAX
20087         * lib/malloca.h: Include xalloc-oversized.
20088         (nmalloca): Use xalloc_oversized instead of rolling our own.
20089         * modules/malloca (Depends-on):
20090         * modules/relocatable-prog-wrapper (Depends-on):
20091         Add xalloc-oversized.
20093         quotearg: pacify GCC better
20094         * modules/quotearg (Depends-on): Add minmax, stdint.
20095         * lib/quotearg.c: Include minmax.h, stdint.h.
20096         (nslots): Now int, as there seems little point to going to extra
20097         work merely to support the INT_MAX slot, which nobody ever uses.
20098         (quotearg_n_options): Redo size-overflow checks to pacify GCC
20099         and to catch (mostly-theoretical) ptrdiff_t problems too.
20100         This can be done via one comparison.
20102 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
20104         xalloc-oversized: check for PTRDIFF_MAX too
20105         This avoids undefined behavior when subtracting pointers to
20106         objects containing more than PTRDIFF_MAX bytes.
20107         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
20108         Also return 1 if the result would exceed PTRDIFF_MAX>
20109         * modules/xalloc-oversized (Depends-on):
20110         Add stdint.
20112         dfa: fix glitches in previous commit
20113         Sorry, I don't know how I managed to commit the wrong version.
20114         * lib/dfa.c (MIN): Move up.
20115         (xpalloc): Now static.
20117         dfa: fix some unlikely integer overflows
20118         I found these while reviewing the recent Coverity-related fix.
20119         This patch changes part of dfa.c to prefer ptrdiff_t instead of
20120         size_t for object counts.  Using ptrdiff_t is the style typically
20121         used in Emacs; although it wastes a sign bit as sizes can never be
20122         negative, it makes -fsanitize=undefined more likely to catch
20123         integer overflows in index calculation, and nowadays the upside is
20124         typically more important than the downside.  Although perhaps the
20125         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
20126         of dfa.c already does, since it uses state_num which is signed),
20127         that is a bigger change and is not needed to fix the bugs I found.
20128         * lib/dfa.c: Include stdint.h and intprops.h.
20129         (TOKEN_MAX): New macro.
20130         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
20131         (charclass_index, parse_bracket_exp, addtok, insert, merge)
20132         (realloc_trans_if_necessary, free_mbdata):
20133         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
20134         This is safe because xpalloc checks that the sizes do not exceed
20135         either SIZE_MAX or PTRDIFF_MAX.
20136         (xpalloc): New function, mostly taken from Emacs.
20137         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
20138         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
20139         (charclass_index): Check for integer overflow in computing
20140         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
20141         added to it later.
20142         (alloc_position_set): Check for integer overflow.  On typical
20143         platforms this check has zero overhead, since the constant
20144         expression is false.
20145         (realloc_trans_if_necessary):
20146         Remove assertion, which I hope Coverity no longer needs.
20148         * modules/dfa (Depends-on): Add intprops, stdint.
20150 2016-12-12  Jim Meyering  <meyering@fb.com>
20152         dfa: add an assertion to avoid coverity false positive
20153         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
20154         warned that "newalloc1 - 2" could overflow.
20156 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
20158         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
20159         * dfa.h (DFA_CASE_FOLD): Remove.
20160         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
20162 2016-12-13  John W. Eaton  <gnu@jweaton.org>
20164         link: fix test to declare use of rename()
20165         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
20166         -Werror=implicit-function-declaration
20168 2016-12-12  Bruno Haible  <bruno@clisp.org>
20170         fpending: Port to native Windows with MSVC.
20171         * lib/fpending.c: Include stdio-impl.h.
20172         (__fpending): Include all known implementations. Err out if it's not
20173         ported.
20174         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
20175         * modules/fpending (Files): Add lib/stdio-impl.h.
20176         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
20178 2016-12-12  Bruno Haible  <bruno@clisp.org>
20180         stdioext: Port to native Windows with MSVC.
20181         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
20182         (struct _gl_real_FILE): New type.
20183         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
20184         Windows.
20185         * lib/fbufmode.c (fbufmode): Add code for native Windows.
20186         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
20187         other SystemV derived implementations.
20188         * lib/fpurge.c (fpurge): Likewise.
20189         * lib/freadable.c (freadable): Likewise.
20190         * lib/freadahead.c (freadahead): Likewise.
20191         * lib/freading.c (freading): Likewise.
20192         * lib/freadptr.c (freadptr): Likewise.
20193         * lib/freadseek.c (freadptrinc): Likewise.
20194         * lib/fseeko.c (fseeko): Likewise.
20195         * lib/fseterr.c (fseterr): Likewise.
20196         * lib/fwritable.c (fwritable): Likewise.
20197         * lib/fwriting.c (fwriting): Likewise.
20198         Reported by Gisle Vanem <gvanem@yahoo.no>.
20200 2016-12-11  Jim Meyering  <meyering@fb.com>
20202         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
20203         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
20204         to work with most shells, but not with the one provided by many
20205         Solaris 10 systems, so running configure with such a /bin/sh evokes
20206         e.g., "./configure: syntax error at line 33602: `(' unexpected".
20207         Reported by Assaf Gordon in
20208         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
20210 2016-12-10  Bruno Haible  <bruno@clisp.org>
20212         threadlib: Optimize out runtime test on Solaris >= 10.
20213         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
20214         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
20215         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
20217 2016-12-10  Bruno Haible  <bruno@clisp.org>
20219         stdint: Update doc about Solaris 9.
20220         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
20222 2016-12-09  Bruno Haible  <bruno@clisp.org>
20224         c-ctype tests: Fix link error on Solaris 9.
20225         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
20226         Reported at <https://savannah.gnu.org/bugs/?46827>.
20228 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
20230         dfa: fix performance bug that recomputes trans
20231         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
20232         25 on-demand changes.  The bug caused build_state to reset all
20233         d->trans elements to -2 even when d->trans was already non-null.
20234         Use C99 style decls after statements in this function.
20236         same-inode: port to MinGW
20237         Here st_ino is always 0, so change the definition of SAME_INODE so
20238         that 1 means the two files are the same, 0 with st_ino != 0 means
20239         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
20240         reported by Bruno Haible (Bug#25146).
20241         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
20242         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
20244 2016-12-04  Bruno Haible  <bruno@clisp.org>
20246         javacomp-script: Support Java 7 and 8.
20247         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
20248         target-version 1.7, 1.8.
20250 2016-12-02  Daiki Ueno  <ueno@gnu.org>
20252         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
20253         GPLv2" rewriting.
20255 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
20257         * gnulib-tool (func_import): Adhere to the license guideline when
20258         rewriting the license text to "LGPLv3+ or GPLv2":
20259         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
20261 2016-12-02  Bruno Haible  <bruno@clisp.org>
20263         localcharset: Avoid theoretical buffer overrun.
20264         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
20265         return value from setlocale if it would lead to a buffer overrun.
20267 2016-12-01  Bruno Haible  <bruno@clisp.org>
20269         Relicense some modules under LGPLv2+.
20270         Kevin Cernekee's approval is in
20271         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
20272         * modules/fseterr (License): Change to LGPLv2+.
20273         * modules/mbchar (License): Likewise.
20274         * modules/mbiter (License): Likewise.
20275         * modules/mbsnlen (License): Likewise.
20276         * modules/wcwidth (License): Likewise.
20278 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
20280         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
20281         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
20282         OS/2 kLIBC.
20284 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
20286         alphasort, scandir: Port to OS/2 kLIBC
20287         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
20288         declaration.
20289         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
20291 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
20293         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
20294         * lib/relocatable.c (relocate): Do not touch pathname if it is started
20295         with '/@unixroot'.
20297 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
20299         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
20300         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
20301         OS/2 kLIBC unless TCPV40HDRS is defined.
20303 2016-11-29  Jim Meyering  <meyering@fb.com>
20305         dfa: avoid new infinite loop
20306         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
20307         * lib/dfa.c (dfastate): When constructing a new state table, we could
20308         initially declare that we had found a match, and later find that
20309         constraints eliminate that possibility, yet continue to use the
20310         now stale "matched" indicator.  That would lead to an infinite loop.
20311         The solution is to update "matched" when necessary.
20312         Introduced by commit v0.1-983-g403adf1.
20314 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
20316         dfa: avoid match middle in multibyte character
20317         * lib/dfa.c (transit_state): If fails in matching single byte characters
20318         on a state including period expression in non-UTF8 multibyte locales,
20319         skip trailing bytes.
20320         (dfa_supported): Revert previous change.
20322 2016-11-27  Jim Meyering  <meyering@fb.com>
20324         dfa: avoid false match in non-UTF8 multibyte locales
20325         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
20326         as "not supported" so that callers will resort to using regex-based
20327         matcher.  This will surely hurt performance, but correctness trumps
20328         performance here, and the affected locales are less and less relevant,
20329         these days.  See grep's bug report https://bugs.gnu.org/24975.
20331 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
20333         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
20334         * lib/ptsname_r.c: Include the appropriate headers.
20335         [__sun]: Delete sys/sysmacros.h include.
20336         [_AIX || __osf__]: Likewise.
20337         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
20339 2016-11-27  Pádraig Brady  <P@draigBrady.com>
20341         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
20342         * lib/md4.c (md4_process_bytes): The existing define is made internal
20343         in recent versions of glibc, so also use this new public define.
20344         * lib/md5.c (md5_process_bytes): Likewise.
20345         * lib/sha1.c (sha1_process_bytes): Likewise.
20346         * lib/sha256.c (sha256_process_bytes): Likewise.
20347         * lib/sha512.c (sha512_process_bytes): Likewise.
20349 2016-11-27  Pádraig Brady  <P@draigBrady.com>
20351         maint: use a more standard return from mbrtowc test
20352         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
20353         from the test program as this often indicates an
20354         unhandled case in the test program.
20355         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
20356         (gl_MBRTOWC_SANITYCHECK): Likewise.
20357         (gl_MBRTOWC_NULL_ARG2): Likewise.
20358         (gl_MBRTOWC_NUL_RETVAL): Likewise.
20360 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
20362         freopen: work around glibc bug with closed fd
20363         Work around glibc bug#15589, where freopen mishandles the case
20364         where stdin etc. are already closed.
20365         * doc/posix-functions/freopen.texi (freopen): Document the bug.
20366         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
20367         instead of __need_FILE, as the latter does not work with glibc.
20368         Include <fcntl.h>, for open flags.
20369         (rpl_freopen): Work around glibc bug.
20370         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
20371         * modules/freopen (Depends-on): Add fcntl-h.
20372         * tests/test-freopen.c (main): Test for bug.
20374 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20376         fnmatch: fix typo introduced on 2016-08-17
20377         This fixes the port to non-GCC compilers that lack __builtin_expect.
20378         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
20380         dfa: simplify with new function fillset
20381         * lib/dfa.c (fillset): New function.
20382         Use it for clarity when applicable.
20384         dfa: fix glitches with on-demand states
20385         Also, adjust commentary to better match new code.
20386         Some of these glitches predate the recent change.
20387         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
20388         only non-initial states.
20389         (dfastate): Rename locals to better match new roles.
20390         Move them into nested scopes if this is easy.
20391         Omit unnecessary calls to zeroset.
20392         Simplify test for whether to throw in the positions of state 0.
20393         Omit C99-ism (decl after statement) since Gawk still wants C89.
20394         (build_state): Omit unnecessary test and assignment.
20395         Fix some confusion that counted transition tables inaccurately
20396         and could cause a memory leak.
20397         (dfaexec_main): Redo to make it clearer to the compiler that
20398         -1 and -2 are the only negative state numbers here.
20400 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
20402         dfa: addition of new state on demand
20403         * src/dfa.c (dfastate): Add argument UC, the current input character.
20404         Fill only a group including the character in transition table.
20405         (realloc_trans_if_necessary): Add the dummy state which means that a
20406         transition table is assigned but the next state is not assigned.
20407         (build_state): Return the next state.  All callers updated.
20408         (transit_state_singlebyte): If we get the dummy state,
20409         fill the transition table.
20410         (dfaexec_main): Handle the dummy state.
20411         (free_mbdata, dfafree): Consider the dummy state.
20413 2016-11-24  Daiki Ueno  <ueno@gnu.org>
20415         srclist: sync with released gettext
20416         * config/srclist.txt: Set "release" option to the files under
20417         $GETTEXT.
20419 2016-11-24  Daiki Ueno  <ueno@gnu.org>
20421         srclist: add "release" option
20422         * config/srclist.txt: Change the format so that the first column
20423         of each line points to the top-level directory of the source
20424         archive.
20425         * config/srclist-update: Accept "release" option that checks files
20426         from the most recently tagged revision in the source archive.
20428 2016-11-21  Bruno Haible  <bruno@clisp.org>
20430         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
20431         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
20432         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
20433         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
20434         Inline and remove member function 'rpl ()' of the wrapper struct.
20436 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20438         dfa: fix logic typo
20439         Problem reported by Stephane Chazelas (Bug#24973).
20440         * lib/dfa.c (using_simple_locale): Fix typo that caused some
20441         non-simple locales like fr_FR to be treated as simple.
20443 2016-11-20  Jim Meyering  <meyering@fb.com>
20445         fix test driver leaks: exclude, malloc, realloc
20446         * tests/test-exclude.c (main): Fix trivial leak.
20447         * tests/test-malloc-gnu.c (main): Likewise.
20448         * tests/test-realloc-gnu.c (main): Likewise.
20449         With these changes, grep's tests are now leak free.
20450         I.e., running them with ASAN elicits no failure:
20451           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
20452             AM_LDFLAGS='-fsanitize=address -static-libasan' check
20454 2016-11-11  Bruno Haible  <bruno@clisp.org>
20456         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
20457         * modules/libunistring: (License): Change from LGPL to
20458         "LGPLv3+ or GPLv2".
20459         * modules/libunistring-optional: Likewise.
20460         * modules/unicase/*: Likewise.
20461         * modules/uniconv/*: Likewise.
20462         * modules/unictype/*: Likewise.
20463         * modules/unigbrk/*: Likewise.
20464         * modules/unilbrk/*: Likewise.
20465         * modules/uniname/*: Likewise.
20466         * modules/uninorm/*: Likewise.
20467         * modules/unistdio/*: Likewise.
20468         * modules/unistr/*: Likewise.
20469         * modules/uniwbrk/*: Likewise.
20470         * modules/uniwidth/*: Likewise.
20472 2016-11-12  Bruno Haible  <bruno@clisp.org>
20474         Relicense some modules under LGPLv2+.
20475         Paul Eggert's approval is in
20476         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
20477         Eric Blake's approval is in
20478         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
20479         Ludovic Courtès's approval is in
20480         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
20481         * modules/isnand-nolibm (License): Change to LGPLv2+.
20482         * modules/isnanf-nolibm (License): Likewise.
20483         * modules/isnanl-nolibm (License): Likewise.
20485 2016-11-19  Bruno Haible  <bruno@clisp.org>
20487         Relicense some modules under LGPLv2+.
20488         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
20489         modules/vasnprintf.
20490         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
20491         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
20492         All other significant changes to the files in lib/ of these modules
20493         are from me.
20494         * modules/memcmp2 (License): Change to LGPLv2+.
20495         * modules/amemxfrm (License): Likewise.
20496         * modules/fpieee (License): Likewise.
20497         * modules/fpucw (License): Likewise.
20498         * modules/frexp-nolibm (License): Likewise.
20499         * modules/frexpl-nolibm (License): Likewise.
20500         * modules/printf-frexp (License): Likewise.
20501         * modules/printf-frexpl (License): Likewise.
20502         * modules/printf-safe (License): Likewise.
20503         * modules/signbit (License): Likewise.
20505 2016-11-17  Bruno Haible  <bruno@clisp.org>
20507         Enable Unicode decoder safety unconditionally.
20508         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
20509         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
20510         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20511         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20512         * lib/unistr/u8-prev.c (u8_prev): Likewise.
20513         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
20514         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
20515         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
20516         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
20517         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
20518         * lib/unistr/u16-prev.c (u16_prev): Likewise.
20519         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
20520         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
20521         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
20522         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
20523         * lib/unistr/u32-prev.c (u32_prev): Likewise.
20524         * lib/unistr/u32-next.c (u32_next): Likewise.
20525         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
20526         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
20527         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20528         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
20529         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
20530         CONFIG_UNICODE_SAFETY tests unconditionally.
20531         * tests/unistr/test-u32-mblen.c (main): Likewise.
20532         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
20533         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
20534         * tests/unistr/test-u32-next.c (main): Likewise.
20535         * tests/unistr/test-u32-strmblen.c (main): Likewise.
20536         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
20537         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
20538         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
20539         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
20540         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20541         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
20542         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
20543         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
20544         * lib/unistr/u16-check.c (u16_check): Update comment.
20545         * NEWS: Mention the changes that callers should be aware of.
20547 2016-11-19  Bruno Haible  <bruno@clisp.org>
20549         relocatable-prog-wrapper: Fix breakage on Cygwin.
20550         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
20551         (Depends-on): Remove intprops.
20552         * lib/relocwrapper.c: Update dependency tree.
20553         (strerror): Undefine.
20554         * build-aux/install-reloc (func_create_wrapper): Do not compile
20555         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
20557 2016-11-19  Bruno Haible  <bruno@clisp.org>
20559         strerror: Make it compile in C++ mode.
20560         * lib/strerror.c (strerror): Ignore the return value of memcpy().
20562 2016-11-15  Pedro Alves  <palves@redhat.com>
20564         sys_time: add gnulib::timeval for C++
20565         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
20566         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
20567         timeval macro.
20569 2016-11-14  Pedro Alves  <palves@redhat.com>
20571         snippet/c++defs: fix real-floating arg functions in C++ mode
20572         Also, define isfinite, isinf, isnan, signbit in the gnulib
20573         namespace instead of in the global namespace.
20574         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
20575         (_GL_END_NAMESPACE): New.
20576         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
20577         (isfinite, isinf, isnan, signbit) [__cplusplus &&
20578         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
20579         instead of in the global namespace.
20580         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
20581         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
20582         of in the global namespace.
20584 2016-11-13  Jim Meyering  <meyering@fb.com>
20586         strftime: don't use __THROW
20587         Each use of __THROW would provoke this from gcc-7-to-be:
20589           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
20590             on unit local functions [-Wattributes]
20591           static int iso_week_days (int, int) __THROW;
20592           ^~~~~~
20593         * lib/strftime.c (__THROW): Don't define.
20594         Remove each use of __THROW.
20595         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
20596         (tm_diff, iso_week_days, __strftime_internal): Likewise.
20598 2016-11-14  Paul Eggert  <eggert@union>
20600         obstack: port to gcc -fcheck-pointer-bounds
20601         Problem found by 'make check' failure on bleeding-edge coreutils
20602         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
20603         6.2.0-5ubuntu12), configured via "./configure
20604         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
20605         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
20606         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
20607         New macro, copied from fts_.h.
20608         (struct _obstack_chunk.contents): Use it.
20610 2016-11-14  Eric Blake  <eblake@redhat.com>
20612         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
20613         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
20614         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
20616 2016-11-14  Pádraig Brady  <P@draigBrady.com>
20618         strptime: fix compile error in recent change
20619         * lib/strptime.c (__strptime_internal): Fix ported code.
20621 2016-11-11  Bruno Haible  <bruno@clisp.org>
20623         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
20624         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
20625         (func_import): Extend determination of license_incompatibilities.
20626         (func_create_testdir): Extend table of license compatibility. Handle
20627         also the licenses GPLv3+, GPL, LGPLv3+.
20629 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
20631         strftime: tune %q
20632         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
20634         Merge strftime.c changes from glibc
20635         This incorporates:
20636         2007-10-16 [BZ #5184] Add tzset_called argument
20637         2008-06-13 [BZ #6612] pass reference to tzset_called around
20638         2009-10-30 Implement Burmese language locale for Myanmar
20639         2010-01-09 Add support for XPG7 testing
20640         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
20641         2015-10-20 Convert miscellaneous function definitions to prototype style
20642         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
20643         it anyway and this lessens the difference between gnulib and glibc.
20644         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
20645         (__THROW): Define if standard headers do not.
20646         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
20647         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
20648         Declare with __THROW.
20649         (__strftime_internal): Rename from strftime_case_. Add arg for
20650         whether tzset is called.  All uses changed.  Call tzset at most
20651         once.  Allow %OC, for Burmese.
20652         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
20653         Don't assume values are in range.
20655 2016-11-12  Eric Blake  <eblake@redhat.com>
20657         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
20658         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
20659         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
20660         different value.
20662 2006-11-12  Pedro Alves  <palves@redhat.com>
20664         Fix gnulib C++ namespace support and std::frexp
20665         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
20666         _GL_CXXALIASWARN.
20668 2006-11-12  Pedro Alves  <palves@redhat.com>
20670         GNULIB_NAMESPACE::func need not pull in rpl_func
20671         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
20672         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
20673         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
20674         struct instead of a function pointer.
20676 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
20678         manywarnings: fix -Wno-missing-field-initializers detection
20679         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
20680         to be independent of -Wunused-variable.  I.E. ensure the latter
20681         warning doesn't occur so that detection of the former is accurate.
20683 2016-11-05  Pádraig Brady  <pbrady@fb.com>
20685         strftime,strptime: support %q to represent the quarter
20686         * lib/strftime.c (strftime_case_): Add %q case.
20687         * lib/strptime.c (__strptime_internal): Likewise.
20688         * tests/test-strftime.c (quarter_test): A new test case.
20690 2016-11-03  Eric Blake  <eblake@redhat.com>
20692         bootstrap: Fix get_version() for AIX 5.3
20693         * build-aux/bootstrap (get_version): Factor out sed script, since
20694         indented comments choke AIX 5.3 sed.
20695         Reported-by: Michael Felt <aixtools@gmail.com>
20697 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
20699         intprops: port to older XL C
20700         Problem reported by Alexander Samoilov in:
20701         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
20702         http://savannah.nongnu.org/bugs/?49448
20703         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
20704         Define to 1 only for XL C 12.1 or later, since this bug
20705         occurs in XL C for AIX 6.0 but not in 12.1.
20707 2016-11-02  Pádraig Brady  <P@draigBrady.com>
20709         backupfile: initialize default suffix within the implementation
20710         * lib/backupfile.c (find_backup_file_name): Initialize the
20711         global variable here, to simplify usage, and to only call
20712         getenv() when needed.
20714 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
20716         futimens: remove FIXME for old Linux kernels
20717         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
20718         this in 2012" FIXME, like that for utimensat.
20720         utimensat: remove FIXME for old Linux kernels
20721         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
20722         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
20723         this in 2012" FIXME, by assuming the file system bug is absent
20724         unless demonstrated to be present.  We no longer need to worry
20725         about Linux kernel 2.6.32 when building with newer kernels.
20727 2016-10-16  Bruno Haible  <bruno@clisp.org>
20729         qsort_r: Fix macrology for platforms that lack the function.
20730         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
20731         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
20732         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
20733         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
20734         not exist.
20735         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
20736         the function exists.
20737         * modules/qsort_r: Add comments.
20739 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
20741         sys_types: fix Texinfo typos
20742         * doc/glibc-functions/gnu_dev_major.texi:
20743         * doc/glibc-functions/gnu_dev_makedev.texi:
20744         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
20746 2016-10-26  John David Anglin  <dave.anglin@bell.net>
20748         getprogname: port to HP-UX
20749         See Bug#24805.
20750         * lib/getprogname.c (getprogname) [__hpux]: Port.
20751         * tests/test-getprogname.c (STREQ) [__hpux]:
20752         Special-case for HP-UX limitations on program name length.
20754 2016-10-20  Bruno Haible  <bruno@clisp.org>
20756         Update doc about target platforms.
20757         * doc/gnulib-intro.texi (Target Platforms): Update list.
20759 2016-10-15  Bruno Haible  <bruno@clisp.org>
20761         opendir, readdir, closedir: Relicense under LGPLv2+.
20762         * modules/opendir (License): Change to LGPLv2+.
20763         * modules/readdir (License): Likewise.
20764         * modules/closedir (License): Likewise.
20766 2016-10-16  Bruno Haible  <bruno@clisp.org>
20768         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
20769         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
20770         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
20771         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
20772         HAVE_DECL_STRERROR_R.
20774 2016-10-16  Bruno Haible  <bruno@clisp.org>
20776         Make the 'argp' module work without the 'error' module.
20777         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
20779 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
20781         diffseq: restore TOO_EXPENSIVE heuristic
20782         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
20783         (Bug#24715).  The simplest solution is to restore the
20784         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
20785         using a higher threshold to avoid Bug#16848 on smaller files.
20786         * lib/diffseq.h (struct context): Restore member too_expensive.
20787         (struct partition): Restore members lo_minimal, hi_minimal.
20788         (diag, compareseq): Restore arg find_minimal.  All uses changed.
20789         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
20790         1993 to make 'diff' run faster (but not as well) on large inputs,
20791         but use a threshold of 4096 instead of the old 256.
20792         * lib/fstrcmp.c (strcmp_bounded):
20793         * lib/git-merge-changelog.c (compute_differences):
20794         Adjust to diffseq.h changes.
20796 2016-10-22  Bruno Haible  <bruno@clisp.org>
20798         iconv: Avoid compilation error when bootstrapping GNU libiconv.
20799         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
20800         declaration yet, define ICONV_CONST to empty.
20802 2016-10-15  Bruno Haible  <bruno@clisp.org>
20804         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
20805         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
20806         module.
20808 2016-10-16  Bruno Haible  <bruno@clisp.org>
20810         system-quote tests: Avoid compiler warning on AIX.
20811         * tests/test-system-quote-child.c (fopen): Redefine like the system's
20812         <stdio.h> does.
20814 2016-10-16  Bruno Haible  <bruno@clisp.org>
20816         Fix some "gcc -Wall" warnings.
20817         * tests/test-ffsl.c (main): Use variable x, not i.
20818         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
20819         freopen.
20820         * tests/test-sethostname1.c (main): Explicitly ignore the return value
20821         of sethostname.
20823 2016-10-16  Bruno Haible  <bruno@clisp.org>
20825         gnulib-tool: Make --create-testdir on all modules work again.
20826         * gnulib-tool (func_create_testdir): Don't include the
20827         non-recursive-gnulib-prefix-hack module.
20829 2016-10-21  Daiki Ueno  <ueno@gnu.org>
20831         libunistring: change the maintainer to 'all'
20832         * modules/gen-uni-tables, modules/libunistring:
20833         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
20834         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
20835         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
20836         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
20837         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
20838         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
20839         * modules/uniwidth/*: Change the maintainer to 'all'.
20841 2016-10-16  Bruno Haible  <bruno@clisp.org>
20843         Simplify "configure: checking ..." messages.
20844         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
20845         AC_MSG_NOTICE.
20846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
20848 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
20850         quotearg-tests: pacify gcc -Wall
20851         Problem reported by Bruno Haible in:
20852         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
20853         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
20854         * tests/test-quotearg.h: ... from here.
20856 2016-10-20  Pádraig Brady  <P@draigBrady.com>
20858         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
20859         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
20860         Needed on Centos <= 4.
20862 2016-10-20  Jim Meyering  <meyering@fb.com>
20864         printf.m4: fix a bug in detecting printf %j support
20865         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
20866         uintmax_t is defined in neither stdint.h nor inttypes.h.
20867         Before, this macro might have mistakenly set
20868         gl_cv_func_printf_sizes_c99=yes on such a system.
20869         Spotted by Zev Weiss.
20871 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
20873         sched: substitute HAVE_SYS_CDEFS_H too
20874         Problem reported by Tom G. Christensen in:
20875         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
20876         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
20877         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
20879 2016-10-19  Pádraig Brady  <P@draigBrady.com>
20881         quotearg: never write beyond the returned length
20882         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
20883         scan of the string when we initially encounter a single quote when
20884         shell quoting, so that if we then switch to a more concise quoting method
20885         we will not have written beyond that returned length.
20886         This is significant for sh-quote, which has separate routines
20887         to determine the length and do the actual quoting.
20888         * tests/test-quotearg.h: Reinstate the buffer bounds checking
20889         now that we never write more than the returned length.
20891 2016-10-18  Bruno Haible  <bruno@clisp.org>
20893         getprogname tests: Avoid failure in packages that use libtool.
20894         * tests/test-getprogname.c (main): Strip "lt-" prefix.
20895         Based on a patch by Jim Meyering.
20897 2016-10-16  Bruno Haible  <bruno@clisp.org>
20899         getprogname: Fix test failure on Cygwin. Comments.
20900         * lib/getprogname.h: Add comments.
20901         * lib/getprogname.c: Add comments. Fix #elif indentation.
20902         * tests/test-getprogname.c (main): On Cygwin, expect a result without
20903         ".exe" suffix.
20905 2016-10-16  Bruno Haible  <bruno@clisp.org>
20907         Make sure the libunistring detection rejects older versions with a
20908         known bug.
20909         * modules/unistr/u8-strtok (configure.ac): Bump required version.
20910         * modules/unistr/u16-strtok (configure.ac): Likewise.
20911         * modules/unistr/u32-strtok (configure.ac): Likewise.
20913 2016-10-18  Bruno Haible  <bruno@clisp.org>
20915         sh-quote, system-quote: revert regression of unit test.
20916         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
20917         * tests/test-system-quote-main.c (check_one): Likewise.
20919 2016-10-16  Pádraig Brady  <P@draigBrady.com>
20921         quotearg: fix stale tests
20922         * tests/test-quotearg.c [locale_results]: Add the missing str7
20923         entries to the expected results.
20924         * tests/test-system-quote-main.c (check_one): Don't enforce that we
20925         don't write beyond the returned length, since that's no longer the
20926         case if we switch to a more concise quoting style.
20927         * tests/test-sh-quote.c (check_one): Likewise.
20928         (main): Adjust for the new more concise quoting style.
20929         Reported by Bruno Haible.
20931 2016-10-16  Jim Meyering  <meyering@fb.com>
20933         non-recursive-gnulib-prefix-hack: fix inconsequential typo
20934         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
20935         to "$1".  This macro is always invoked with $1 == lib.
20936         Spotted by Bruno Haible
20938 2016-10-16  Bruno Haible  <bruno@clisp.org>
20940         Fix a test crash.
20941         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
20942         fails.
20944 2016-10-16  Pádraig Brady  <P@draigBrady.com>
20946         test-limits-h: suppress -Woverlength-strings
20947         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
20949 2016-10-15  Bruno Haible  <bruno@clisp.org>
20951         gettime, timespec, utimens: Relicense under LGPL.
20952         * modules/gettime (License): Change to LGPL.
20953         * modules/timespec (License): Likewise.
20954         * modules/utimens (License): Likewise.
20956 2016-10-14  Bruno Haible  <bruno@clisp.org>
20957             Pádraig Brady  <P@draigBrady.com>
20959         canonicalize-lgpl: Support the case path_max > INT_MAX.
20960         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
20961         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
20963 2016-10-13  Jim Meyering  <meyering@fb.com>
20965         getprogname: IBM z/OS: avoid NULL-dereference
20966         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
20967         upon strdup failure.
20969 2016-10-12  Jim Meyering  <meyering@fb.com>
20971         test-stdint: use _GL_VERIFY rather than "verify" for some tests
20972         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
20973         and an abbreviated diagnostic rather than verify with the full one,
20974         because the full-length strings would evoke warnings from gcc with
20975         -Woverlength-strings.
20977 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
20979         stdint: port SIZE_MAX to glibc s390
20980         Problem reported by Eric Blake in:
20981         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
20982         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
20983         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
20984         correct type, if possible.
20986 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
20988         getprogname: port to IBM z/OS
20989         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
20991 2016-10-11  Jim Meyering  <meyering@fb.com>
20993         maint: remove stray space after "." in AC_DEFINE comment.
20994         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
20995         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20997 2016-10-05  Jim Meyering  <meyering@fb.com>
20999         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
21000         * lib/long-options.c (parse_long_options): Add a break statement
21001         to avoid this new warning/failure:
21002         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
21003           --create-testdir --dir=/t/x --with-tests --test long-options
21004         ../../gllib/long-options.c: In function 'parse_long_options':
21005         ../../gllib/long-options.c:66:12: error: this statement may \
21006           fall through [-Werror=implicit-fallthrough]
21007                    (*usage_func) (EXIT_SUCCESS);
21008                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
21010 2016-10-05  Jim Meyering  <meyering@fb.com>
21012         utimecmp: avoid new GCC 7 warning from -Wbool-operation
21013         Testing this module would fail when using GCC 7 like this:
21014         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
21015           --dir=/tmp/x --with-tests --test utimecmp
21016         ../../gllib/utimecmp.c: In function ‘utimecmp’:
21017         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
21018           [-Werror=bool-operation]
21019                          time_t s = src_s & ~ (res == 2 * BILLION);
21020                                             ^
21021         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
21022           [-Werror=bool-operation]
21023                src_s &= ~ (res == 2 * BILLION);
21024                         ^
21025         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
21026         Instead, make it explicit that we intend to apply it to 0 or 1.
21028 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
21030         dfa: save memory for states
21031         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
21032         states if dfa has a lot of caches.
21034 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
21036         wchar, wctype-h: fix for MinGW 3.22.2
21037         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
21038         special invocation, to fix issues with MinGW 3.22.2 wchar.h
21039         when included from <string.h>.
21040         * lib/wctype.in.h [__MINGW32__]: Add special invocation
21041         convention for MinGW 3.22.2, to solve issues with their
21042         wctype.h when included from <ctype.h>.
21044 2016-10-05  Jim Meyering  <meyering@fb.com>
21046         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
21047         * lib/long-options.c (parse_long_options): Add a break statement
21048         to avoid this new warning/failure:
21049         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
21050           --create-testdir --dir=/t/x --with-tests --test long-options
21051         ../../gllib/long-options.c: In function ‘parse_long_options’:
21052         ../../gllib/long-options.c:66:12: error: this statement may \
21053           fall through [-Werror=implicit-fallthrough]
21054                    (*usage_func) (EXIT_SUCCESS);
21055                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
21057         utimecmp: avoid new GCC 7 warning from -Wbool-operation
21058         Testing this module would fail when using GCC 7 like this:
21059         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
21060           --dir=/tmp/x --with-tests --test utimecmp
21061         ../../gllib/utimecmp.c: In function ‘utimecmp’:
21062         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
21063           [-Werror=bool-operation]
21064                          time_t s = src_s & ~ (res == 2 * BILLION);
21065                                             ^
21066         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
21067           [-Werror=bool-operation]
21068                src_s &= ~ (res == 2 * BILLION);
21069                         ^
21070         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
21071         Instead, make it explicit that we intend to apply it to 0 or 1.
21073 2016-10-03  Pádraig Brady  <P@draigBrady.com>
21075         quotearg: minimize shell quoting using double quotes
21076         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
21077         quote in encountered then use double quotes (c style quoting)
21078         when possible, as it simplifies the quoting.
21079         * tests/test-quotearg-simple.c: Add test cases.
21080         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
21081         for the fact we now may write beyond the returned length.
21083 2016-10-02  Jim Meyering  <meyering@fb.com>
21085         vasnprintf.c: avoid spurious warning from GCC 7
21086         The presence of cpp directives renders this "FALLTHROUGH" comment
21087         ineffective, so does not suppress the -Wimplicit-fallthrough warning
21088         from GCC 7 built from git on 2016-10-02.
21089         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
21090         directives, so that it takes effect once again.  This is clearly
21091         not a proper change, and I will revert it once this bug is fixed:
21092         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
21094 2016-10-01  Jim Meyering  <meyering@fb.com>
21096         getprogname: correct the test for a __progname variable
21097         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
21098         and AC_LINK_IFELSE to check for a global __progname.  If found,
21099         define HAVE_VAR___PROGNAME.
21100         * lib/getprogname.c (getprogname): Reflect the new name of the
21101         feature- checked preprocessor symbol:
21102         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
21104 2016-09-28  Jim Meyering  <meyering@fb.com>
21106         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
21107         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
21108         fall-through case with a /* fallthrough */ comment.
21110         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
21111         * lib/dfa.c (dfassbuild): Mark the end of this case with a
21112         /* fallthrough */ comment.
21114         getprogname: avoid __progname vs program_invocation_short_name pitfall
21115         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
21116         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
21117         not with Fedora 24's glibc-2.23.1-10.
21118         * lib/getprogname.c (__progname): Move this declaration down...
21119         (getprogname): ... into the #elif block where used, and make it
21120         explicitly "extern".
21122         getprogname: port to OpenBSD 5.1
21123         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
21124         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
21125         * modules/getprogname (configure.ac): Move most of this code...
21126         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
21127         increment serial number, and add a test for __progname.
21128         https://bugs.gnu.org/24562
21129         Reported by Nelson H. F. Beebe.
21131 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
21133         sched: port to GCC 6.2.1 on macOS Sierra
21134         Problem reported by Denis Davydov in:
21135         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
21136         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
21137         Include <sys/cdefs.h> before <sched.h>.
21138         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
21139         so that we needn’t worry about the sched.h include bug here.
21140         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
21141         and include it before <sched.h> if it exists, when
21142         checking for <sched.h>.
21144         tests/init.sh: port Alpine fix to AIX 7.1
21145         * tests/init.sh (compare_): When attempting to use diff -U3,
21146         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
21147         diff -u not outputting a space after leading '+', as the users
21148         of 'compare' should not be that picky about its output format.
21149         In the AIX 7.1 case, return with diff exit status (or with 2 if
21150         trouble), instead of some random nonzero exit status.
21151         * tests/test-init.sh (test_compare): Remove space after leading
21152         '+', so that AIX 7.1 'diff' passes the test.
21154 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21156         nl_langinfo: pacify GCC
21157         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
21158         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
21160         stdint: also set GL_GENERATE_LIMITS_H
21161         Problem reported by Jim Meyering in:
21162         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
21163         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
21165         limits-h, stdint: Don't assume extensions, fix typo
21166         * m4/limits-h.m4 (gl_LIMITS_H):
21167         * m4/stdint.m4 (gl_STDINT_H):
21168         Don't assume AC_USE_SYSTEM_EXTENSIONS.
21169         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
21170         reported by Jim Meyering in:
21171         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
21173 2016-09-21  Jim Meyering  <meyering@fb.com>
21175         getprogname: port to AIX
21176         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
21177         and strdup to obtain a short program name string.  Using code from
21178         Bruno Haible and an idea from Bastien ROUCARIÈS, in
21179         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
21180         Assaf Gordon reported that this new file would fail to compile on
21181         AIX-7.1 32bit.
21183 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21185         extensions: fix typo in comment
21186         * m4/extensions.m4: Sync from Autoconf master.
21188         stdint: support new _WIDTH macros
21189         * doc/posix-headers/stdint.texi: Document this.
21190         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
21191         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
21192         support for INTMAX_WIDTH, etc. as well as for support for just C99.
21193         * modules/stdint (Depends-on): Add limits-h.
21194         (Makefile.am): Substitute HAVE_C99_STDINT_H.
21195         * modules/stdint-tests (Depends-on): Add extensions, so that
21196         INTMAX_MAX etc. are defined.
21197         * tests/test-stdint.c: Verify the new macros.
21199         limits-h: new module
21200         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
21201         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
21202         * doc/posix-headers/limits.texi: Document new module.
21203         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
21204         * modules/limit-h-tests, tests/test-limits-h.c: New files.
21206         stdio: don't redefine __USE_MINGW_ANSI_STDIO
21207         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
21208         if it is already defined.  Apparently GNU Emacs relies on this.  See:
21209         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
21211 2016-09-15  Eric Blake  <eblake@redhat.com>
21213         sys_types: avoid glibc 2.25 warnings about major()
21214         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
21215         older autoconf.
21216         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
21217         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
21218         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
21219         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
21221         mountlist: include sysmacros.h for glibc
21222         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
21223         AC_HEADER_MAJOR.
21224         * lib/mountlist.c (includes): Use correct headers.
21226 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
21228         extensions: port to more ISO C TSes
21229         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
21230         master, to add support for more recent ISO C TRs and TSes.
21232 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21234         intprops: new macro TYPE_WIDTH
21235         * lib/intprops.h (TYPE_WIDTH): New macro.
21236         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
21237         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
21238         * lib/parse-datetime.y (parse_datetime2):
21239         Use it.
21241         extensions: port to recent ISO C TRs
21242         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
21243         Sync from Autoconf master, to add support for recent ISO C TRs.
21244         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
21245         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
21246         the MinGW option is not an extension.
21248 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21250         dfa: port to Solaris 9
21251         Problems reported by Tom G. Christensen in:
21252         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
21253         * modules/dfa (Depends-on): Add isblank.
21254         * modules/dfa-tests (dfa_match_aux_LDADD):
21255         Rename from test_stat_LDADD, to fix typo.
21256         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
21258 2016-09-10  Jim Meyering  <meyering@fb.com>
21260         strverscmp: avoid link failure on OS X
21261         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
21262         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
21264 2016-08-16  Jim Meyering  <meyering@fb.com>
21266         dfa: new module, importing grep's DFA matcher
21267         Since grep's DFA matcher is now being used by two gnulib-enabled
21268         projects, grep and sed, it makes sense to version-control its
21269         sources and unit tests in one place: here.
21270         * modules/dfa: New module.
21271         * modules/dfa-tests: New file.
21272         * lib/dfa.c: New file, from grep.
21273         * lib/dfa.h: Likewise.
21274         * lib/localeinfo.c: Likewise.
21275         * lib/localeinfo.h: Likewise.
21276         * tests/dfa-match-aux.c: Likewise.
21277         * tests/dfa-invalid-char-class.sh: Likewise.
21278         * tests/dfa-match.sh: Likewise, with minor changes.
21279         * MODULES.html.sh (Misc): Add "dfa" to this list.
21281 2016-09-09  Jim Meyering  <meyering@fb.com>
21283         getprogname-tests: don't depend on assert-h
21284         * modules/getprogname-tests (Depends-on): Remove assert-h.
21285         It was not needed, and in fact would cause build failure for
21286         coreutils on some systems.  Reported by Assaf Gordon in https:
21287         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
21289 2016-09-07  Jim Meyering  <meyering@fb.com>
21291         getprogname-tests: work also when EXEEXT is nonempty
21292         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
21293         * tests/test-getprogname.c (main): Use it.
21294         Suggested by Gisle Vanem.
21296 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
21298         getprogname: fix errors in previous change
21299         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
21300         s/program_invocation_name/base/
21301         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
21303 2016-09-08  Pádraig Brady  <P@draigBrady.com>
21305         parse-datetime: restrict debug output to input string
21306         * lib/parse-datetime.y (parse_datetime2): If we parse
21307         all of the input but determine it's invalid, ensure
21308         we don't output the now invalid input pointer.
21309         This issue was seen with `date -d 'now +1'`.
21311 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
21313         flexmember: new macro FLEXALIGNOF
21314         * lib/flexmember.h: Include <stddef.h>, for offsetof.
21315         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
21316         this macro.  Update comments.
21318 2016-09-07  Jim Meyering  <meyering@fb.com>
21320         getprogname: port to systems with __argv (mingw, msvc)
21321         * lib/getprogname.c (getprogname): Include "dirname.h" and use
21322         last_component: more general than open coding it with hard-coded "/".
21323         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
21324         * modules/getprogname (Depends-on): Add dirname-lgpl.
21325         (configure.ac): Check for __argv in <stdlib.h>.
21326         * modules/getprogname-tests: New file.
21327         * tests/test-getprogname.c: New file.
21328         Suggested by Gisle Vanem in
21329         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
21331 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
21333         flexmember: port better to GCC + valgrind
21334         With a char[] flexible array member in a struct with nontrivial
21335         alignment, GCC-generated code can access past the end of the
21336         array, because GCC assumes there are padding bytes to get the
21337         struct aligned.  So the common idiom of malloc (offsetof (struct
21338         s, m), n) does not properly allocate an n-byte trailing member, as
21339         malloc’s argument should be the next multiple of alignof (struct s).
21340         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
21341         Although C11 apparently permits this GCC optimization (i.e., there
21342         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
21343         See the thread containing:
21344         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
21345         * lib/flexmember.h: New file.
21346         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
21347         * lib/localename.c, lib/time_rz.c:
21348         Include flexmember.h.
21349         * lib/fnmatch_loop.c (struct patternlist):
21350         * lib/localename.c (struct hash_node):
21351         Use FLEXIBLE_ARRAY_MEMBER.
21352         * lib/fnmatch_loop.c (EXT):
21353         * lib/fts.c (fts_alloc):
21354         * lib/glob.c (glob_in_dir):
21355         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
21356         * lib/localename.c (gl_lock_define_initialized):
21357         * lib/time_rz.c (tzalloc):
21358         Use FLEXSIZEOF instead of offsetof.
21359         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
21360         Check that the size of the struct can be taken.
21361         * modules/flexmember (Files): Add lib/flexmember.h.
21362         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
21363         Add flexmember.
21365 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
21367         getprogname: port to Solaris 10
21368         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
21369         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
21370         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
21372         stdalign: correct mistake in alignof doc
21373         Problem reported by Joseph Myers in:
21374         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
21375         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
21376         alignof(S) where S is a structure containing a flexible array
21377         member.  The Gnulib substitute does not support this, but C11 does.
21379 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
21381         main.mk: remove sc_program_name, since there is no more need to
21382         use set_program_name in tools (getprogname is enough for most
21383         of the cases).
21384         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
21385         * top/maint.mk (sc_program_name): Remove.
21387 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
21389         Port tests away from progname, since modules that need the
21390         program name already depend on getprogname.
21391         * modules/acl-tests (Depends-on): Remove progname.
21392         * modules/argmatch (Depends-on): Likewise.
21393         * modules/argmatch-tests (Depends-on): Likewise.
21394         * modules/argp-tests (Depends-on): Likewise.
21395         * modules/argp-version-etc-tests (Depends-on): Likewise.
21396         * modules/array-list-tests (Depends-on): Likewise.
21397         * modules/array-oset-tests (Depends-on): Likewise.
21398         * modules/avltree-list-tests (Depends-on): Likewise.
21399         * modules/avltree-oset-tests (Depends-on): Likewise.
21400         * modules/avltreehash-list-tests (Depends-on): Likewise.
21401         * modules/carray-list-tests (Depends-on): Likewise.
21402         * modules/copy-file-tests (Depends-on): Likewise.
21403         * modules/exclude-tests (Depends-on): Likewise.
21404         * modules/fchownat-tests (Depends-on): Likewise.
21405         * modules/fdopendir-tests (Depends-on): Likewise.
21406         * modules/filenamecat-tests (Depends-on): Likewise.
21407         * modules/fstatat-tests (Depends-on): Likewise.
21408         * modules/fstrcmp-tests (Depends-on): Likewise.
21409         * modules/linked-list-tests (Depends-on): Likewise.
21410         * modules/linkedhash-list-tests (Depends-on): Likewise.
21411         * modules/mkdirat-tests (Depends-on): Likewise.
21412         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
21413         * modules/nonblocking-socket-tests (Depends-on): Likewise.
21414         * modules/obstack-printf-tests (Depends-on): Likewise.
21415         * modules/openat-tests (Depends-on): Likewise.
21416         * modules/parse-datetime-tests (Depends-on): Likewise.
21417         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
21418         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
21419         * modules/quotearg-simple-tests (Depends-on): Likewise.
21420         * modules/quotearg-tests (Depends-on): Likewise.
21421         * modules/rbtree-list-tests (Depends-on): Likewise.
21422         * modules/rbtree-oset-tests (Depends-on): Likewise.
21423         * modules/rbtreehash-list-tests (Depends-on): Likewise.
21424         * modules/spawn-pipe-tests (Depends-on): Likewise.
21425         * modules/system-quote-tests (Depends-on): Likewise.
21426         * modules/uniname/uniname-tests (Depends-on): Likewise.
21427         * modules/uninorm/nfc-tests (Depends-on): Likewise.
21428         * modules/uninorm/nfd-tests (Depends-on): Likewise.
21429         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
21430         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
21431         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
21432         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
21433         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
21434         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
21435         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
21436         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
21437         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
21438         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
21439         * modules/unlinkat-tests (Depends-on): Likewise.
21440         * modules/version-etc-tests (Depends-on): Likewise.
21441         * modules/xalloc-die-tests (Depends-on): Likewise.
21442         * modules/xmemdup0-tests (Depends-on): Likewise.
21443         * modules/xprintf-posix-tests (Depends-on): Likewise.
21444         * modules/xvasprintf-tests (Depends-on): Likewise.
21445         * tests/test-argmatch.c: Do not include progname.h.
21446         (main) Stop calling set_program_name.
21447         * tests/test-argp-version-etc.c: Likewise.
21448         * tests/test-argp.c: Likewise.
21449         * tests/test-argv-iter.c: Likewise.
21450         * tests/test-array_list.c: Likewise.
21451         * tests/test-array_oset.c: Likewise.
21452         * tests/test-avltree_list.c: Likewise.
21453         * tests/test-avltree_oset.c: Likewise.
21454         * tests/test-avltreehash_list.c: Likewise.
21455         * tests/test-carray_list.c: Likewise.
21456         * tests/test-copy-acl.c: Likewise.
21457         * tests/test-copy-file.c: Likewise.
21458         * tests/test-exclude.c: Likewise.
21459         * tests/test-fchownat.c: Likewise.
21460         * tests/test-fdopendir.c: Likewise.
21461         * tests/test-filenamecat.c: Likewise.
21462         * tests/test-fstatat.c: Likewise.
21463         * tests/test-fstrcmp.c: Likewise.
21464         * tests/test-linked_list.c: Likewise.
21465         * tests/test-linkedhash_list.c: Likewise.
21466         * tests/test-mkdirat.c: Likewise.
21467         * tests/test-nonblocking-pipe-main.c: Likewise.
21468         * tests/test-nonblocking-socket-main.c: Likewise.
21469         * tests/test-obstack-printf.c: Likewise.
21470         * tests/test-openat.c: Likewise.
21471         * tests/test-parse-datetime.c: Likewise.
21472         * tests/test-pipe-filter-gi1.c: Likewise.
21473         * tests/test-pipe-filter-gi2-main.c: Likewise.
21474         * tests/test-pipe-filter-ii1.c: Likewise.
21475         * tests/test-pipe-filter-ii2-main.c: Likewise.
21476         * tests/test-quotearg-simple.c: Likewise.
21477         * tests/test-quotearg.c: Likewise.
21478         * tests/test-rbtree_list.c: Likewise.
21479         * tests/test-rbtree_oset.c: Likewise.
21480         * tests/test-rbtreehash_list.c: Likewise.
21481         * tests/test-sameacls.c: Likewise.
21482         * tests/test-set-mode-acl.c: Likewise.
21483         * tests/test-spawn-pipe-main.c: Likewise.
21484         * tests/test-system-quote-main.c: Likewise.
21485         * tests/test-unlinkat.c: Likewise.
21486         * tests/test-version-etc.c: Likewise.
21487         * tests/test-xalloc-die.c: Likewise.
21488         * tests/test-xfprintf-posix.c: Likewise.
21489         * tests/test-xmemdup0.c: Likewise.
21490         * tests/test-xprintf-posix.c: Likewise.
21491         * tests/test-xvasprintf.c: Likewise.
21492         * tests/uniname/test-uninames.c: Likewise.
21493         * tests/uninorm/test-u32-nfc-big.c: Likewise.
21494         * tests/uninorm/test-u32-nfd-big.c: Likewise.
21495         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
21496         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
21497         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
21498         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
21499         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
21500         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
21501         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
21502         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
21503         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
21504         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
21505         * tests/test-c-stack.c: (program_name): Do not define.
21506         (main): Do not set program_name.
21507         * tests/test-closein.c: Likewise.
21508         * tests/test-xstrtol.c: Likewise.
21509         * tests/test-yesno.c: Likewise.
21511 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
21513         Port modules to use getprogname explicitly, instead of requiring
21514         progname to be used (or program_name to be provided).
21515         * lib/argmatch.c: Do not include progname.h.
21516         [TEST] (program_name): Do not define.
21517         [TEST] (main): Call getprogname instead of using program_name.
21518         * lib/c-stack.c: Do not include progname.h.
21519         (program_name): Do not define.
21520         (die): Call getprogname instead of using program_name.
21521         * lib/chdir-long.c: Do not include progname.h.
21522         [TEST_CHDIR] (main): Do not set program_name.
21523         * lib/error.c [!_LIBC]: Include progname.h.
21524         [!_LIBC] (program_name): Define using getprogname.
21525         * lib/euidaccess.c: Do not include progname.h.
21526         [TEST] (main): Do not set program_name.
21527         * lib/git-merge-changelog.c: Include getprogname.h instead of
21528         progname.h.
21529         (usage): Call getprogname instead of using program_name.
21530         (main): Likewise.  Stop calling set_program_name.
21531         * lib/group-member.c: Do not include progname.h.
21532         [TEST] (main): Do not set program_name.
21533         * modules/argmatch (Depends-on): Add getprogname.
21534         * modules/c-stack (Depends-on): Likewise.
21535         * modules/error (Depends-on): Likewise.
21536         * modules/git-merge-changelog (Depends-on): Likewise.
21537         Also remove progname.
21539 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
21541         * NEWS: Document the deprecation of the 'progname' module.
21543 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
21545         getprogname: new module
21546         This provides a LGPL module for getting the name of the current
21547         program, using the same API found on *BSD systems.
21548         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
21549         * modules/getprogname: New files.
21550         * MODULES.html.sh (Misc): Add getprogname.
21552 2016-09-02  Jim Meyering  <meyering@fb.com>
21554         manywarnings: add -fno-common
21555         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
21556         to the list.  Quoting the manual, "Compiling with -fno-common is
21557         useful on targets for which it provides better performance, or if
21558         you wish to verify that the program will work on other systems that
21559         always treat uninitialized variable declarations this way [putting
21560         it in the data section]."  If diffutils had been using this sooner,
21561         it would have prevented this duplicate declaration issue:
21562         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
21564 2016-08-31  Simon Josefsson  <simon@josefsson.org>
21566         parse-datetime: Fix typo.
21567         * lib/parse-datetime.y (parse_datetime2): Fix typo.
21569 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
21571         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
21572         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
21573         GCC 5 and 6 that have __builtin_sub_overflow but not
21574         __builtin_sub_overflow_p.  With the recent changes, these
21575         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
21576         implementation than with INT_SUBTRACT_OVERFLOW implementation,
21577         since the former needs just one runtime comparison whereas the
21578         latter needs two.
21580         strverscmp: sync with glibc
21581         Although this doesn't exactly synchronize with glibc
21582         byte-for-byte, it makes the code behave the same as glibc.
21583         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
21584         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
21585         difference shouldn't matter in practical use.  All uses changed
21586         back to isdigit.
21587         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
21588         (next_state): Now unsigned char array; redo elements.
21589         (result_type): Now signed char array; redo elements.
21590         (__strverscmp): Fix glibc bug 9913 by using new states.
21591         * tests/test-strverscmp.c (main): Test glibc bug 9913.
21593 2016-08-29  Jim Meyering  <meyering@fb.com>
21595         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
21596         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
21597         similarly to how it was done to intprops.h.
21599 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
21601         intprops.h: port recent changes to GCC 6.2.0
21602         * lib/intprops.h (__has_builtin): Move earlier.
21603         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
21604         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
21605         the last argument can be null.  All uses changed.
21606         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
21607         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
21608         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
21609         and it's not clear which GCC versions it works for.
21610         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
21611         its definiens.
21613         intprops.h: use __typeof__ with GCC 7
21614         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
21615         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
21616         This avoids computing the expression's value (which might overflow!).
21618 2016-08-29  Jim Meyering  <meyering@fb.com>
21620         intprops.h, xalloc-oversized.h: work with gcc 7
21621         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
21622         __builtin_mul_overflow each accept a NULL pointer as the third
21623         argument.  However in gcc 7, that is no longer accepted.
21624         Instead, one must use the "_p"-suffixed names, with which, the
21625         third parameter is no longer a pointer.
21626         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
21627         the definition: not true for gcc 7 and subsequent.
21628         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
21629         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
21630         Provide new definitions for gcc 7 and subsequent.
21631         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
21632         that works with gcc-7.
21634         intprops.h: fix missing-backslash problems
21635         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
21636         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
21638 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21640         intprops: fix paren typo on old platforms
21641         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
21642         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
21643         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
21644         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
21645         && !defined LLONG_MAX]:
21646         Remove stray paren.
21648         intprops: port to OpenVMS
21649         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
21650         * doc/posix-headers/limits.texi: Document the problem.
21651         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
21652         Define if not already defined.
21654 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
21656         parse-datetime: improve debug implementation
21657         Follow-up to commit 12ad79069 ("add optional debug printing").
21658         Improve parse-datetime's debug implementation: remove macros,
21659         replace global debug flag variable with a function parameter,
21660         use nstrftime for formatting.
21661         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
21662         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
21663         (parse_datetime2): New function, accepts 'flags' parameter, supporting
21664         debug flag. Existing interface 'parse_datetime' left unmodified.
21665         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
21666         (struct parser_control): add 'parse_datetime_debug' member variable.
21667         (parse_datetime): Call new function 'parse_datetime2' without debug.
21668         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
21669         pc.parse_datetime_debug variable as needed.
21670         (to_year): Accept new flags parameter, instead of using global variable.
21671         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
21672         use struct 'debug' variable instead of global variable.
21673         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
21674         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
21675         correspnding functions directly instead of using macros.
21676         * modules/parse-datetime: Add gnulib's strftime module.
21678 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
21680         c-strcase-tests: port to EBCDIC
21681         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
21682         which assume ASCII encoding semantics to run only in ASCII
21683         mode, as they fail in EBCDIC.
21685         sigpipe-tests: fix typo
21686         * tests/test-sigpipe.sh: C, not B.
21688 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
21690         canonicalize-lgpl: fix errno after malloca fails
21691         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
21692         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
21693         * lib/canonicalize-lgpl.c (__realpath):
21694         Don't assume malloca sets errno on failure.
21696 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21698         strtod: port errno handling to z/OS
21699         * lib/strtod.c (strtod): Save and restore errno more reliably.
21701 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
21703         strtod: port to z/OS
21704         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
21705         implementation.
21707 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21709         strtod: port to z/OS
21710         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
21711         implementation.
21713         regex, string: rename to avoid '__string'
21714         * lib/regex.h, lib/string.in.h: Do not use the identifier
21715         '__string', as it is effectively reserved by string.h on z/OS.
21717         c-strcase-tests, wcwidth-tests: depend on c-ctype
21718         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
21719         Add c-ctype.
21721 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
21723         thread: port to z/OS
21724         * lib/glthread/thread.c, lib/glthread/thread.h:
21725         Rudimentary gl_thread support for z/OS.
21727         maint: port tests to z/OS errno behavior
21728         * tests/test-nonblocking-reader.h:
21729         * tests/test-nonblocking-writer.h:
21730         Accommodate z/OS errno code preferences. (I believe this should
21731         still be within spec; IBM is good at following the letter if not
21732         the spirit of such things.)
21734         maint: preprocessor changes to support z/OS
21735         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
21736         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
21737         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
21738         * tests/test-nonblocking-pipe.h:
21740         fclose, strstr-simple, wchar: port to z/OS
21741         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
21742         Changes to the Autoconf M4 code to support z/OS.  Note that
21743         fclose() is broken in a different way on z/OS than it is on other
21744         systems, thus the special-case in fclose.m4.
21746         iconv_open-utf-tests, iconv-tests: port to EBCDIC
21747         * tests/test-iconv-utf.c, tests/test-iconv.c:
21748         Added appropriately conditional #pragmas so that the test strings
21749         in test-iconv-utf.c are correctly interpreted in ASCII instead of
21750         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
21751         addressed in a more portable way by simply rewriting all the ASCII
21752         literal characters as octal escapes, but then you would lose the
21753         partial readability that the strings have now. Also, iconv_open()
21754         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
21756         c-strcase-tests, wcwidth-tests: port to EBCDIC
21757         * tests/test-c-strcasecmp.c: Include c-ctype.h.
21758         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
21759         * tests/test-wcwidth.c: Likewise.
21761 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21763         stdbool: don't require _Bool for C++
21764         Problem reported by David Seifert in:
21765         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
21766         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
21767         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
21768         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
21769         stricter about checking that bool and _Bool are compatible in C.
21771 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21773         getdelim: remove dependency on realloc-posix
21774         * lib/canonicalize-lgpl.c (alloc_failed)
21775         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
21776         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
21777         Use __set_errno where needed, for consistency.
21778         * lib/getdelim.c (alloc_failed): New function.
21779         (getdelim): Use it.
21781 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
21783         parse-datetime: add optional debug printing
21784         Print parsing information, warnings, and errors to stderr.
21785         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
21786         * lib/parse-datetime.y:
21787         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
21788         (PROGRESS*): Same as DEBUG, for progress reporting.
21789         (dbg_printf): Print message to stderr, with 'date' prefix.
21790         (struct parser_control): Add 'debug_*_seen' variables.
21791         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
21792         (debug_print_current_time, debug_print_relateive_time): Prints the
21793         current/relative date/time value of parser_control.
21794         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
21795         (to_year): Warn about 2-digit year parsing.
21796         (yylex):   Warn about unrecognized words.
21797         (get_effective_timezone): Returns current timezone in minutes.
21798         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
21799         clearly and unambigiously as possible.
21800         (debug_mktime_not_ok): Print detailed information about failed
21801         date/time values.
21802         (parse_datetime): Add DEBUG messages for failures, warnings. Add
21803         PROGRESS messages for status messages.
21804         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
21806 2016-08-06  Jim Meyering  <meyering@fb.com>
21808         tests/init.sh: exclude dash with bad "local" semantics
21809         * tests/init.sh (gl_shell_test_script_): Add a function to
21810         eliminate a shell like "dash" (unlike bash, zsh) that has
21811         surprising/risky "local var='...'" semantics.  Inspired by
21812         the problem and discussion in https://bugs.gnu.org/24116#11.
21814 2016-08-02  Ján Tomko  <jtomko@redhat.com>
21816         maint.mk: expand the prohibit_doubled_word regex
21817         This check has a static list of words that are checked for
21818         repetitions.  Expand it before running the perl script to
21819         avoid using expensive captures.  This decreases the cost
21820         for libvirt from 1.66s to 0.66s.
21821         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
21822         (sc_prohibit_doubled_word): Use it.
21824 2016-07-26  Ján Tomko  <jtomko@redhat.com>
21826         useless-if-before-free: skip non-matching lines early
21827         * build-aux/useless-if-before-free: First match each line with the
21828         simple/quick /\bif\b/ and reject if there is no match. This often
21829         saves the cost of the much more involved regular expression.
21830         For libvirt, this decreases the cost from 1.44s to 1.02s.
21832 2016-07-26  Ján Tomko  <jtomko@redhat.com>
21834         maint.mk: speed up sc_po_check
21835         sc_po_check would skip files based on their names, or on the
21836         existence of files with derived names. Rewrite it to use perl
21837         instead of shell to make the check faster.
21838         * top/maint.mk (perl_translatable_files_list_): Define.
21839         (sc_po_check): Use it.
21841 2016-07-30  Ján Tomko  <jtomko@redhat.com>
21843         maint.mk: speed up require_config_h_first
21844         Instead of spawning three processes per file,
21845         rewrite the check in perl and run it once for all the files.
21846         * top/maint.mk (perl_config_h_first_): Define.
21847         (sc_require_config_h_first): Use it in place of shell code.
21849 2016-07-26  Ján Tomko  <jtomko@redhat.com>
21851         maint.mk: speed up sc_po_check
21852         sc_po_check would skip files based on their names, or on the
21853         existence of files with derived names. Rewrite it to use perl
21854         instead of shell to make the check faster.
21855         * top/maint.mk (perl_translatable_files_list_): Define.
21856         (sc_po_check): Use it.
21858 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21860         obstack: pacify GCC 6 with -Wnull-dereference
21861         Problem reported by Assaf Gordon in:
21862         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
21863         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
21864         Declare with __attribute_noreturn__.
21865         * lib/obstack.h (__attribute_noreturn__): New macro.
21867 2016-07-13  Eric Blake  <eblake@redhat.com>
21869         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
21870         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
21871         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
21873 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
21875         doc: mention glibc SSIZE_MAX buglet
21876         * doc/posix-headers/limits.texi (limits.h): Document the bug.
21878 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
21880         printf-posix: Fix mingw build
21881         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
21882         expression for detecting C symbol prefixes but forgot to qoute square
21883         brackets in the command line arguments for grep.  That way when
21884         building with mingw the condition was false although it ought to be
21885         true instead.  In particular scenarios this led to the following
21886         compile error:
21888             Cannot export rpl_printf: symbol not found
21889             Cannot export rpl_scanf: symbol not found
21890             collect2: error: ld returned 1 exit status
21892         Fix this by properly quoting square brackets.
21894 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21896         mktime: call tzset as per POSIX
21897         Problem reported by Ludovic Courtès in:
21898         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
21899         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
21900         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
21902 2016-06-26  Pádraig Brady  <P@draigBrady.com>
21904         fts: handle readdir() errors
21905         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
21906         but also upon error when it will also set errno.  Therefore
21907         flag the error case from readdir().  We treat the case where
21908         no items are read the same as if the dir can't be accessed,
21909         i.e. by setting fts_errno to FTS_DNR.
21911 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
21913         intprops: port better to GCC 7
21914         GCC 7 __builtin_add_overflow supports a new usage form, where the
21915         last argument is a null pointer, and which merely returns 1 if an
21916         overflow would occur.  This is a constant expression if all
21917         arguments are constants, and should generate faster code when code
21918         needs to be generated.
21919         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
21920         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
21921         Use builtin operations if available.
21922         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
21923         operations are available, as it's almost surely faster.
21925 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21927         intprops-test: port to GCC 6
21928         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
21929         since the bug is not fixed in GCC 6.1.
21931 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
21933         xalloc-oversized: port to GCC 7; fewer warnings
21934         GCC 7 will have a better way to deal with integer overflow.
21935         Plus, fix a warnings problem reported by Tim Ruehsen in:
21936         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
21937         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
21938         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
21939         For GCC 5, use __xalloc_oversized if both args are constants,
21940         or if pedantic.
21942 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
21944         regex: port to Sun C
21945         Reported by Daiki Ueno.
21946         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
21947         __restrict, in prototype.  This fixes a problem I introduced in
21948         the 2016-02-19 merge from glibc.
21950 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
21952         stdbool: Restore __bool_true_false_are_defined check
21953         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
21954         __bool_true_false_are_defined is still defined, even with C++11.
21956 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
21958         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
21959         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
21961 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21963         Use GCC_LINT, not lint
21964         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
21965         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
21966         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
21967         Document problem with lint and _Noreturn.
21968         * lib/diffseq.h (IF_LINT, IF_LINT2):
21969         * lib/fts.c (sccsid):
21970         * lib/getndelim2.c (IF_LINT):
21971         * lib/gl_anylinked_list2.h (gl_linked_iterator)
21972         (gl_linked_iterator_from_to):
21973         * lib/gl_anytree_list2.h (gl_tree_iterator)
21974         (gl_tree_iterator_from_to):
21975         * lib/gl_anytree_oset.h (gl_tree_iterator):
21976         * lib/gl_array_list.c (gl_array_iterator)
21977         (gl_array_iterator_from_to):
21978         * lib/gl_array_oset.c (gl_array_iterator):
21979         * lib/gl_carray_list.c (gl_carray_iterator)
21980         (gl_carray_iterator_from_to):
21981         * lib/idcache.c:
21982         * lib/inet_ntop.c (IF_LINT):
21983         * lib/regcomp.c (build_charclass_op, create_tree):
21984         * lib/regex_internal.c (re_acquire_state)
21985         (re_acquire_state_context):
21986         * lib/trigl.c (rcsid):
21987         * lib/trim.c (IF_LINT):
21988         * lib/vasnprintf.c (IF_LINT):
21989         * lib/verify.h (assume):
21990         Treat GCC_LINT like lint.
21992 2016-05-29  Bruno Haible  <bruno@clisp.org>
21994         secure_getenv: Port to many more platforms.
21995         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
21996         functions.
21997         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
21998         for non-BSD Unix platforms and for native Windows.
21999         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
22000         Prompted by a request from Nikos Mavrogiannopoulos.
22002 2016-05-27  Eric Blake  <eblake@redhat.com>
22004         canonicalize: Fix broken probe for realpath.
22005         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
22006         in logic introduced in 54615b95.
22008 2016-05-26  Eric Blake  <eblake@redhat.com>
22010         unsetenv: relax to LGPLv2+
22011         * modules/unsetenv (License): Match setenv license.
22013 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
22015         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
22016         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
22017         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
22018         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
22019         (commonarg, dirargs, dirs, infoarg, generate_ascii)
22020         (generate_html, generate_info, generate_tex, outdir)
22021         (source_extra, split, srcfile, texarg): Move above 'version'.
22022         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
22024 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22026         manywarnings: update for GCC 6.1
22027         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
22028         Add GCC 6.1 options that apply to C.
22029         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
22030         do not apply to C, are obsolescent, etc.
22032 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
22034         glob: size_t overflow checks
22035         * lib/glob.c (__has_builtin): New macro.
22036         (size_add_wrapv, glob_use_alloca): New static functions.
22037         (glob, glob_in_dir): Check for size_t overflow in several places,
22038         and fix some size_t checks that were not quite right.
22040         glob: don't assume INT_MAX < SIZE_MAX
22041         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
22042         latter is not portable to (probably theoretical) hosts where
22043         SIZE_MAX <= INT_MAX.
22045 2016-05-09  Bruno Haible  <bruno@clisp.org>
22047         Fix undefined behaviour in gettext.h.
22048         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
22049         pointer's value after the storage it points to has been freed.
22050         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
22051         Spotted by Coverity.
22053 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
22055         git-version-gen: avoid undefined shift
22056         Problem reported by Mosè Giordano in:
22057         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
22058         * build-aux/git-version-gen: Avoid undefined behavior if invoked
22059         with --prefix or --fallback but without a later argument.  While
22060         we're at it, omit unnecessary quotes.
22062 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22064         glob: merge glibc changes into lib/glob.c
22065         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
22066         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
22067         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
22068           struct dirent [BZ #19779]
22069         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
22070           callback gl_readdir
22071         2015-10-20 Convert miscellaneous function definitions to prototype style
22072         2015-10-20 Convert 113 more function definitions to prototype style
22073           (files with assertions)
22074         2015-06-12 Fix getlogin_r namespace (bug 18527).
22075         2014-02-10 Use glibc_likely instead __builtin_expect.
22076         2013-10-20 When glob pattern contains a trailing slash match only
22077           directories. Fixes bug 10278.
22078         2013-09-04 glob: silence -Wattribute warnings
22079         2013-06-07 Avoid use of "register" as optimization hint.
22080         2012-09-25 Use size_t instead of int for internal variables in glob
22081           (bug 14621)
22082         2011-07-20 Check for overflows in expressions
22083         2011-05-28 Remove unused variable
22084         2011-05-22 Add a few more alloca size checks
22085         2010-03-27 Whitespace fixes
22086         2010-03-27 Fix one more issue with the glob patch
22087         2010-03-24 Fix glob with empty pattern
22088         2008-05-27 Remove useless more "if" tests before "free"
22089         * modules/glob (Depends-on): Add stdint.
22091 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
22093         mktime: port to stricter signed overflow checking
22094         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
22095         (long_int): Require width for INT_MAX * 3 * (seconds per year),
22096         instead of merely for INT_MAX * 2.  In practice platforms that
22097         do the latter also do the former.
22098         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
22099         (shr): New static function, replacing SHR.  All uses changed.
22100         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
22101         and TIME_T_MAX.  All uses changed.
22102         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
22103         Use long_int, not time_t.
22104         (long_int_avg): New static function, replacing time_t_avg.
22105         All uses changed.  Round toward positive infinity, as that
22106         generates slightly better code.
22107         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
22108         by INT_ADD_WRAPV.
22109         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
22110         (convert_time): New static function.
22111         (ranged_convert): Use it
22112         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
22113         Use simpler test for loop exit.
22114         (__mktime_internal): Store negative of guessed offset, to simplify
22115         overflow checking.  Remove no-longer-needed test for small time_t
22116         overflows.
22118         mktime: speed up DEBUG_MKTIME benchmarks
22119         Call tzset just once, at the start, rather than for every test
22120         case.  This lets us measure the CPU cost of mktime as opposed to
22121         that of tzset.  This is relevant when TZ is not set and glibc is
22122         being used.  This speeds up tests by a factor of 40 on my Fedora
22123         23 x86-64 platform.
22124         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
22125         to call tzset and as a sanity check.  Later on, use localtime_r
22126         instead of localtime.
22128         mktime: resurrect DEBUG_MKTIME testing
22129         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
22130         Include <string.h>, for strcmp.
22132         mktime: simplify DEBUG_MKTIME
22133         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
22134         Simplify later usage accordingly.
22136         Port mktime_internal offset to unsigned time_t
22137         This avoids some assumptions about wraparound arithmetic on
22138         signed integer overflow.
22139         * lib/mktime-internal.h (mktime_offset_t): New type.
22140         (mktime_internal): Use it in decl.
22141         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
22143         * lib/mktime.c (__mktime_internal, localtime_offset):
22144         * lib/timegm.c (timegm): Use it.
22145         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
22146         (gl_FUNC_MKTIME): Require it.
22148 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
22150         xstrtol: prohibit monstrosities like "1bB"
22151         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
22152         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
22153         "B" only if the first suffix needs a base.
22154         * tests/test-xstrtol.sh: Test this.
22156 2016-04-21  Pádraig Brady  <P@draigBrady.com>
22158         xstrtod: reinstate setting of *result upon ERANGE
22159         * lib/xstrtod.c (XSTRTOD): The user may decide to use
22160         the returned limits upon ERANGE, so allow and document that.
22162 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
22164         xstrtod: modify *result only if no errors
22165         * lib/xstrtod.c (XSTRTOD).
22167 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
22169         btowc: document problems in C locale
22170         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
22171         with mbrtowc.  See: http://bugs.gnu.org/23269#32
22173 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
22175         mktime: improve integer overflow checking
22176         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
22177         (WRAPV): Remove; no longer needed.
22178         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
22179         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22180         Remove.  Use intprops.h defns instead.
22181         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
22182         Use bool for Boolean, for clarity.
22183         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
22184         detect integer overflow.
22185         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
22187         intprops: check two's complement assumption
22188         Suggested by Eric Blake in:
22189         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
22190         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
22191         short, int, long, and (if available) long long are two's complement.
22192         * modules/intprops (Depends-on): Add 'verify'.
22194         intprops, mktime, strtol: assume two's complement
22195         These macros were not portable to every conforming C11 ones'
22196         complement platform.  It's not worth the hassle of porting to some
22197         platforms that use ones' complement or signed magnitude, as such
22198         platforms are almost purely theoretical nowadays and porting even
22199         to some of them makes the code harder to review for little
22200         practical benefit.  Problem reported by Florian Weimer in:
22201         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
22202         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
22203         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
22204         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
22205         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
22206         (TYPE_SIGNED_MAGNITUDE):
22207         Remove.  All uses rewritten to assume two's complement, which is
22208         all we can reasonably test nowadays anyway.
22209         * top/maint.mk (_intprops_names): Remove the removed macros.
22211 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
22213         stdint: port to strict C11 left shift
22214         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
22215         Pacify clang -Wshift-negative-value, which should be an issue only
22216         on clang setups where stdint.h does not conform to C11 or to C++11.
22217         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
22219 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
22221         mbrtowc: work around glibc bug#19932
22222         Fix mbrtowc so that it never returns -1 in the C locale,
22223         as this conflicts with a future version of POSIX
22224         http://austingroupbugs.net/view.php?id=663#c2738
22225         and causes problems with GNU grep: http://bugs.gnu.org/23234
22226         See glibc bug 19932:
22227         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
22228         * doc/posix-functions/mbrlen.texi (mbrlen):
22229         * doc/posix-functions/mbrtowc.texi (mbrtowc):
22230         Document the glibc bug.
22231         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
22232         Include hard-locale.h, locale.h.
22233         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
22234         if the bug is possible.
22235         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
22236         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
22237         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
22238         * modules/mbrtowc (Depends-on): Add hard-locale.
22239         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
22240         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
22241         * tests/test-mbrtowc5.sh: New file.
22243 2016-04-03  Pedro Alves  <palves@redhat.com>
22245         stdint: detect good enough pre-C++11 stdint.h in C++ mode
22246         When gnulib is configured in C++ mode for a system with a working C99
22247         implementation of stdint.h that predates C++11, gnulib ends up
22248         substituting stdint.h anyway.  This works on most targets, but on e.g.,
22249         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
22250         MinGW is LLP64.  Instead of trying to detect the right types, detect
22251         good-enough-pre-C++11 stdint.h and in such case define
22252         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
22253         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
22254         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
22255         conforms to C99.  If it does, check whether it hides symbols
22256         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
22257         does, define those macros in config.h.
22259 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
22261         argp: merge changes from glibc
22262         Among other things, this should fix problems found by a Coverity
22263         scan and reported by Andrei Borzenkov:
22264         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
22265         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
22266         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
22267         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
22268         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
22269         * lib/argp.h:
22270         Merge changes from glibc.
22271         * tests/test-argp-2.sh: Adjust to match new behavior.
22273 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
22275         stddef: support configuring with g++
22276         Problem reported by Ángel González in:
22277         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
22278         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
22279         Do not define if _GCC_MAX_ALIGN_T is defined.
22281 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
22283         test-framework-sh: minor cleanups
22284         * tests/init.sh (testdir_prefix_): Output a trailing newline,
22285         since strictly speaking POSIX requires this.
22286         (setup_): Do not use the variable 'fail', as that makes the
22287         trace output harder to read ('fail' is typically used by
22288         tests to mean the test failed).  Treat // portably.
22289         Check that new directory is not merely a sibling of the tmp dir.
22290         Avoid unnecessary invocation of tr.
22292         test-framework-sh: revert port to NetBSD 7.0
22293         It was a false alarm; I misinterpreted Assaf Gordon's report.
22294         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
22295         Restore.
22296         (test_dir_): Adjust to mktempd_ change.
22297         (mktempd_): Restore 2nd arg.  Use -t again.
22298         (base_template_, template_, nx_): Resurrect old code.
22300         Port better to Alpine Linux
22301         Its diff implementation does not support -c, but does support -U3.
22302         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
22303         * tests/init.sh (diff_opt_): New var.
22304         (compare_): Prefer diff -U3 to diff -c to plain diff.
22306 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22308         test-framework-sh: port to NetBSD 7.0
22309         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
22310         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
22311         Remove.  All uses removed.
22312         (test_dir_): Adjust to mktempd_ change.
22313         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
22314         (base_template_, template_, nx_): Simplify by hardcoding.
22316 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
22318         gitlog-to-changelog: suppress ignored chatter
22319         * build-aux/gitlog-to-changelog: Do not warn about skipping
22320         an SHA if it would have been ignored anyway.
22322 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
22324         setlocale: add "sv" to Windows language table
22325         * lib/setlocale.c (language_table) [W32]: Add "sv".
22326         Reported in <https://savannah.gnu.org/bugs/?44588>.
22328 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
22330         sys_select: port to new Cygwin
22331         Problem reported by Ken Brown in:
22332         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
22333         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
22334         diagnostics.
22336 2016-03-17  Jim Meyering  <meyering@fb.com>
22338         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
22339         * tests/test-userspec.c (main): Remove unnecessary braces and fix
22340         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
22341           test-userspec.c:176:9: error: statement is indented as if it were \
22342             guarded by... [-Werror=misleading-indentation]
22343                    {
22344                    ^
22345           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
22346                  if (!diag && !T[i].result)
22347                  ^~
22349 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
22351         time_rz: port to clang -Wunused-const-variable
22352         * lib/time_rz.c (TZ): Remove.  All uses removed.
22354         std-gnu11: improve clang support
22355         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
22356         2016-03-15 Also try clang
22357         2016-03-15 Port C11 and C++11 testing to clang
22359         select: port more to Intel 2016.1.150 compiler
22360         Problem reported by Balázs Hajgató in:
22361         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
22362         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
22364 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
22366         select: try to port to 2016.1.150 compiler
22367         Problem reported by Balázs Hajgató in:
22368         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
22369         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
22370         POSIX specifies 'restrict'.
22372 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
22374         localename-tests: memory allocation fixes
22375         * tests/test-localename.c (test_locale_name)
22376         (test_locale_name_thread): Don't call freelocale on a locale
22377         that was the base of a successful newlocale, as that
22378         results in a double free.  Problem reported by Assaf Gordon.
22379         (test_locale_name_thread): Free saved names after use, to pacify
22380         gcc -fsanitize=address.
22382 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
22384         intprops: make .h file license match module
22385         * lib/intprops.h: Change the license wording to match glibc format.
22386         This is what is in modules/intprops anyway.  See:
22387         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
22389 2016-03-08  Eric Blake  <eblake@redhat.com>
22391         acl: fix missing return on Cygwin
22392         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
22393         fall off end of function. Fixes http://bugs.gnu.org/22949
22395 2016-03-05  Bruno Haible  <bruno@clisp.org>
22397         extern-inline: port to PGI CC
22398         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
22399         keyword 'inline'.
22400         Reported by Adam James Stewart in:
22401         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
22403 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
22405         signbit: port back to pre-C++11 GCC
22406         * lib/math.in.h (signbit): Do previous change only if
22407         __cplusplus < 201103.  See Jonathan Wakely in:
22408         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
22410 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
22412         mountlist: recognize autofs-mounted remote file systems, too
22413         Originally reported at: https://bugzilla.redhat.com/1309247
22414         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
22415         "-hosts" because it is used by autofs to mount remote file systems.
22417 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
22419         signbit: port to C++ with GCC 6
22420         * lib/math.in.h (signbit) [__cplusplus]:
22421         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
22422         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
22424         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
22426         regex: make it closer to libc
22427         Make Idx a signed type, rather than possibly unsigned.
22428         The unsignedness was not really buying us anything, since the code
22429         overflows for other reasons before getting to PTRDIFF_MAX.  Making
22430         it signed allows us to use -1 and -2 with abandon, like libc does,
22431         thus lessening the number of differences between gnulib and libc.
22432         Also, it should help avoid gratuitous warnings like the one
22433         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
22434         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
22437         regex: merge patches from libc
22439         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
22440         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
22441         Convert miscellaneous function definitions to prototype style.
22442         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
22443         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
22444         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
22445         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
22446         (re_search_internal):
22447         Convert to prototype-style function definition.
22448         Use internal_function for internal functions.
22450 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
22452         stdalign: port to older HP and IBM cc
22453         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
22454         C compilers, by checking their version numbers.  These version
22455         numbers appear in MariaDB and in Qt code that dates way back and
22456         that conditiionally uses the 'aligned' attribute.
22458 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
22460         stdalign: port to clang 3.7.0
22461         Problem reported by Herbert J. Skuhra in:
22462         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
22463         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
22464         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
22465         https://llvm.org/bugs/show_bug.cgi?id=26547
22467 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22469         readdir_r: now obsolescent
22470         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
22471         * lib/mountlist.c (read_file_system_list): Add a FIXME.
22473 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22475         misc: port better to gcc -fsanitize=address
22476         Without these patches, ./configure CFLAGS='-fsanitize=address'
22477         would compute incorrect values.  This patch fixes some (but not all)
22478         test failures with recent glibc, with this configuration.
22479         * m4/acl.m4 (gl_ACL_GET_FILE):
22480         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
22481         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
22482         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
22483         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
22484         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
22485         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
22486         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
22487         * m4/getline.m4 (gl_FUNC_GETLINE):
22488         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
22489         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
22490         * m4/regex.m4 (gl_REGEX):
22491         * m4/strndup.m4 (gl_FUNC_STRNDUP):
22492         * tests/test-calloc-gnu.c (main):
22493         * tests/test-duplocale.c (main):
22494         * tests/test-getgroups.c (main):
22495         * tests/test-getline.c (main):
22496         * tests/test-inttostr.c (main):
22497         * tests/test-localename.c (test_locale_name)
22498         (test_locale_name_thread, test_locale_name_environ)
22499         (test_locale_name_default):
22500         * tests/test-regex.c (main):
22501         * tests/test-setlocale1.c (main):
22502         * tests/test-stat.h (test_stat_func):
22503         Free heap-allocated storage before exiting.
22504         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
22505         Don't match *_foo symbols inserted by AddressSanitizer.
22506         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
22508 2016-02-02  Jim Meyering  <meyering@fb.com>
22510         verify-tests: also remove stray test-verify.Tpo
22511         * modules/verify-tests (Makefile.am): Arrange for "make clean"
22512         to remove the test-verify.Tpo file that is left behind by
22513         the automake-generated rule upon compilation failure.
22514         Otherwise, that .Tpo file would cause a failed "make distcheck"
22515         at least for grep.
22517 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
22519         std-gnu11: new module
22520         This makes it easier for applications to prefer C11 and C++11
22521         to older variants, when compiling C and C++ code.
22522         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
22523         a nontrivial chunk of GPLed Autoconf source code.
22524         * COPYING: Mention the m4/*.m4 copyright situation.
22525         * MODULES.html.sh (std-gnu11): New module.
22526         * m4/std-gnu11.m4, modules/std-gnu11: New files.
22528 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
22530         get-permissions, strftime: fix grammar in comments
22531         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
22532         some grammar fixes Alan Mackenzie made to GNU Emacs.
22534 2016-01-25  Daiki Ueno  <ueno@gnu.org>
22536         gettext: mark as obsolete
22537         Suggested by Paul Eggert in:
22538         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
22539         * modules/gettext (Status): Mark as obsolete.
22540         (Notice): Suggest to use 'gettext-h' instead.
22541         * modules/gettext-h (Description): Suggest GNU gettext, instead of
22542         the 'gettext' module.
22544 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
22546         gnulib-tool: don't give up on ln -s so easily
22547         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
22548         because an earlier one failed.  The targets could be on different
22549         file systems.  Problem reported by KO Myung-Hun in:
22550         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
22552         closedir: fix OS/2-related typos
22553         Problem reported by KO Myung-Hun in:
22554         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
22555         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
22556         in the last couple of changes.
22558 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
22560         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
22561         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
22562         copying a directory.
22564 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
22566         regex: treat [x] as x if x is a unibyte encoding error
22567         Problem reported by Aharon Robbins in:
22568         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
22569         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
22570         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
22572         closedir, dirfd, opendir: port to OpenSolaris 5.10
22573         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
22574         * m4/dirfd.m4 (gl_FUNC_DIRFD):
22575         * m4/opendir.m4 (gl_FUNC_OPENDIR):
22576         Don't use ${word##pat} substitution, as it doesn't work in
22577         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
22578         http://bugs.gnu.org/22443#11
22580 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22582         bootstrap: use American spelling
22583         * build-aux/bootstrap: Honor American spelling.
22585 2016-01-22  Karl Berry  <karl@freefriends.org>
22587         * doc/posix-functions/localtime.texi,
22588         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
22590 2016-01-21  Bruno Haible  <bruno@clisp.org>
22592         hash-pjw-bare: fix comment
22593         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
22595         wcwidth: Replace also on OpenBSD 5.8
22596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
22597         * doc/posix-functions/wcwidth.texi: Update.
22599 2016-01-20  Pádraig Brady  <P@draigBrady.com>
22601         gnu-web-doc-update: fix addition of new files
22602         If there were already added (emnpty) dirs,
22603         then cvs aborts the add with the message:
22604           cvs [add aborted]: there is a version in <./dirname> already
22605         * build-aux/gnu-web-doc-update: Add directories separately
22606         to the addition of files, to avoid the above issue
22607         impacting the addition of files.
22609 2016-01-19  Daiki Ueno  <ueno@gnu.org>
22611         utimens-tests: avoid pulling gettext .m4 files
22612         Although this is not the right fix to the original problem:
22613         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
22614         it makes it possible again for consumer projects to use arbitrary
22615         version of gettext, through the steps described at:
22616         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
22617         See here for details:
22618         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
22619         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
22620         'gettext'.
22621         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
22622         'gettext'.
22624 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22626         regex: pacify static checkers
22627         Problem and draft fix reported by Aharon Robbins in:
22628         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
22629         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
22630         Clear memory to pacify static checkers.
22632         regex: fix [ diagnostic
22633         Problem and fix reported by Aharon Robbins in:
22634         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
22635         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
22637         regex: fix memory leaks
22638         Problem and draft fix reported by Aharon Robbins in:
22639         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
22640         * lib/regcomp.c (build_range_exp, build_charclass_op)
22641         * lib/regex_internal.c (re_dfa_add_node):
22642         Fix memory leak on failure.
22644 2016-01-18  Pádraig Brady  <P@draigBrady.com>
22646         fts: don't unconditionally use leaf optimization for NFS
22647         NFS st_nlink are not accurate on all implementations,
22648         leading to aborts() if that assumption is made.
22649         See <https://bugzilla.redhat.com/1299169>
22650         * lib/fts.c (leaf_optimization_applies): Remove NFS from
22651         the white list, and document the issue.
22653 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
22654             KO Myung-Hun  <komh@chollian.net>
22656         gnulib-tool: don't assume ln -s works
22657         * gnulib-tool (func_ln_s): New function.
22658         (func_ln): Use it.
22660 2016-01-15  KO Myung-Hun  <komh@chollian.net>
22662         utimes: detect utimes() correctly on OS/2 kLIBC
22663         utimes() of OS/2 kLIBC has some limitations.
22664         1. OS/2 itself supports a file date since 1980 year in local time.
22665         2. OS/2 itself supports only even seconds for a file time.
22666         3. utimes() of OS/2 kLIBC does not work on an opened file.
22667         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
22668         * doc/posix-functions/utimes.texi: Document the above limitations of
22669         utimes() on OS/2 kLIBC.
22671 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
22672             KO Myung-Hun  <komh@chollian.net>
22674         openat_proc_name: port to OS/2 kLIBC
22675         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
22676         instead of /proc/self/fd.
22677         * lib/openat-proc.c (openat_proc_name):
22678         Don't assume file name length is less than INT_MAX.
22679         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
22681 2016-01-14  KO Myung-Hun  <komh@chollian.net>
22683         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
22684         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
22685         definitions of intptr_t and uintptr_t (which use int and unsigned)
22686         to avoid clashes with declarations of system functions like sbrk.
22687         * lib/stdint.in.h (intptr_t, uintptr_t): Check
22688         _INTPTR_T_DECLARED before defining them.
22690         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
22691         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
22692         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
22693         Declare on kLIBC.
22694         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
22695         fd associated with dirp.
22696         (_gl_register_dirp_fd): New. Register fd associated with dirp to
22697         dirp_fd_list.
22698         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
22699         (dirfd): Implemented for kLIBC.
22700         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
22701         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
22702         succeeds.
22703         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
22704         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22705         (REPLACE_DIRFD): Define to 1 if replaced.
22706         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22707         * modules/closedir (Depends-on): Add dirfd.
22708         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
22709         condition.
22710         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
22711         * modules/opendir (Depends-on): Add dirfd.
22713         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
22714         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
22715         * lib/dup.c (dup_nothrow): New.
22716         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
22717         (klibc_dup2): New.
22718         * lib/fcntl.c (klibc_fcntl): New.
22719         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
22720         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
22721         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
22722         fd.
22724         pipe_filter_ii_execute: port to OS/2 kLIBC
22725         Pipes on kLIBC do not support O_NONBLOCK like Win32.
22726         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
22727         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
22728         Reuse Win32 code on OS/2 kLIBC.
22729         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
22730         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
22732         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
22733         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
22734         static inline function.  The implementation of wcwidth in wcwidth.c
22735         causes a "conflicting types" error.
22736         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
22738         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
22739         spawn() on OS/2 kLIBC is not silly like one on Windows
22740         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
22741         empty string on OS/2 kLIBC.
22743         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
22744         On OS/2 kLIBC, select() works only on sockets.
22745         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
22747         binary-io: don't put fd in binary mode if it is a console on EMX
22748         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
22749         a console on EMX.
22751 2016-01-15  Pádraig Brady  <P@draigBrady.com>
22753         doc: mention unfixed issues with unsupported localtime() values
22754         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
22755         returns nonsense for localtime(2^56).
22756         * doc/posix-functions/localtime_r.texi: Likewise.
22758 2016-01-14  Pádraig Brady  <P@draigBrady.com>
22760         doc: mention setlocale() issues on OpenBSD
22761         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
22762         never fails, and the need to check categories individually.
22764 2016-01-14  Pádraig Brady  <P@draigBrady.com>
22766         sig2str: list all signals on FreeBSD >= 7
22767         FreeBSD >= 7 is contravening POSIX by not defining NSIG
22768         to the maximal statically defined signal value.
22769         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
22770         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
22771         where available, even when NSIG is defined.
22773 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
22775         acl-permissions: port to USE_ACL==0 platforms
22776         I ran into this problem when building bleeding-edge GNU Emacs
22777         with gcc -fsanitize=address on Fedora 23.  On this platform
22778         the ACL library does not pass the 'configure' test and Emacs
22779         then does not build due in part to what appear to be typos in the
22780         ACL part of Gnulib.
22781         * lib/acl-internal.c (free_permission_context):
22782         * lib/acl-internal.h (struct permission_context):
22783         Test whether USE_ACL is nonzero, not whether it is defined.
22785 2016-01-12  Martin Sebor  <msebor@redhat.com>
22787         mktime: rename macro to avoid glibc clash
22788         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
22789         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
22791 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
22793         Port "$@" to OpenIndiana ksh93
22794         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
22795         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
22796         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
22797         bug long-dead shells, so remove the workaround.
22798         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
22799         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
22800         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
22801         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
22802         Use "$@" instead of ${1+"$@"}.
22804         Port Universal Time settings to strict POSIX
22805         * build-aux/announce-gen, build-aux/bootstrap:
22806         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
22807         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
22808         * build-aux/gnupload, build-aux/mkinstalldirs:
22809         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
22810         * build-aux/update-copyright, build-aux/useless-if-before-free:
22811         * build-aux/vc-list-files, tests/test-strftime.c:
22812         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
22813         but POSIX says the behavior of TZ="UTC" is undefined.
22815 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
22817         msvc-inval: fix problem with unset shell var
22818         Problem reported by Karl Berry in:
22819         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
22820         * modules/msvc-inval (Depends-on):
22821         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
22822         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
22824 2016-01-01  Pádraig Brady  <P@draigBrady.com>
22826         tests: for compare_(), use cmp -s where available
22827         * tests/init.sh (compare_): Only fall back to cmp without
22828         the POSIX defined -s option, where this is not available.
22830 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
22832         version-etc: new year
22833         * build-aux/gendocs.sh (version):
22834         * doc/gendocs_template:
22835         * doc/gendocs_template_min:
22836         * doc/gnulib.texi:
22837         * lib/version-etc.c (COPYRIGHT_YEAR):
22838         Update copyright dates by hand in templates and the like.
22839         * all files: Run 'make update-copyright'.
22841 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
22843         human: fix output buffer overrun by 1
22844         * lib/human.c (human_readable): Fix off-by-one typo in buffer
22845         calculation that could lead to a one-byte buffer overrun.
22847 2015-12-28  Daiki Ueno  <ueno@gnu.org>
22849         maint: fix operator precedence in mbrtowc test
22850         This is a fix for test breakage introduced by commit 45228d96; the
22851         equality expression must be parenthesized when negated with '!',
22852         otherwise we always get:
22854           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
22856         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
22857         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
22859 2015-12-23  James Youngman  <jay@gnu.org>
22861         regexprops-generic: update from regex.h
22862         * doc/regexprops-generic.texi: update by running the regexprops binary
22863         from findutils (the command line is 'regexprops "Regular Expressions"
22864         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
22865         gnulib with GNU grep had made this document out-of-date.
22867 2015-12-23  Pádraig Brady  <P@draigBrady.com>
22869         strftime-tests: avoid false failure on OS X
22870         * tests/test-strftime.c (struct localtime_rz_test): Add an
22871         ahistorical member which is used to warn rather than fail
22872         when tm_isdst isn't set for such entries.  This is the case for
22873         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
22875 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
22877         fts: ensure leaf optimization is used for NFS
22878         NFS provides usable dirent.d_type but not necessarily for all entries
22879         of large directories.  See <https://bugzilla.redhat.com/1252549>
22880         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
22882 2015-12-20  Pádraig Brady  <P@draigBrady.com>
22884         fts: enable leaf optimization for XFS
22885         XFS provides usable dirent.d_type only for DT_DIR,
22886         but the noleaf optimization still applies.
22887         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
22889 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
22891         intprops: comment fix
22892         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
22893         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
22895         intprops-test: work around GCC bug 68971
22896         Problem reported by Pádraig Brady in:
22897         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
22898         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
22899         (main): Add a case that better tests 64-bit long in this area.
22901 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
22903         gnulib-tool: allow multiple --local-dir usage
22904         * gnulib-tool: Use --local-dir to construct compound
22905         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
22906         PATH_SEPARATOR early.
22907         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
22908         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
22909         func_determine_path_separator because that needs to be detected
22910         earlier now.
22911         (func_determine_path_separator): New function.
22912         (func_path_foreach, func_path_foreach_inner): New functions.
22913         (func_path_prepend, func_path_append): Likewise.
22914         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
22915         (func_lookup_file, func_all_modules): Use new functions to work
22916         with local_gnulib_path.
22917         (func_modules_in_dir, func_exists_module): New callbacks for
22918         func_path_foreach.
22919         (func_exists_module, func_get_tests_module): Likewise.
22920         (func_is_local_file, func_should_symlink): New helper methods.
22921         (func_add_file, func_update_file): Use new func_should_symlink
22922         instead, DRY.
22923         (func_reconstruct_cached_local_gnulib_path): New helper.
22924         (func_reconstruct_cached_dir): New callback.
22925         (func_import): The cached_local_gnulib_dir renamed to
22926         cached_local_gnulib_path similarly to local_gnulib_dir.
22927         Use new func_reconstruct_cached_local_gnulib_path.
22928         (func_count_relative_local_gnulib_path): New sub-method.
22929         (func_create_testdir): Use func_should_symlink, DRY.
22930         (func_create_megatestdir): Use new functions to work with
22931         local_gnulib_path correctly.
22932         (func_append_local_dir): New helper.
22934 2015-12-08  Pádraig Brady  <P@draigBrady.com>
22936         fix freadptr to work with ungetc on all uClibc configs
22937         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
22938         where GNU coreutils cut(1) generates invalid output on uClibc
22939         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
22940         * lib/freadptr.c (freadptr): Return NULL if there are
22941         ungotten chars.  In this case freadseek() will iterate
22942         again to process the ungotten character.
22944 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
22946         xalloc-oversized: improve performance with GCC 5
22947         * lib/xalloc-oversized.h (xalloc_oversized):
22948         Improve performance with GCC 5 by using __builtin_mul_overflow.
22950 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
22952         intprops: new public macro EXPR_SIGNED
22953         Emacs can use this macro, so make it public.
22954         * doc/intprops.texi (Arithmetic Type Properties): Rename from
22955         'Integer Type Determination', since some of these macros apply
22956         to non-integer types.  Clarify what kinds of constant expressions
22957         these macros return.  Say when the arguments can be non-integers.
22958         Mention newly published macro EXPR_SIGNED.
22959         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
22960         make it public.  All uses changed.
22962         intprops: fix typo in clang port
22963         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
22964         '__builtin_add_overflow' that is not caught by compiler.
22966 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
22968         test-timespec: fix typo in previous change
22969         * tests/test-timespec.c (main): Fix typo that reduced test quality.
22971         timespec-sub: fix overflow bug; add tests
22972         * lib/timespec-add.c (timespec_add):
22973         * lib/timespec-sub.c (timespec_sub):
22974         Work even if time_t is narrower than int (a theoretical
22975         possibility).  Redo code for a bit more clarity.
22976         * lib/timespec-sub.c (timespec_sub):
22977         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
22978         * modules/timespec-tests, tests/test-timespec.c: New files.
22980         intprops-test: suppress -Woverlength-strings
22981         Problem reported by Pádraig Brady in:
22982         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
22983         It is not worth the hassle to port this test to compilers that
22984         cannot handle long strings in diagnostics.
22985         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
22987 2015-11-03  Pádraig Brady  <P@draigBrady.com>
22989         quotearg: add quotearg_n_style_colon()
22990         This quotes with default options of the specified style,
22991         but with quoting enabled for instances of ':'.
22992         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
22993         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
22995 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
22997         intprops: revise _WRAPV macros, revert _OVERFLOW
22998         The incompatible changes to the _OVERFLOW macros were too much of
22999         a hassle in practice, so revert them.  Instead, change the new
23000         _WRAPV macros to make them closer in behavior to GCC 5's new
23001         builtin_add_overflow etc. functions.  No other software was using
23002         these newly-added macros yet, so this should be OK.
23003         * NEWS: Revert previous change, since the incompatible change
23004         has been reverted, and nobody used the incompatible version.
23005         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
23006         Document revised behavior.
23007         (Integer Range Overflow): Adjust example to match above revisions.
23008         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
23009         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
23010         these can be used in integer constant expressions again.
23011         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
23012         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
23013         needed.
23014         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
23015         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
23016         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
23017         Remove, as they did not seem that useful.
23018         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
23019         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
23020         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
23021         Support new semantics.
23022         (__has_builtin): New macro, if not alreay defined.
23023         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
23024         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
23025         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
23026         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
23027         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
23028         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
23029         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
23030         New macros.
23031         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
23033 2015-11-03  Jim Meyering  <meyering@fb.com>
23035         intprops: add parentheses for when OP has precedence lower than "-"
23036         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
23037         "a OP b" must be parenthesized for when OP is like "<<", which has
23038         lower precedence than the following "-". Reported by Pádraig Brady.
23040 2015-11-03  Pádraig Brady  <P@draigBrady.com>
23042         quotearg: constify get_quoting_style parameters
23043         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
23044         * lib/quotearg.c (get_quoting_style): Likewise.
23046 2015-11-02  Pádraig Brady  <P@draigBrady.com>
23048         quotearg: add support for $'' shell escaping
23049         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
23050         items and descriptions.
23051         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
23052         above types by quoting like "shell", but using $'...' syntax
23053         for non printable characters, which should provide unambiguous
23054         printable output for any input.
23055         * tests/test-quotearg-simple.c: Update accordingly.
23057 2015-11-02  Pádraig Brady  <P@draigBrady.com>
23059         maint: use a more standard return from mbrtowc test
23060         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
23061         from the test program as this is non standard and often
23062         indicates an unhandled case in the test program.
23063         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
23065 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23067         intprops: add WRAPV and const flavors for GCC 5
23068         If available, use GCC 5's builtin functions for efficient integer
23069         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
23070         and safely compute the low-order bits of the correct answer.
23071         A downside of these efficient functions is that they cannot be
23072         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
23073         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
23074         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
23075         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
23076         Document the changes.
23077         (Wraparound Arithmetic): New section.
23078         (Integer Range Overflow):
23079         Put this subsection last, since it's least useful.
23080         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
23081         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
23082         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
23083         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
23084         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
23085         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
23086         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
23087         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
23088         New macros.
23089         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
23090         Generate calls to GCC builtins if available, for speed.
23091         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
23092         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
23093         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
23094         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
23095         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
23096         (CHECK_QUOTIENT, CHECK_REMAINDER):
23097         Test WRAPV and CONST flavors (when available) too.
23099 2015-10-30  Pádraig Brady  <P@draigBrady.com>
23101         doc: use extended timezone format in iso-8601 example
23102         * doc/parse-datetime.texi: The standard states that extended format
23103         is to be used consistently throughout.
23104         Note that lib/parse-datetime.y can handle either tz format.
23106 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
23108         stdalign: port to Sun C 5.9
23109         * doc/posix-headers/stdalign.texi: Document this.
23110         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
23111         __attribute__ ((__aligned__ (...))).
23113 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
23115         time_rz: fix comment about tzalloc
23116         * lib/time_rz.c (tzalloc): Fix comment.
23118 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
23120         stdalign: work around pre-4.9 GCC x86 bug
23121         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
23122         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
23123         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
23125 2015-10-18  Pádraig Brady  <P@draigBrady.com>
23127         maint.mk: sc_tight_scope: remove extraneous expressions
23128         * top/maint.mk (tight_scope): This is not really required since
23129         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
23130         that matches all nm entries.  But it does remove extraneous entries
23131         that may be confusing or cause issue in future maintenance.
23133 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
23135         time_rz: return NULL if localtime_r fails
23136         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
23137         while still attempting to pacify bleeding-edge GCC.
23139         fts: port to C11 alignof
23140         * doc/posix-headers/stdalign.texi (stdalign.h):
23141         Document the C11 restriction.
23142         * lib/fts.c: Include stddef.h, for max_align_t.
23143         (fts_alloc): Align using max_align_t, not FTSENT.
23144         * modules/fts (Depends-on): Add stddef.
23146 2015-10-18  Jim Meyering  <meyering@fb.com>
23148         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
23149         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
23150         would see this:
23152         lib/time_rz.c: In function 'localtime_rz':
23153         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
23154           [-Werror=nonnull]
23155                    if (tm && !save_abbr (tz, tm))
23156                        ^
23158         That was complaining about "tm" because it is a parameter that was
23159         declared with the __nonnull__ attribute.
23160         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
23161         result of localtime_r.
23163 2015-10-17  Jim Meyering  <meyering@fb.com>
23165         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
23166         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
23167         name-extraction regexp mistakenly used \S+, and would mistakenly
23168         extract "*F" from "extern int *F()" rather than the desired "F".
23169         Use \w+ instead.
23171 2015-10-17  Jim Meyering  <meyering@fb.com>
23173         maint.mk: sc_tight_scope: factor and support OS X
23174         * top/maint.mk (_gl_tight_scope): Address three issues:
23175         - factor out four instances of code that wraps a string in "^...$"
23176         - allow nm-reported symbol names to have an optional leading "_"
23177         - add "main" to the list of ignored variable names, because on os x,
23178         "main" has nm-reported type "S" in the variable-checking section.
23180 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
23182         safe-alloc-tests: fix typo in license header
23183         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
23185 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
23187         copy-file: fix mem leak in error case
23188         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
23189         upon error opening or performing I/O to the src and dest files.
23191 2015-10-15  Mike Frysinger  <vapier@chromium.org>
23193         localename: control langinfo.h inclusion
23194         This header is only used to work around buggy behavior in old
23195         versions of glibc, so do not include it all the time.  Otherwise
23196         we get build failures on systems that do not provide langinfo.h.
23197         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
23198         in the source later on.
23199         The patch was originally submitted to gettext as:
23200         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
23202 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23204         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
23205         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
23206         * lib/u64.c, lib/unistd.c:
23207         Append 'typedef int dummy;', to pacify compilers that are picky
23208         about empty translation units.
23210 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
23212         accept4-tests: fix to avoid non portable flags
23213         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
23214         as they are the only documented ones, and passing others may trigger
23215         EINVAL (seen on FreeBSD 10.1-RELEASE).
23216         * doc/glibc-functions/accept4.texi: Mention that we don't provide
23217         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
23219 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
23221         gnulib-tool: fix tests of 'extensions' module
23222         This complements f8fe25fab60e3c687a124 commit.
23223         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
23224         emitting of initial gl_EARLY macros.
23225         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
23226         replaced with func_emit_pre_early_macros call.
23228 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
23230         unicase/locale-language: fix typo in utf-8 cookie
23231         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
23232         Problem reported by Zbigniew Jędrzejewski-Szmek.
23234 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
23236         xalloc: do not worry about GCC 5 warning on 32 bit
23237         * lib/xalloc.h: Revert previous change.
23238         I found a better way to fix this in coreutils.
23240 2015-10-02  Pádraig Brady  <P@draigBrady.com>
23242         xalloc: avoid GCC 5.1 warning on 32 bit
23243         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
23244         xalloc_oversized(), which was seen to give this warning
23245         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
23246         when simplifying conditional".
23248 2015-10-02  Daiki Ueno  <ueno@gnu.org>
23250         uniname/uniname-tests: avoid compiler warnings
23251         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
23252         unused local variables.
23253         (test_alias_lookup): Fix alias name display in failure cases.
23255 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
23257         c-ctype: do not worry about EBCDIC + char signed
23258         Drop support for EBCDIC with char being signed, as this breaks too
23259         many programs.  Problem reported by Ben Pfaff in:
23260         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
23261         * lib/c-ctype.h: Verify that we are not using EBCDIC with
23262         char being signed.
23263         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
23264         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
23265         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
23266         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
23267         * tests/test-c-ctype.c (test_all):
23268         Simplify by assuming standard char values cannot be negative.
23269         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
23271 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
23273         c-ctype: port better to z/OS EBCDIC
23274         Problems reported by Daniel Richard G. in:
23275         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
23276         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
23277         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
23278         (_C_CTYPE_OTHER_CNTRL): New macro.
23279         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
23280         from SCHAR_MIN, as the functions are defined only from values
23281         promoted from char or from unsigned char, not necessarily from
23282         signed char.
23284 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
23286         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
23288         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
23289         and ARFLAGS variables.  Doing this unconditionally could break
23290         later Automake's AM_PROG_AR invocation (at least it's
23291         AC_CHECK_TOOLS call to detect correct 'ar' binary).
23293         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
23294         Amsterdam Compiler Kit, so make the previous code to have effects
23295         only on ACK, and rather automatically call the Automake's
23296         AM_PROG_AR as soon as possible to decide other cases.
23298         References:
23299         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
23301         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
23302         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
23303         is possible, keep setting AR/ARFLAGS to reasonable defaults.
23304         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
23305         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
23306         'extensions' module is used.
23307         * modules/extensions (configure.ac-early): Remove as this snippet
23308         is added to gnulib-comp.m4 earlier anyway.
23310 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
23312         sockets: MS Windows initalization fixes
23313         Problem reported by Test User in:
23314         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
23315         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
23316         Correct the endianness.
23317         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
23318         number mismatch, not just on <.  Cleanup before any such failure.
23320 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
23322         gc: fix detection of installed libgcrypt version
23323         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
23324         at least as recent as 1.4.4.  The previously used macro is not
23325         available now, since modules were removed in version 1.6.0.
23327 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
23329         c-ctype: rewrite to use inline functions
23330         This simplifies maintenance, since it makes for just one
23331         implementation of each function, letting the compiler have the fun
23332         of optimization.  In practice this works well nowadays with GCC.
23333         E.g., c_isascii might need only three instructions even though the
23334         source code lists every ASCII character individually in a large
23335         switch statement.
23336         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
23337         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
23338         * NEWS: Document the API change.
23339         * lib/c-ctype.c: Drastically simplify, since this now just expands
23340         inline functions.
23341         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
23342         (C_CTYPE_INLINE): New macro.
23343         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
23344         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
23345         Verify that either ASCII or EBCDIC is being used.
23346         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
23347         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
23348         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
23349         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
23350         New private macros.
23351         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
23352         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
23353         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
23354         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
23355         (c_tolower, c_toupper): When converting, return the unsigned char,
23356         as that is what z/OS does.
23357         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
23358         of some c-ctype.h macros.
23359         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
23360         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
23361         c_tolower promotion to be compatible with z/OS.
23363 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
23365         gitlog-to-changelog: trim only trailing whitespaces
23366         This is fix for --format regression introduced by commit
23367         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
23368         doubled %n string) had no effect anymore.  This format
23369         specification has been used e.g. by GNU paxuitils (commit
23370         edfd8bcc3).
23372         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
23373         newlines in commmit messages.
23375 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
23377         Test that c_iscntrl agrees with iscntrl, etc.
23378         Suggested by Daniel Richard G. in:
23379         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
23380         * modules/c-ctype-tests (Depends-on): Add ctype.
23381         * tests/test-c-ctype.c: Include <ctype.h>.
23382         (NCHARS): New constant.
23383         (test_agree_with_C_locale): New function.
23384         (main): Use it.
23385         (test_all): Use named constants.
23387         c-ctype: improve c_isascii testing
23388         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
23389         Add a test to count the number of ASCII characters.
23391 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23393         savewd: remove SAVEWD_CHDIR_READABLE
23394         It was problematic in the light of file systems that ignore umask.
23395         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
23396         * NEWS: Document this.
23397         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
23398         successful, -1 (setting errno) on failure, rather than something
23399         more complicated than that.
23400         * lib/mkdir-p.c (make_dir_parents):
23401         Do not use SAVEWD_CHDIR_READABLE.
23402         * lib/savewd.c (savewd_chdir):
23403         Remove support for SAVEWD_CHDIR_READABLE.
23404         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
23406         c-ctype: port better to EBCDIC
23407         Problems reported by Daniel Richard G. in
23408         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
23409         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
23410         Include "verify.h".
23411         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
23412         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
23413         Define as enum constants with value false, if not defined, so that
23414         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
23415         code more portable, as both branches of the 'if' are compiled on
23416         all platforms.
23417         (C_CTYPE_EBCDIC): New constant.
23418         Verify that the character set is either ASCII or EBCDIC.
23419         (to_char): New static function.
23420         (c_isascii, c_iscntrl):
23421         Assume standard control-character assignments for EBCDIC.
23422         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
23423         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
23424         Rewrite to use 'if' instead of 'ifdef'.
23425         Use to_char if non-ASCII.  Prefer <= to >=.
23426         Prefer true and false to 1 and 0, for booleans.
23427         (c_iscntrl): Use 'if', not 'ifdef'.
23428         * modules/c-ctype (Depends-on): Add verify.
23429         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
23430         (to_char): New function.
23431         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
23433 2015-09-21  Pádraig Brady  <P@draigBrady.com>
23435         nanosleep: fix return code for interrupted replacement
23436         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
23437         that we return -1 in the case the call is interrupted by a signal,
23438         rather than the current value of 1.
23439         Diagnosed and tested by Daniel Richard G.
23441 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
23443         Diagnose ERE '()|\1'
23444         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
23445         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
23446         track of the set of previously-completed subexpressions available
23447         before the first alternative, and restore this set just before
23448         parsing each subsequent alternative.  This lets us diagnose the
23449         invalid back-reference in the ERE '()|\1'.
23451         regex: merge patches from libc
23453         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
23454         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
23455         * lib/regex_internal.h:
23456         Include <libc-lock.h> instead of <bits/libc-lock.h>.
23458         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
23459         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
23460         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
23461         wcscoll.
23462         * lib/regexec.c (check_node_accept_bytes): Likewise.
23464         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
23465         Fix regex wcrtomb namespace (bug 18496).
23466         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
23467         instead of wcrtomb.
23469         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
23470         Fix regex wctype namespace (bug 18495).
23471         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
23472         instead of towlower.
23473         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
23474         instead of iswlower.  Call __towupper instead of towupper.
23475         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
23476         instead of iswalnum.
23478         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
23479         * lib/regcomp.c (parse_bracket_exp): Initialize type to
23480         COLL_SYM in a couple of places to avoid uninitialized variable
23481         wanings on tilegx gcc 4.8.2.
23483         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
23484         * lib/regex_internal.h: Remove NOT_IN_libc.
23486         2014-11-17  Andreas Schwab  <schwab@suse.de>
23487         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
23489         2014-09-11  Roland McGrath  <roland@hack.frob.com>
23490         Move findidx nested functions to top-level.
23491         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
23492         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
23493         Pass new arguments to findidx.
23494         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
23495         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
23496         Don't #include it inside the function.  Pass new arguments to findidx.
23497         * lib/regex_internal.h:
23498         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
23499         (re_string_elem_size_at): Don't #include it inside the function.
23500         Pass new arguments to findidx.
23502         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
23503         Check if DEBUG is defined in regex_internal.c
23504         * lib/regex_internal.c: Check if DEBUG is defined and is set.
23506 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
23508         ceill: detect buggy OpenBSD implementation
23509         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
23510         which returns zero for small values.  Discussed here:
23511         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
23513 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
23515         mountlist: add me_mntroot field on Linux machines
23516         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
23517         mount_entry so Linux machines based on /proc/self/mountinfo can
23518         distinguish between bind mounts and original mounts.  In reality bind
23519         mounts aren't treated differently than mountroot=/ mounts by the
23520         kernel, but the user often wants these bind mounts distinguished.
23521         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
23522         More details at https://pad.lv/1432871
23524 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
23526         doc: Describe to use multiple instances of gnulib
23527         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
23528         instances of gnulib with different modules can be used, for example one
23529         for a lib and another one for associated tools.
23531 2015-09-01  Pádraig Brady  <P@draigBrady.com>
23533         base32: mark function as __attribute__ const
23534         * lib/base32.h (isbase32): Mark __attribute__ const as
23535         suggested by GCC, and consistent with the base64 module.
23537 2015-08-20  Daiki Ueno  <ueno@gnu.org>
23539         gnulib-tool: don't transform binary files with sed
23540         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
23541         .mo and .class files.
23542         Reported by Denis Denisov.
23544 2015-08-10  Daiki Ueno  <ueno@gnu.org>
23546         gperf: respect silent rules
23547         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
23548         V_GPERF_0 for silent rules.
23549         * modules/iconv_open (Makefile.am): Use V_GPERF.
23550         * modules/unicase/locale-language (Makefile.am): Likewise.
23551         * modules/unicase/special-casing (Makefile.am): Likewise.
23552         * modules/unictype/category-byname (Makefile.am): Likewise.
23553         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
23554         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
23555         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
23556         * modules/unictype/property-byname (Makefile.am): Likewise.
23557         * modules/unictype/scripts (Makefile.am): Likewise.
23558         * modules/uninorm/composition (Makefile.am): Likewise.
23560 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23562         Improve port of stdalign to C++11
23563         Problem reported by Sundaram in:
23564         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
23565         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
23566         (__alignas_is_defined): Define if C++11 or newer.
23568 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
23570         pmccabe2html: fix gawk regex escaping
23571         * build-aux/pmccabe2html: Add one more backslash to properly
23572         escape the gsub replacement value.  Fixes this error:
23573         gawk: ./build-aux/pmccabe2html:425: \
23574         warning: escape sequence `\&' treated as plain `&'
23576 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
23578         time_rz: port to pedantic memcpy
23579         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
23580         that reject memcpy (..., NULL, 0).
23582 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
23584         time_rz: port better to MinGW
23585         Don't change tzname, as this makes MinGW dump core (Bug#21020).
23586         Instead, store the tzname copy in the struct tm_zone object.
23587         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
23588         * lib/strftime.c [!_LIBC]:
23589         * lib/time_rz.c: Include time-internal.h.
23590         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
23591         name from *TZ rather than from TZNAME, doable because *TZ now has
23592         a tzname_copy member.
23593         * lib/time-internal.h: New file, with contents taken from
23594         lib/time_rz.c.  It's separate because strftime.c now accesses
23595         struct tm_zone members.
23596         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
23597         New member tzname_copy.
23598         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
23599         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
23600         Initialize tzname_copy member.
23601         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
23602         in tzname_copy member.
23603         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
23604         (restore_tzname): Remove; no longer needed.  All calls removed.
23605         * modules/time_rz (Files): Add lib/time-internal.h.
23607         time: port __need_time_t to MinGW
23608         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
23609         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
23611 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
23613         strftime: fix newly-introduced bug on Solaris
23614         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
23615         consistently at the start, rather than doing some of the setup at
23616         the start and some in the %Z format spec.  This is cleaner, and
23617         works better with time_rz on platforms like Solaris where struct
23618         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
23619         mktime_z and localtime_rz can mess up the tzname cache.
23621         test-strftime: test for Solaris bug
23622         * modules/strftime-tests (Depends-on): Add strerror.
23623         * tests/test-strftime.c: Include <errno.h>.
23624         (posixtm_test): New function, containing the old 'main'.
23625         (struct tzalloc_test, struct localtime_rz_test): New types.
23626         (TZ, LT): New static vars.
23627         (tzalloc_test): New function.
23628         (main): Rewrite in terms of posixtm_test and tzalloc_test.
23630         time_rz: port to Solaris etc.
23631         Works around a tzname problem on platforms like Solaris that have
23632         tzname but not tm_zone, by setting tzname at the appropriate time
23633         and restoring it later.
23634         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
23635         New static vars.
23636         (save_abbr) [HAVE_TZNAME]: Set them.
23637         (revert_tz) [HAVE_TZNAME]: Clear or use them.
23638         (restore_tzname): New function.
23639         (localtime_rz, mktime_z): Use it.
23641         time_rz: now LGPL
23642         * modules/time_rz (License): Now LGPL, because strftime depends on it.
23644         time_rz: make a constant 'const'
23645         * lib/time_rz.c (local_tz): Now const.
23647         time_rz: fix off-by-one typo
23648         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
23650 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
23652         fprintftime, strftime: use timezone_t args
23653         * NEWS: Document the change.
23654         * lib/fprintftime.h (fprintftime):
23655         * lib/strftime.c (extra_args) [my_strftime]:
23656         * lib/strftime.h (nstrftime):
23657         Time zone arg is now of type timezone_t, not int.
23658         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
23659         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
23660         (my_strftime) [emacs && !my_strftime]:
23661         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
23662         Remove; Emacs doesn't need this any more.
23663         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
23664         fprintftime and nstrftime to call tzset.
23665         (ut) [!my_strftime]: Remove, replacing with ...
23666         (tz) [!my_stftime]: ... this new macro.  All uses changed.
23667         (strftime_case_): Use localtime_rz and mktime_z instead
23668         of localtime_r and mktime.
23669         * modules/fprintftime (Depends-on): Add time_rz.
23670         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
23671         * tests/test-strftime.c (main): Adjust to new nstrftime API.
23673         time_rz: new module
23674         * MODULES.html.sh: Add time_rz.
23675         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
23676         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
23677         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
23678         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
23679         New var HAVE_TIMEZONE_T (default 0).
23680         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
23681         New var GNULIB_TIME_RZ (default 0).
23682         * modules/time (time.h): Substitute the new vars.
23684         flexmember: license is now unlimited
23685         * modules/flexmember (License): Change to unlimited,
23686         since its only source file gives an unlimited license.
23688 2015-07-15  Eric Blake  <eblake@redhat.com>
23690         maint: update copyright paper procedures
23691         * config/srclist.txt: Drop outdated files.
23692         * doc/Copyright/conditions.txt: Update to latest.
23693         * doc/Copyright/assign.changes.manual: Delete.
23694         * doc/Copyright/assign.future.manual: Likewise.
23695         * doc/Copyright/assign.manual: Likewise.
23696         * doc/Copyright/assign.translation.manual: Likewise.
23697         * doc/Copyright/disclaim.changes.manual: Likewise.
23698         * doc/Copyright/disclaim.manual: Likewise.
23699         * doc/Copyright/disclaim.program: Likewise.
23701 2015-07-07  Daiki Ueno  <ueno@gnu.org>
23703         localename: fix link error on Illumos
23704         Illumos defines __sun, but does not have getlocalename_l nor the
23705         equivalent.  This partially reverts commit 387c214.
23706         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
23707         available, as well as uselocale.
23708         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
23709         use getlocalename_l if it is not available.
23711 2015-07-07  Daiki Ueno  <ueno@gnu.org>
23713         unistr/uN-strtok-tests: avoid a trivial leak
23714         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
23715         input and delim after the multibyte delimiter tests.
23717 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
23719         file-has-acl, acl-permissions: fix HP-UX typos
23720         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
23721         * lib/file-has-acl.c (file_has_acl):
23722         * lib/set-permissions.c (context_acl_from_mode)
23723         (context_aclv_from_mode, set_acls):
23724         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
23725         They were introduced by the recent ACL changes.
23727         regex: match current GNU grep behavior
23728         These symbols have not matched GNU grep behavior for quite some time.
23729         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
23730         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
23731         Change to match current GNU behavior.
23732         Simplify by expressing it as differences from POSIX BREs and EREs.
23733         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
23735 2015-07-03  Jim Meyering  <meyering@fb.com>
23737         set-permissions.c: adjust acl_from_mode's cpp guard
23738         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
23739         directives identical to those guarding the sole use.
23740         Otherwise, on some systems, we'd get a warning about
23741         the function being defined but not used.
23742         Also, filter through cppi to correct misleading indentation
23743         of cpp directives.
23745 2015-07-03  Pádraig Brady  <P@draigBrady.com>
23747         tests: restrict shells to those that support 'local'
23748         The local keyword is very widely supported and used
23749         in tests in coreutils and grep at least.  Therefore
23750         restrict to testing with shells that support it.
23751         This mainly excludes /bin/sh on Solaris.
23752         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
23754 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
23755         and Daiki Ueno  <ueno@gnu.org>
23757         unistr/uN-strtok: handle multibyte delimiters
23758         Previously, uN_strtok moved PTR to the next unit to the token end.
23759         When DELIM contained a multibyte character, the new position could
23760         be a middle of a multibyte character.
23761         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
23762         after the token.
23763         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
23764         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
23765         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
23766         * modules/unistr/u8-strtok (Depends-on): Depend on
23767         unistr/u8-strmblen.
23768         * modules/unistr/u16-strtok (Depends-on): Depend on
23769         unistr/u16-strmblen.
23770         * modules/unistr/u32-strtok (Depends-on): Depend on
23771         unistr/u32-strmblen.
23772         * tests/unistr/test-u-strtok.h: New file.
23773         * tests/unistr/test-u8-strtok.c: New file.
23774         * tests/unistr/test-u16-strtok.c: New file.
23775         * tests/unistr/test-u32-strtok.c: New file.
23776         * modules/unistr/u8-strtok-tests: New file.
23777         * modules/unistr/u32-strtok-tests: New file.
23778         * modules/unistr/u16-strtok-tests: New file.
23780 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
23782         update-copyright: fix test failure with perl >= 5.22 (trivial)
23783         * build-aux/update-copyright: Escape a literal left curly bracket,
23784         required with perl >= 5.22
23786 2015-07-02  Daiki Ueno  <ueno@gnu.org>
23788         u{16,32}-strstr-tests: relax timeout condition
23789         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
23790         tests can take longer than 5 seconds to complete.
23791         Reported by Dagobert Michelsen in:
23792         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
23793         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
23794         seconds to 10 seconds.
23795         * tests/unistr/test-u32-strstr.c (main): Likewise.
23797 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
23799         gnulib-common.m4: change the ARFLAGS default to 'cr'
23800         In some GNU/Linux distributions people started to compile 'ar'
23801         binary with --enable-deterministic-archives (binutils project).
23802         That, however, in combination with previous autotools long time
23803         working default AR{_,}FLAGS=cru causes warnings on such
23804         installations:
23805         ar: `u' modifier ignored since `D' is the default (see `U')
23806         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
23807         set already.
23809 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
23811         selinux-h: avoid double free after *getfilecon()
23812         Originally reported by Ben Shelton on bug-tar:
23813         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
23814         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
23815         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
23816         param should be freed by freecon(3) (regardless the return value).
23818 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
23820         fix pty related tests issues on Windows (trivial)
23821         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
23822         however it's still present in tests/ subdirectory of the final project.
23823         Therefore avoid it to pass `make check`.
23824         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
23825         will just return -ENOSYS, so avoid this non applicable test allowing
23826         the build to proceed.
23828 2015-07-01  Pádraig Brady  <P@draigBrady.com>
23830         acl: fix definition of acl_from_mode on FreeBSD
23831         This was causing basic coreutils copy operations to fail
23832         with ENOTSUP or ENOENT error messages.
23833         * lib/acl-internal.h (acl_from_mode): Only define when
23834         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
23835         of acl_from_mode() defined in lib/set-permissions.c to
23836         be used on FreeBSD at least.
23837         * lib/set-permissions.c: Fix up comment spelling,
23838         and a redundant variable assignment; noticed in passing.
23840 2015-06-30  Pádraig Brady  <P@draigBrady.com>
23842         readutmp: port to FreeBSD >= 9
23843         * lib/readutmp.h: Map utmpxname() to setutxdb().
23844         With that coreutils who(1) and pinky(1) tests pass.
23846 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
23848         mgetgroups: port to strict OS X
23849         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
23850         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
23851         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
23852         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
23854 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
23856         mgetgroups: port to strict OS X
23857         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
23858         Document the getgrouplist problem.
23859         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
23860         New macro.
23861         (mgetgroups): Use it.
23862         * m4/mgetgroups.m4 (gl_MGETGROUPS):
23863         Check for OS X signature for getgrouplist.
23865 2015-06-29  Jim Meyering  <meyering@fb.com>
23867         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
23868         It started like this when building coreutils' latest on OS X,
23869         invoking ./configure with a nonempty --cache=.cache:
23871           lib/linkat.c:46:42: error: operator '||' has no right operand
23872           lib/linkat.c: In function 'rpl_linkat':
23873           lib/linkat.c:330:27: error: #if with no expression
23875         Here's linkat.c's line 46:
23877           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
23879         Here's some context:
23881           $ grep linkat_nofoll .cache
23882           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
23883           $ grep LINKAT_SYM lib/config.h
23884           #define LINKAT_SYMLINK_NOTSUP
23886         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
23887         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
23888         but that violates a tenet of AC_CACHE_CHECK: it must
23889         have no side effect other than setting its cache variable.
23891         What happens is that when the cache is set, we'd skip the
23892         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
23893         defined to whatever value it happened to have in configure's
23894         environment.  In my case, it was not defined, so this later code:
23896           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
23897             [Define to 1 if linkat can create hardlinks to symlinks])
23899         would emit code with an empty RHS.
23901         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
23902         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
23904 2015-06-28  Jim Meyering  <meyering@fb.com>
23906         mountlist: avoid an unused-label warning on OS X
23907         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
23908         Building on OS X, I saw a warning about the "free_then_fail" label
23909         being unused.  Give it the _GL_UNUSED_LABEL attribute.
23911         error.c: correct printf-style format: %d -> %u
23912         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
23913         rather than %d, to match the type of "line_number", unsigned int.
23915 2015-06-25  Pádraig Brady  <P@draigBrady.com>
23917         fts: avoid reading beyond the heap allocation
23918         GCC 5.1.1 with -O2 and -fsanitize=address reports
23919         a read of size 4 from a heap object of size 3 is indeed invalid,
23920         though this may be due to incorrect padding assumptions by GCC, see:
23921         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
23922         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
23923         * modules/fts: Depend on stdalign.
23925 2015-06-24  Pádraig Brady  <P@draigBrady.com>
23927         savedir: avoid undefined behavior in qsort call
23928         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
23929         "runtime error: null pointer passed as argument 1,
23930          which is declared to never be null"
23931         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
23933 2015-06-24  Pádraig Brady  <P@draigBrady.com>
23935         userspec: avoid undefined behavior in gettext call
23936         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
23937         "runtime error: null pointer passed as argument 2,
23938          which is declared to never be null"
23939         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
23941 2015-06-20  Glenn Morris  <rgm@gnu.org>
23943         gitlog-to-changelog: improve gitmerge.el commits
23944         Let the Emacs ChangeLog generation process exclude "skipped"
23945         messages from merge commits (Bug#20717).
23946         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
23948 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
23950         wchar: fix MinGW compilation warnings
23951         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
23952         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
23953         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
23955 2015-06-20  Daiki Ueno  <ueno@gnu.org>
23957         uniname/uniname-tests: use pristine data files
23958         For copyright and maintenance reasons, use the data files from UCD
23959         without modification.
23960         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
23961         (getfield): Remove.
23962         (aliases_count): New global variable.
23963         (fill_names): Skip comments and empty lines in the input.  Don't
23964         use getfield.
23965         (fill_aliases): Likewise.
23966         (main): Change the expected command line arguments to:
23967         NAMES... ["--" ALIASES...].
23968         * tests/uniname/test-uninames.sh: Adjust to the change in
23969         test-uninames.c.
23970         * tests/uniname/UnicodeDataNames.txt: Remove.
23971         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
23972         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
23973         file from Unicode 8.0.0.
23975 2015-06-19  Pádraig Brady  <P@draigBrady.com>
23977         linked-list, linkedhash-list: avoid compiler warnings
23978         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
23979         -Werror=suggest-attribute=pure (from GCC 5.1.1).
23981 2015-06-19  Daiki Ueno  <ueno@gnu.org>
23983         libunistring: bump minimum version to 0.9.6
23984         * all modules depending on updated Unicode data: Regenerate.
23985         The modules are listed by a script that does:
23986         - for each file listed by: git show --oneline --name-only 705f4efc
23987           - deduce the containing modules, based on "Files:"
23988         - deduce the modules which depend on the containing modules, based
23989           on "Depends-on:"
23991 2015-06-18  Daiki Ueno  <ueno@gnu.org>
23993         uniname/uniname: update to Unicode 8.0.0
23994         * lib/uniname/uninames.h: Regenerate.
23995         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
23996         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
23998 2015-06-18  Daiki Ueno  <ueno@gnu.org>
24000         libunistring: update to Unicode 8.0.0
24001         * lib/gen-uni-tables.c (SIZEOF): New macro.
24002         (output_numeric): Increase the maximum number of fractions from
24003         128 to 160.  Increase the level3 value width from 7 bits to 8
24004         bits.  Use SIZEOF instead of a hard-coded integer.
24005         (output_blocks): Decrease the cut-off threshold from 0x30000 to
24006         0x28000.
24007         (fill_blocks): Increase the maximum number of blocks from 256 to
24008         384.  Use SIZEOF instead of a hard-coded integer.
24009         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
24010         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
24011         value width.
24012         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
24013         a new case added to LBP22.
24014         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
24015         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
24016         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
24017         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
24018         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
24019         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24020         lib/uniwidth/width.c.
24021         * all generated files under lib/uni* and tests/uni*: Regenerate.
24023 2015-06-16  Pádraig Brady  <P@draigBrady.com>
24025         gnu-web-doc-update: add --mirror to remove stale files
24026         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
24027         out of date files from the CVS server.  Since this is usually
24028         appropriate, a prompt is given when the option is not specified,
24029         along with the `cvs remove` command that would be run.
24031 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
24033         acl-permissions: pacify -Wsuggest-attribute=const
24034         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
24035         * lib/acl-internal.h (free_permission_context):
24036         Declare with attribute const if ! (defined USE_ACL &&
24037         (HAVE_ACL_GET_FILE || defined GETACL)).
24039         fsync: document AIX misbehavior
24040         * doc/posix-functions/fsync.texi (fsync):
24041         Document failure on AIX with read-only file descriptor.
24043 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
24045         stdio: Don't redefine gets when using C++
24046         * lib/stdio.in.h (gets): Disable warning on C++.
24048 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
24050         acl-permissions: port to AIX, C89 HP-UX
24051         Problems reported by Michael Felt.
24052         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
24053         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
24054         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
24055         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
24056         Add cast for AIX, whose system calls are declared to accept
24057         char * even though the arguments are really char const *.
24058         * lib/get-permissions.c (get_permissions):
24059         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
24060         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
24061         that broke a build.
24062         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
24063         Rework types to pacify xlc.
24065 2015-06-03  Pádraig Brady  <P@draigBrady.com>
24067         vasprintf-posix: avoid compiling vasnprintf where possible
24068         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
24069         module where not required.  For example on a GNU/Linux system
24070         when gnulib-tool is run with the --conditional-dependencies option.
24072 2015-06-02  Pádraig Brady  <P@draigBrady.com>
24074         file-has-acl: fix build on Mac OS X 10
24075         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
24076         which has an incompatible 6 parameter getxattr() call.
24077         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
24078         call on Mac OS X >= 10.4.
24079         * doc/glibc-functions/fgetxattr.texi: Likewise.
24080         * lib/file-has-acl.c: Revert to more complete combined check.
24081         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
24082         Reported by Jack Howarth.
24084 2015-06-02  Pádraig Brady  <P@draigBrady.com>
24086         prefix-gnulib-mk: remove no longer needed special case
24087         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
24088         continued lib_SOURCES lines are no longer present,
24089         so special case handling of such entries is not required.
24091 2015-06-01  Pádraig Brady  <P@draigBrady.com>
24093         acl: don't depend on the deprecated qacl module
24094         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
24096 2015-06-01  Pádraig Brady  <P@draigBrady.com>
24098         gnulib-tool: concatenate lib_SOURCES to a single line
24099         * gnulib-tool: Refactor the line merging sed logic,
24100         and use that to output a single lib_SOURCES line for each module.
24101         gnulib using projects often postprocess this output to prepend
24102         subdir paths to each item, and having a single line simplifies this
24103         processing allowing better decoupling from the gnulib-tool output.
24105 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
24107         pthread_sigmask: discount system version if a simple macro (trivial)
24108         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
24109         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
24110         function to ensure it's available.
24112 2015-05-31  Pádraig Brady  <P@draigBrady.com>
24114         readlinkat: avoid OS X 10.10 trailing slash bug
24115         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
24116         has this bug.
24117         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
24118         that OS X 10.10 has this function.
24119         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
24120         as done for readlink().
24121         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
24122         trailing slash bug, and assume readlinkat() has the same issue.
24123         Also fix a typo where $gl_cv_decl_readlink_works was tested,
24124         rather than the correct $gl_cv_decl_readlinkat_works.
24126 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
24128         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
24129         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
24130         module rewrite.
24132         acl-permissions: Fix build on Solaris and Cygwin
24133         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
24134         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
24135         ace_entries variables have moved into struct permission_context but
24136         they were still accessed as local variables here.
24138 2015-05-29  Pádraig Brady  <P@draigBrady.com>
24140         linkat: avoid OS X 10.10 trailing slash with symlink bug
24141         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
24142         causes the symlink to be dereferenced, and if it points
24143         to a non existent file, that file will be created as
24144         a hard link to "path1".
24145         This fixes a test failure in test-linkat.c.
24146         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
24147         this case.  The existing workaround in linkat.c for
24148         trailing slash issues, suffices for this case.
24149         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
24150         the list of platforms with trailing slash issues.
24152 2015-05-28  Pádraig Brady  <P@draigBrady.com>
24154         unlinkat: handle ignoring of ".." on Darwin 14
24155         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
24156         on Mac OS X 10.10, where it ignores paths with a trailing "..",
24157         so handle in the same manner.
24158         * m4/unlinkat.m4: Comment on this Darwin issue.
24159         * doc/posix-functions/unlink.texi: Update the latest version
24160         where the issue was seen.
24161         * doc/posix-functions/unlinkat.texi: Mention this issue.
24162         Fixes a test failure in test-unlinkat.c.
24164 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24166         qacl: split into qcopy-acl and qset-acl
24167         Emacs needs the former, but not the latter.
24168         * modules/acl-permissions: New file, containing most of the old qacl.
24169         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
24170         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
24171         * modules/qcopy-acl, modules/qset-acl: New files.
24172         * MODULES.html.sh (File system functions):
24173         Mention the new modules, and mention qacl while we're at it.
24175 2015-05-27  Glenn Morris  <rgm@gnu.org>
24177         gitlog-to-changelog: new option --ignore-line
24178         (This patch is imported from the GNU Emacs master.)
24179         This option ignores individual commit lines matching a pattern.
24180         * build-aux/gitlog-to-changelog: Add --ignore-line option.
24182 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
24184         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
24185         Implement get_permissions and set_permissions primitives for getting all
24186         the permissions of a file, storing them, and later setting them. (In the
24187         minimal case, the permissions consist only of a file mode.) Reimplement
24188         qset_acl and qcopy_acl based on these new primitives: this avoids code
24189         duplication and makes error handling more consistent.
24190         The Solaris and Cygwin code still uses duplicate code paths for setting
24191         a file mode while making sure that no acls exist and setting an explicit
24192         acl; this is no worse than before, but could be cleaned up.  The AIX
24193         code still doesn't read ACLs, it only makes sure that acls don't get in
24194         the way when setting a file mode.
24195         * lib/acl-internal.h (struct permission_context): New data structure.
24196         (get_permissions, set_permissions, free_permission_context): Declare.
24197         * lib/acl-internal.c (free_permission_context): New helper function.
24198         * lib/get-permissions.c (get_permissions): New helper function split off
24199         from qcopy_acl.
24200         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
24201         AIX, set a file's permissions based only on a file mode.
24202         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
24203         other platforms construct a temporary acl from the file mode and set
24204         that acl in the same way as setting an acl read from the source file.
24205         This should help avoid code duplication and inconsistent / buggy
24206         behavior.
24207         (set_acls): New helper function Split off from qcopy_acl.
24208         (chmod_or_fchmod): Moved here from qset-acl.c.
24209         (set_permissions): New helper function.
24210         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
24211         set_permissions.
24212         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
24213         * modules/qacl: Add get-permissions.c and set-permissions.c.
24215         file-has-acl: Split feature tests again (Bug#20667)
24216         * lib/file-has-acl.c: Instead of testing for
24217         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
24218         define them when needed.
24219         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
24220         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
24222 2015-05-27  Pádraig Brady  <P@draigBrady.com>
24224         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
24225         This avoids a conflict with "FORTIFY_SOURCE" variants
24226         of the string functions when they're replaced on NetBSD-6.0.1
24227         and Darwin-14.3.0 at least.
24228         * lib/string.in.h: Avoid including our "lib/string.h" while
24229         including the system <string.h>.
24231 2015-05-26  Eric Blake  <eblake@redhat.com>
24233         stdio: limit __gnu_printf__ witness to gcc 4.4+
24234         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
24235         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
24237         error: use correct printf attributes on mingw
24238         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
24240         inttypes: force correct mingw PRIdMAX even without <stdio.h>
24241         * modules/inttypes (Depends-on): Require extensions, so that mingw
24242         always uses GNU style inttypes.
24243         * lib/inttypes.in.h: On mingw, include <stdio.h>.
24245         stdio: fix probe on mingw under gcc 5.1
24246         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
24247         around new gcc preprocessor rules.
24249 2015-05-07  Glenn Morris  <rgm@gnu.org>
24251         gitlog-to-changelog: parse "Tiny-change"
24252         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
24253         "Copyright-paperwork-exempt".  (Bug#20324)
24255 2015-05-06  Pádraig Brady  <P@draigBrady.com>
24257         doc: document glibc posix_fallocate() issues
24258         * doc/posix-functions/posix_fallocate.texi: Mention the
24259         glibc efficiency problems and issues with NFS.
24261 2015-05-05  Karl Berry  <karl@freefriends.org>
24263         * build-aux/gendocs.sh (usage): document new css default
24264         for HTML (--htmlarg).
24266 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24268         extern-inline: no need for workaround in GCC 5.1
24269         * doc/extern-inline.texi (extern inline):
24270         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
24271         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
24272         around these bugs in GCC 5.1 and later.  Maybe in a decade or
24273         two we can remove these workarounds.
24275 2015-04-28  Pádraig Brady  <P@draigBrady.com>
24277         eealloc, pagealign_alloc, xalloc: avoid clang warnings
24278         Avoid [-Wunknown-attributes] warnings like:
24279         warning: unknown attribute '__alloc_size__' ignored
24280         * lib/xalloc.h: Don't use the __alloc_size__  attribute
24281         with clang, as support has been fully removed as of clang 3.5:
24282         https://github.com/llvm-mirror/clang/commit/c047507a
24283         * lib/eealloc.h: Likewise.
24284         * lib/pagealign_alloc.h: Likewise.
24286 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
24288         tests: pacify GCC 5.1's stricter printf checking
24289         * tests/test-dirname.c (main):
24290         * tests/test-getaddrinfo.c (simple):
24291         * tests/test-getlogin.c (main):
24292         * tests/test-getndelim2.c (main):
24293         * tests/test-inttostr.c (CK):
24294         * tests/test-md5.c (main):
24295         * tests/test-read-file.c (main):
24296         * tests/test-sha1.c (main):
24297         Fix mismatches between printf format and value signedness.
24298         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
24299         Remove, as CAST_VAL always returned a value of type uintmax_t.
24301         fts: port to GCC 5.1 with --enable-gcc-warnings
24302         Without this fix, GCC 5.1 (correctly) warns about a subscript
24303         error on the fts_name component of FTSENT.  It's actually a
24304         flexible member, so define it that way on C99 or later hosts.
24305         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
24306         structure that now has a flexible array member.
24307         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
24308         (FTSENT): fts_name is now flexible on C99-or-later platforms.
24309         * modules/fts (Depends-on): Add flexmember.
24311 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
24313         file-has-acl: port to CentOS 6
24314         Problem reported by Tom G. Christensen in:
24315         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
24316         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
24317         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
24318         HAVE_GETXATTR.
24319         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
24320         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
24321         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
24322         file-has-acl.c actually needs.
24324 2015-04-26  Pádraig Brady  <P@draigBrady.com>
24326         file-has-acl: always return false when ACLs aren't supported
24327         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
24328         change the GNU/Linux getxattr path, to transform "not supported"
24329         errors to a false return rather than an error.  This is handled
24330         within file_has_acl() due to the platform specific tests to
24331         determine if ACLs are not supported.
24333 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24335         gettext: propagate po/Makefile.in.in too
24336         * build-aux/po/Makefile.in.in: Copy from latest gettext.
24337         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
24338         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
24339         between Makefile.in.in and the gettext-runtime m4 files.
24341 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
24343         file-has-acl: new module, split from acl
24344         And add a new module file-has-acl-tests to match.
24345         I ran into a problem with the recent changes to the acl module,
24346         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
24347         When using the fixed version with Emacs, I discovered that
24348         file-has-acl wasn't separated out well enough for Emacs (e.g., it
24349         had multiple libraries, but needed only one), so I fixed that too.
24350         * NEWS: Document this incompatible change.
24351         * modules/file-has-acl, modules/file-has-acl-tests: New files.
24352         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
24353         Initialize gl_need_lib_has_acl.
24354         (gl_FUNC_ACL): Require it.
24355         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
24356         Move the file-has-acl.c-relevant stuff to ...
24357         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
24358         use_xattrs = 0' typo, and omit some needless work.  Set
24359         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
24360         when gl_FUNC_ACL is called.
24361         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
24362         (Link): Remove $(LIB_HAS_ACL).
24363         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
24364         (check_PROGRAMS): Move stuff relevant to file-has-acl to
24365         modules/file-has-acl-tests.
24366         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
24368         manywarnings: add GCC 5.1 warnings
24369         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
24370         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
24371         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
24372         -Wsuggest-override, -Wuse-without-only.  Change
24373         -Wnormalized=... operands to match 5.1.
24374         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
24375         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
24376         -Wdiscarded-qualifiers, -Wformat-signedness,
24377         -Wincompatible-pointer-types, -Wint-conversion,
24378         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
24379         -Wshift-count-negative, -Wshift-count-overflow,
24380         -Wsizeof-array-argument, -Wsuggest-final-methods,
24381         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
24382         and add -Warray-bounds=2 as a special case.
24384 2015-04-21  Simon Josefsson  <simon@josefsson.org>
24386         doc: update FDL template to match FDL examples.
24387         * doc/alloca-opt.texi:
24388         * doc/alloca.texi:
24389         * doc/c-ctype.texi:
24390         * doc/c-strcase.texi:
24391         * doc/c-strcaseeq.texi:
24392         * doc/c-strcasestr.texi:
24393         * doc/c-strstr.texi:
24394         * doc/c-strtod.texi:
24395         * doc/c-strtold.texi:
24396         * doc/ctime.texi:
24397         * doc/error.texi:
24398         * doc/gcd.texi:
24399         * doc/gnulib-tool.texi:
24400         * doc/inet_ntoa.texi:
24401         * doc/intprops.texi:
24402         * doc/lib-symbol-visibility.texi:
24403         * doc/maintain.texi:
24404         * doc/parse-datetime.texi:
24405         * doc/quote.texi:
24406         * doc/regexprops-generic.texi:
24407         * doc/standards.texi: Remove spurious 'with' in FDL license
24408         template.
24410 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
24412         lstat: fix cross-compilation 'ln -s' problem
24413         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
24414         Have the test program call 'symlink' rather than a separate
24415         script run 'ln -s'; this is more likely to work in
24416         cross-compilation environments.  Reported by Pavel Fedin in:
24417         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
24419 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
24421         gendocs.sh: default to a common CSS style sheet for HTML output
24422         * build-aux/gendocs.sh (htmlarg): Change default value.
24424 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
24426         gnulib-tool: output bold attribute more portably
24427         * gnulib-tool (func_show_module_list): Change hexadecimal
24428         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
24429         encoded numbers as arguments to `printf' is not portable,
24430         and is not claimed by POSIX.  This is the case with FreeBSD.
24432 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
24434         qacl: Simplify HP-UX acl_nontrivial check
24435         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
24436         acl_nontrivial. Check if the acl has at most three entries instead (it must
24437         have exactly three entries according to the HP-UX documentation). Ignore
24438         uids and gids as long as an entry is either for a user (i.e., the owner),
24439         a group (i.e., the owning group), or others.
24440         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
24441         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
24443 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
24445         acl: On Linux, check for acls without libacl
24446         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
24447         library function to check for the presence of acls, avoiding a library.
24448         * lib/file-has-acl.c: Include xattr headers if we have them.
24449         (file_has_acl): On Linux, use getxattr().
24450         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
24451         file_has_acl(). Check for xattr headers and getxattr().
24453 2015-04-14  Ángel González  <keisial@gmail.com>
24455         tempname: avoid unused parameter warnings (trivial)
24456         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
24457         (try_nocreate): Likewise.
24459 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
24461         fseeko: fix build failure on NetBSD >= 6 (trivial)
24462         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
24463         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
24465 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
24467         gitlog-to-changelog: port to MS-Windows
24468         * build-aux/gitlog-to-changelog (git_dir_option):
24469         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
24470         MS-Windows Perl.  Reported by Eli Zaretskii in:
24471         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
24473 2015-04-07  Karl Berry  <karl@gnu.org>
24475         gendocs: new option --tex for passing args to texi2dvi.
24476         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
24477         (TEXI2DVI): cut to just command name.
24478         (usage): mention new option, and update copyright.
24479         <generate_tex>: use it.
24481 2015-04-07  Karl Berry  <karl@gnu.org>
24483         * config/srclistvars.sh (GETTEXT): new definition.
24484         * config/srclist.txt: use it for gettext .m4 files.
24485         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
24486         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
24487         and continuing into April.
24489 2015-04-07  Daiki Ueno  <ueno@gnu.org>
24491         uniname/uniname-tests: fix failure due to alias
24492         Reported by Jack Howarth in:
24493         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
24494         * tests/uniname/test-uninames.c (name_has_alias): New function.
24495         (test_inverse_lookup): Exclude character name with valid alias,
24496         from randomly generated character names.
24497         (main): Fill unicode_aliases before calling test functions.
24499 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
24501         hash: remove deprecated hash_insert0 function
24502         * lib/hash.h (hash_insert0): Remove deprecated function.
24503         * lib/hash.c (hash_insert0): Likewise.
24505 2015-04-02  Pádraig Brady  <P@draigBrady.com>
24507         mountlist: remove dependency on libmount
24508         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
24509         directly, rather than depending on libmount, which has many
24510         dependencies due to its dependence on libselinux, as detailed at:
24511         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
24512         Note we restrict this to __linux__ as that's probably where this
24513         interface will remain.  If ever porting, it would be best
24514         to first pull the makedev() wrapper from coreutils to a gnulib module.
24515         Note also we don't add a getline dependency to the mountlist module,
24516         as all Linux versions are sufficient.
24518 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
24520         stddef: port to pre-C11 GCC on x86
24521         On this platform, max_align_t should have an alignment of 8 even
24522         though the storage alignments of double, long, etc. max out at 4.
24523         Inspired by a comment of Andreas Schwab's here:
24524         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
24525         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
24526         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
24527         * tests/test-stddef.c: Test __alignof__ too, if available.
24529 2015-03-24  Pádraig Brady  <P@draigBrady.com>
24531         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
24532         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
24534 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
24536         yesno: make EOL optional in ENABLE_NLS case also (trival)
24537         * lib/yesno.c (yesno): Check for EOL before replacing.
24538         * tests/test-yesno.sh: Add a test case (test along with gettext).
24540 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24542         fdopendir-tests: test it does not close its arg
24543         * tests/test-fdopendir.c (main): Test that fdopendir does not
24544         close its argument.  From a suggestion by David Grayson in:
24545         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
24547 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
24549         gitlog-to-changelog: trim trailing white space
24550         * build-aux/gitlog-to-changelog (main):
24551         Trim trailing white space from commit message lines.
24552         This is helpful for processing the GNU Emacs repository,
24553         which dates back to 1985 and contains a lot of such lines.
24555         gitlog-to-changelog: new option --ignore-matching
24556         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
24557         Support new option --ignore-matching=PAT, which ignores all
24558         commit messages whose first line matches PAT.
24560 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24562         fdopendir: port better to MinGW
24563         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
24564         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
24565         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
24566         * modules/fdopendir (Depends-on): Add dirfd.
24568 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24570         fdopendir: fix typo in comment
24571         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
24573 2015-03-09  Eric Blake  <eblake@redhat.com>
24575         error: document all entry points provided
24576         * doc/glibc-functions/error_print_progname.texi
24577         (error_print_progname): Mention the error module.
24578         * doc/glibc-functions/error_at_line.texi (error_at_line):
24579         Likewise.
24580         * doc/glibc-functions/error_message_count.texi
24581         (error_message_count): Likewise.
24582         * doc/glibc-functions/error_one_per_line.texi
24583         (error_one_per_line): Likewise.
24585 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
24587         vasnprintf: pacify clang 3.5.0
24588         Problem reported by Werner Lemberg in:
24589         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
24590         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
24591         The casts aren't needed, since the characters in question are ASCII.
24593 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24595         glob, etc.: port to MSVC v18 on MS-Windows 8.1
24596         * lib/dirent--.h (GNULIB_defined_opendir):
24597         * lib/dirent.in.h (GNULIB_defined_opendir)
24598         (GNULIB_defined_closedir):
24599         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
24600         #undef only if Gnulib defined it.
24602         poll: port to MSVC v18 on MS-Windows 8.1
24603         Problem reported by Gisle Vanem in:
24604         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
24605         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
24606         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
24607         Add sys_socket.
24609 2015-02-24  Pádraig Brady  <P@draigBrady.com>
24611         tests: support stderr verification with returns_()
24612         * tests/init.sh (returns_): Disable tracing for this wrapper
24613         function, so that stderr of the wrapped command is unchanged,
24614         allowing for verification of the contents.
24616 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
24618         passfd: avoid valgrind uninitalised data warning
24619         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
24620         to include just the fd we've initialized, rather than including
24621         the extra space used for alignment.
24623 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
24625         uniwbrk/u32-wordbreaks-tests: fix copyright
24626         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
24628         dup2: doc and test for Android bug
24629         Reported by Kevin Cernekee in:
24630         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
24631         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24632         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
24634 2015-02-23  Kevin Cernekee  <cernekee@google.com>
24636         Replace dup2() on Android
24637         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
24638         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
24639         fails.  Using rpl_dup2() fixes this because it has an explicit test
24640         for this condition.
24642 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
24644         Android doesn't define RLIM_SAVED_*
24645         Portability problem reported by Kevin Cernekee in:
24646         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
24647         * doc/posix-headers/sys_resource.texi (sys/resource.h):
24648         Mention the portability problem.
24649         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
24650         Define if not defined.
24651         * m4/dup2.m4 (gl_FUNC_DUP2):
24652         * m4/fcntl.m4 (gl_FUNC_FCNTL):
24653         Likewise.
24655 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
24657         vasnprintf-posix-tests: use consistent test
24658         * tests/test-vasnprintf-posix.c (test_function):
24659         Use "<" in assert instead of "<=", for consistency with other tests.
24661 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
24663         printf, isinf, etc.: noncanonical != NaN
24664         Do not require that isinf, printf, etc. treat noncanonical
24665         values as NaNs.  Instead, require only that they do not crash.
24666         Problem reported by Joseph Myers in:
24667         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
24668         * doc/posix-functions/dprintf.texi (dprintf):
24669         * doc/posix-functions/fprintf.texi (fprintf):
24670         * doc/posix-functions/isfinite.texi (isfinite):
24671         * doc/posix-functions/isinf.texi (isinf):
24672         * doc/posix-functions/isnan.texi (isnan):
24673         * doc/posix-functions/printf.texi (printf):
24674         * doc/posix-functions/snprintf.texi (snprintf):
24675         * doc/posix-functions/sprintf.texi (sprintf):
24676         * doc/posix-functions/vdprintf.texi (vdprintf):
24677         * doc/posix-functions/vfprintf.texi (vfprintf):
24678         * doc/posix-functions/vprintf.texi (vprintf):
24679         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24680         * doc/posix-functions/vsprintf.texi (vsprintf):
24681         Document this.
24682         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
24683         * m4/isinf.m4 (gl_ISINFL_WORKS):
24684         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
24685         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
24686         * tests/test-isfinite.c (test_isfinitel):
24687         * tests/test-isinf.c (test_isinfl):
24688         * tests/test-isnan.c (test_long_double):
24689         * tests/test-isnanl.h (main):
24690         * tests/test-snprintf-posix.h (test_function):
24691         * tests/test-sprintf-posix.h (test_function):
24692         * tests/test-vasnprintf-posix.c (test_function):
24693         * tests/test-vasprintf-posix.c (test_function):
24694         Test only that noncanonical values do not cause crashes, not that
24695         they are treated as NaNs.  In some cases this means a larger
24696         output buffer is needed.
24698 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
24700         fts: remove redundant close() (trivial)
24701         * lib/fts.c (fts_read): Remove redundant call to close().
24702         Spotted by coverity.
24704 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
24706         getdtablesize: port better for Android
24707         Problem reported by Kevin Cernekee in:
24708         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
24709         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
24710         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
24711         Instead, just use getrlimit, taking care to avoid Cygwin bug.
24713         poll: fixes for large fds
24714         * lib/poll.c (poll): Don't check directly for NFD too large.
24715         Don't rely on undefined behavior in FD_SET when an arg exceeds
24716         FD_SETSIZE.  Always set revents afterwards, even if to zero.
24717         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
24718         as that makes the test a bit stricter.
24720 2015-02-19  Kevin Cernekee  <cernekee@google.com>
24722         fcntl: Fix cross compiling
24723         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
24724         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
24726 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
24728         dup2, fcntl: cross-compile better for Android
24729         Problem reported by Kevin Cernekee in:
24730         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
24731         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
24732         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
24733         there's little need to cross-compile for older kernels nowadays.
24734         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
24735         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
24737 2015-02-18  Pádraig Brady  <P@draigBrady.com>
24739         getopt: don't crash on memory exhaustion
24740         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
24741         memory exhaustion.  In the _LIBC case we use alloca() as is
24742         already done in glibc, so we don't need to consider the separate
24743         error path in that awkward case.  Also fix a memory leak when
24744         ambiguous options are present.
24745         Reported by Tobias Stoeckmann
24747 2015-02-17  Mike Miller  <mtmiller@ieee.org>
24749         tempname: allow compilation with C++ (trivial)
24750         * lib/tempname.h [C++]: Specify extern "C" linkage.
24751         * lib/tempname.h (try_tempname):
24752         * lib/tempname.c (__try_tempname, __gen_tempname):
24753         Rename 'try' to 'tryfunc'.
24755 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24757         dup2, fcntl: port to AIX
24758         * m4/dup2.m4 (gl_FUNC_DUP2):
24759         * m4/fcntl.m4 (gl_FUNC_FCNTL):
24760         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
24761         The former works on AIX 7.1 but the latter does not.
24762         Also, this may work better with Android; see:
24763         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
24765 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24767         getdtablesize, dup2, fcntl: port to Android
24768         Problem reported by Kevin Cernekee in:
24769         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
24770         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
24771         Mention that getdtablesize doesn't work on Android.
24772         * lib/getdtablesize.c: Use getrlimit substitute only if
24773         getdtablesize is declared.  This should suffice for Cygwin
24774         while not breaking Android.
24775         * m4/dup2.m4 (gl_FUNC_DUP2):
24776         * m4/fcntl.m4 (gl_FUNC_FCNTL):
24777         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
24778         standardized but the latter is not, and sysconf works on Android.
24779         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
24780         Also check that getdtablesize is declared.
24781         This removes the need for a special case for Android.
24783 2015-02-16  Kevin Cernekee  <cernekee@google.com>
24785         localename: Implement gl_locale_name_thread_unsafe for Android
24786         * lib/localename.c: Android API level >= 21 supports two hardcoded
24787         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
24788         the internal __locale_t struct.
24790 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
24792         fts: avoid crash when a cycle is added while traversing
24793         This could be triggered by auto-mounting a recursive bind mount.
24794         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
24795         * lib/fts.c (fts_read): Avoid removing the original hash table item
24796         when leaving a directory that caused a cycle, and preserve the FTS_DC
24797         flag.
24799 2015-02-16  Daiki Ueno  <ueno@gnu.org>
24801         uniname/uniname: support character alias
24802         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
24803         Generate one-way mapping from aliases to codepoints in the
24804         generated tables.  Special case variation selectors to reduce
24805         table size.
24806         * lib/uniname/uniname.c (unicode_character_name): Special case
24807         variation selectors.
24808         (unicode_name_character): Special case variation selectors and
24809         their aliases.
24810         * lib/uniname/uninames.h: Regenerate.
24811         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
24812         * modules/uniname/uniname-tests (Files): Add
24813         tests/uniname/NameAliases.txt.
24814         * tests/uniname/test-uninames.c: Mark as static.
24815         (ALIASLEN): Define.
24816         (struct unicode_alias): New struct.
24817         (unicode_aliases): New variable.
24818         (fill_aliases): New function.
24819         (test_alias_lookup): New test function.
24820         (main): Run the 'test_alias_lookup' test if the second argument is
24821         given.
24822         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
24823         second argument.
24825 2015-02-11  Kevin Cernekee  <cernekee@google.com>
24827         Fix FILE struct compatibility with Android API level >= 21
24828         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
24829         __sferror.  Recent versions of Bionic's stdio.h no longer define
24830         __sferror.
24831         * lib/fbufmode.c: Likewise.
24832         * lib/fflush.c: Likewise.
24833         * lib/fpurge.c: Likewise.
24834         * lib/freadable.c: Likewise.
24835         * lib/freadahead.c: Likewise.
24836         * lib/freading.c: Likewise.
24837         * lib/freadptr.c: Likewise.
24838         * lib/freadseek.c: Likewise.
24839         * lib/fseeko.c: Likewise.
24840         * lib/fseterr.c: Likewise.
24841         * lib/fwritable.c: Likewise.
24843         Assume unbroken ungetc() on Android
24844         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
24845         test case passed when running on an Android host, and the code
24846         hasn't really changed since 2009.
24848         getdtablesize: Fix Android build
24849         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
24850         versions have this symbol in the .so library (at least 32-bit
24851         platforms) but are missing the declaration in the header file,
24852         causing the m4 logic to guess incorrectly.
24854         localename: Fix Android build
24855         * modules/localename (Depends-on): Add langinfo.
24857         getugroups: Fix Android build
24858         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
24859         functions.
24861         euidaccess: Fix Android build
24862         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
24863         AT_EACCESS gets declared.
24865         linkat_nofollow: Add fallback case for cross compiling
24866         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
24868         net_if: Handle content-free <net/if.h> system headers
24869         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
24870         struct if_nameindex.  If not, enable the replacement header.
24872         signal_h: Fix Android build
24873         * lib/signal.in.h: Add Android to the list of platforms that declare
24874         pthread_sigmask() in <pthread.h> instead of <signal.h>.
24876         duplocale: Fix Android build of duplocale-tests
24877         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
24878         is included by test-duplocale.c (but not by duplocale.c).
24879         * modules/duplocale-tests (configure.ac): Check for monetary.h.
24880         * tests/test-duplocale.c: Skip test if monetary.h is absent.
24881         * doc/posix-headers/monetary.texi: Add Android to the list of
24882         platforms missing monetary.h.
24884 2015-02-11  Pádraig Brady  <P@draigBrady.com>
24886         tests: avoid recent -Werror=unused-variable regression in test-locale
24887         * tests/test-locale.c (main): Reference the variable to avoid the
24888         "unused variable" warning.
24890 2015-02-11  Pádraig Brady  <P@draigBrady.com>
24892         maint: various whitespace cleanups in tempname
24893         * lib/tempname.c: Normalize spacing and line length.
24894         * lib/tempname.h: Likewise.
24895         * modules/tempname: Likewise.
24897 2015-02-11  Pádraig Brady  <P@draigBrady.com>
24899         tests: provide returns_() to simplify exit status checking
24900         * tests/init.sh (returns_): A new function for use in tests,
24901         to allow for easier checking of return values, where you expect
24902         a command to exit with failure status.  By checking for a particular
24903         exit code, you don't hide any crashes for example.
24905 2015-02-11  Pádraig Brady  <P@draigBrady.com>
24907         mountlist: only use libmount when specified
24908         There are currently many shared libs dependencies introduced by
24909         libmount with associated runtime and virt mem overhead.
24910         Therefore don't enable by default.
24911         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
24913 2015-02-08  Daiki Ueno  <ueno@gnu.org>
24915         uniname/unimame-tests: don't link with -lunistring
24916         * modules/uniname/uniname-tests (Makefile.am): Don't link against
24917         $(LIBUNISTRING).  Document the rationale why we need to
24918         conditionalize the test.
24920 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
24922         fstrcmp: don't assume strlen < INT_MAX
24923         * lib/fstrcmp.c: Include stddef.h and stdint.h.
24924         (uintptr_t): Remove, as we're now assuming stdint.
24925         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
24926         Prefer ptrdiff_t to int when the value could exceed INT_MAX
24927         if the input string is long.
24928         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
24929         uintptr_t to size_t when the underlying value is a pointer casted
24930         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
24931         * modules/fstrcmp (Depends-on): Add stdint.
24933         diffseq: prefer ptrdiff_t to ssize_t
24934         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
24935         ptrdiff_t is the natural type for signed indexes.
24936         On a few older platforms, ssize_t is narrower than size_t.
24938         xalloc: fix typo that suppressed warnings
24939         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
24940         This typo, introduced a couple of years ago, mistakenly suppressed
24941         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
24942         -Wmissing-declarations warnings.
24944         full-read: fix license notice typo
24945         * lib/full-read.h: Remove a stray line in the license notice.
24946         Reported by Sam Ellis in: http://bugs.gnu.org/19808
24948         crypto/gc: fix a -Wswitch warning
24949         Reported by Bruce Korb in:
24950         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
24951         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
24953 2015-02-03  Pádraig Brady  <P@draigBrady.com>
24955         gnulib-tool: fix handling of patch(1) diagnostics
24956         * gnulib-tool: Send diagnostics from patch(1) to stderr,
24957         as otherwise gnulib-tool will reparse that output and attempt
24958         to lookup modules.
24960 2015-02-03  Pádraig Brady  <P@draigBrady.com>
24962         bootstrap: exit immediately upon gnulib-tool failure
24963         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
24964         This was noticed when gnulib-tool exited early due to failure
24965         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
24966         but various confusing errors were then given as the build proceeded.
24968 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
24970         symlinkat: include all required header files
24971         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
24972         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
24973         Reported at https://savannah.gnu.org/bugs/index.php?44151
24974         and by Jack Howarth.
24976 2015-01-29  Pádraig Brady  <P@draigBrady.com>
24978         localename: support Solaris 12 and illumos
24979         * lib/localename.c (gl_locale_name_thread_unsafe): call
24980         getlocalename_l() on newer __sun platforms.
24981         Reported by Alexander Pyhalov.
24982         Fix suggested by Rich Burridge.
24984 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
24986         locale: fix tests on illumos (trivial)
24987         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
24988         so move from global scope to main().
24990 2015-01-24  Daiki Ueno  <ueno@gnu.org>
24992         unictype: avoid undefined left-shift behavior
24993         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
24994         gcc's -fsanitize=shift and running its tests triggered:
24995           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
24996             places cannot be represented in type 'int'
24997         Cast LHS to 'unsigned int' after integer promotion.
24998         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
24999         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
25001 2015-01-20  Daiki Ueno  <ueno@gnu.org>
25003         libunistring: bump version of unitypes dependants
25004         Due to the header file search order, all the headers which depend
25005         on unitypes.h need to be generated, when the preinstalled
25006         libunistring is older.
25007         * modules/unicase/base (configure.ac): Bump minimum version to
25008         0.9.4.
25009         * modules/uniconv/base (configure.ac): Likewise.
25010         * modules/unilbrk/base (configure.ac): Likewise.
25011         * modules/uninorm/base (configure.ac): Likewise.
25012         * modules/unistdio/base (configure.ac): Likewise.
25013         * modules/unistr/base (configure.ac): Likewise.
25014         * modules/uniwbrk/base (configure.ac): Likewise.
25015         * modules/uniwidth/base (configure.ac): Likewise.
25017 2015-01-20  Daiki Ueno  <ueno@gnu.org>
25019         unictype/category-none: fix link with libunistring
25020         Since _UC_CATEGORY_NONE is not a public symbol, it will be
25021         prefixed with "libstring_" when compiled as part of libunistring.
25022         To avoid undefined symbol at link time, increase the minimum
25023         version when the dependant modules are updated.
25024         * modules/unictype/category-none (configure.ac): Bump minimum
25025         version to 0.9.5.
25027 2015-01-20  Daiki Ueno  <ueno@gnu.org>
25029         unitypes: fix build with installed libunistring
25030         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
25031         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
25032         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
25034 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25036         time: port to MinGW32 3.21
25037         Problem reported by Eli Zaretskii in:
25038         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
25039         * lib/time.in.h:
25040         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
25041         * modules/time (Depends-on):
25042         Fall back on unistd.h if the other include files don't define
25043         struct timespec.
25045         update-copyright: apply to self
25046         * build-aux/update-copyright: Fix copyright date.  How ironic!
25048 2015-01-15  Daiki Ueno  <ueno@gnu.org>
25050         libunistring: update to Unicode 7.0.0
25051         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
25052         Manichaean names.
25053         * lib/unictype/joininggroup_name.h: Likewise.
25054         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
25055         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
25056         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
25057         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
25058         (fill_arabicshaping, joining_group_as_c_identifier): Support those
25059         enum values.
25060         (is_property_alphabetic): Accept newly added characters to
25061         cuneiform numeric signs.
25062         (is_property_default_ignorable_code_point): Reject U+0605.
25063         (FIELDLEN): Increase from 120 to 160.
25064         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
25065         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
25066         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
25067         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
25068         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
25069         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
25070         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
25071         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
25072         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
25073         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
25074         U+1E8D0..U+1E8D6.
25075         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
25076         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25077         lib/uniwidth/width.c.
25078         * all generated files under lib/uni* and tests/uni*: Regenerate.
25080 2015-01-14  Daiki Ueno  <ueno@gnu.org>
25082         libunistring: update to Unicode 6.3.0
25083         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
25084         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
25085         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
25086         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
25087         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
25088         Update WB5, WB9, WB10, WB13a, and WB13b.
25089         * tests/uniwbrk/test-uc-wordbreaks.c
25090         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
25091         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
25092         (UC_BIDI_PDI): New enumeration values.
25093         (bidi_category_byname): Support those enum values.
25094         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
25095         dedicated property assigned.
25096         (is_property_case_ignorable): Check 0x0027.
25097         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
25098         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
25099         (output_wbp): Support those enum values.
25100         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
25101         (UC_BIDI_PDI): New enumeration values.
25102         * lib/unictype/bidi_byname.gperf: Add those property names.
25103         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
25104         U+180E, U+1A1B, and U+2066..U+2069.
25105         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25106         lib/uniwidth/width.c.
25107         * all generated files under lib/uni* and tests/uni*: Regenerate.
25109 2015-01-14  Daiki Ueno  <ueno@gnu.org>
25111         libunistring: update to Unicode 6.2.0
25112         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
25113         (unilbrk_table): Adjust table size.
25114         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
25115         for LBP_RI.
25116         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
25117         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
25118         Normalize table index skipping ignored properties.
25119         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
25120         WBP_EXTEND and WBP_FORMAT, which are now computed without using
25121         the table.
25122         * lib/uniwbrk/wbrktable.h: Adjust table size.
25123         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
25124         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
25125         Support rule GB8a.
25126         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
25127         * tests/unigbrk/test-uc-is-grapheme-break.c
25128         (graphemebreakproperty_to_string): Support GBP_RI.
25129         * tests/uniwbrk/test-uc-wordbreaks.c
25130         (wordbreakproperty_to_string): Support WBP_RI.
25131         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
25132         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
25133         (output_lbp): Support LBP_RI.  Adjust some characters changed from
25134         LBP_AL to LBP_ID.
25135         (output_lbp): Support LBP_RI.
25136         (WBP_RI): New enumeration value.
25137         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
25138         (output_wbp): Support WBP_RI.
25139         (GBP_RI): New enumeration value.
25140         (output_gbp_test, fill_org_gbp): Support GBP_RI.
25141         * all generated files under lib/uni* and tests/uni*: Regenerate.
25143 2015-01-14  Daiki Ueno  <ueno@gnu.org>
25145         libunistring: update to Unicode 6.1.0
25146         * lib/gen-uni-tables.c (output_joining_group): Switch to
25147         3-level table to accommodate joining groups defined with higher
25148         codepoint value.  Since there are only 88 groups defined in
25149         Unicode 7.0.0, use 7-bit packed format for level3 entries.
25150         (get_lbp): Update for Unicode 6.1.0.
25151         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
25152         3-level table.
25153         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
25154         joining group name.
25155         * lib/unictype/joininggroup_name.h: Likewise.
25156         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
25157         (unilbrk_table): Adjust table size.
25158         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
25159         for LBP_HL.
25160         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
25161         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
25162         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
25163         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
25164         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
25165         U+302E..U+302F.
25166         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25167         lib/uniwidth/width.c.
25168         * all generated files under lib/uni* and tests/uni*: Regenerate.
25169         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
25171 2015-01-15  Daiki Ueno  <ueno@gnu.org>
25173         uniwbrk/u32-wordbreaks-tests: add conformance test
25174         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
25175         tests/uniwbrk/test-uc-wordbreaks.c,
25176         tests/uniwbrk/test-uc-wordbreaks.sh, and
25177         tests/uniwbrk/WordBreakTest.txt.
25178         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
25179         test-uc-wordbreaks to $(check_PROGRAMS), and define
25180         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
25181         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
25182         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
25184 2015-01-15  Daiki Ueno  <ueno@gnu.org>
25186         uniwbrk: ignore Extended/Format characters at BOL not BOS
25187         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
25188         characters if the previous character property is one of
25189         WBP_NEWLINE, WBP_CR, and WBP_LF.
25191 2015-01-11  Jim Meyering  <meyering@fb.com>
25193         test-strstr.c: avoid a trivial leak
25194         * tests/test-strstr.c (main): Free haystack.
25196         update-copyright: recognize groff's \(co marker
25197         * build-aux/update-copyright (circle_c_re): Also accept
25198         uses of \(co, as found in gzip.1.
25200 2015-01-08  Pádraig Brady  <P@draigBrady.com>
25202         maint.mk: fix compatibility with OS X nm
25203         * top/maint.mk (_gl_tight_scope): Use the -g option to
25204         show exported items rather than the -e option which is
25205         ignored on all platforms except OS X where it gives an error.
25206         Reported by Assaf Gordon.
25208 2015-01-07  KO Myung-Hun  <komh@chollian.net>
25210         localcharset: improve charset detection on OS/2
25211         Use system codepage when appropriate.  Map OS/2 codepages to
25212         GNU canonical charset names if possible.
25213         * lib/config.charset: Don't output aliases if "$os" is os2*.
25214         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
25215         result for OS/2.
25216         (locale_charset) [OS2]: Use system codepage if codeset is omitted
25217         from the locale name which is neither "C" nor "POSIX".
25219 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25221         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
25222         This reverts the last patch but one, as it shouldn't be needed now
25223         that the typo is fixed.
25224         * lib/count-leading-zeros.h (count_leading_zeros_ll):
25225         * lib/count-trailing-zeros.h:
25226         * lib/count-one-bits.h:
25227         Go back to using 64-bit intrinsics.
25229         count-leading-zeros: fix pragma typos
25230         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
25231         Fix typos in declaration of intrinsics when _MSC_VER.
25233 2015-01-06  Pádraig Brady  <P@draigBrady.com>
25235         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
25236         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
25237         intrinsics in this case.
25238         * lib/count-trailing-zeros.h: Likewise.
25239         * lib/count-one-bits.h: Likewise.
25241 2015-01-06  Daiki Ueno  <ueno@gnu.org>
25243         uniname/uniname: update to Unicode 7.0.0
25244         To accommodate new characters added since Unicode 5.1.0, this
25245         changes the internal representation of codepoint ranges.
25246         Previously, we grouped codepoint ranges by manually assigned 4-bit
25247         tag, which only allowed 16 groups.  This removes the limitation by
25248         switching to binary search on a table.  For the detail rationale
25249         and the benchmark results, see:
25250         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
25251         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
25252         to INDEX, as it no longer represents a codepoint.
25253         (range): New struct.
25254         (main): Switch to intervals list from a bit-pattern based
25255         classification.
25256         * lib/uniname/uninames.h: Regenerate.
25257         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
25258         * modules/uniname/base (configure.ac): Bump minimum version to
25259         0.9.5.
25260         * modules/uniname/uniname (configure.ac): Bump minimum version to
25261         0.9.5.
25263 2015-01-05  Eric Blake  <eblake@redhat.com>
25265         doc: update INSTALL from autoconf
25266         * doc/install.texi: Resync from autoconf.
25267         * doc/INSTALL: Reflect recent autoconf update.
25268         * doc/INSTALL.ISO: Likewise.
25269         * doc/INSTALL.UTF-8: Likewise.
25271         stdio: fix use of PRIdMAX on modern mingw
25272         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
25273         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
25274         to work with modern mingw.
25276 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
25278         pthread: detect git mingw builds with only partial pollution
25279         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
25280         pollution, as seen temporarily in Fedora 21.
25282 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25284         lib-symbol-versions: cache script check
25285         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
25286         Cache the check for linker version scripts.
25287         From a suggestion by Christophe Curis in:
25288         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
25290 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
25292         maint: fix grammar nits in propername (trivial change)
25293         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
25294         and use an adequate verb and tense.
25296 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
25298         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
25299         * module/gendocs: Add 'doc/gendocs_template_min'.
25301         * build-aux/gendocs.sh: Change email addresses and upstream URLs
25302         from to Gnulib's.
25303         (scripturl, templateurl): Adjust accordingly.
25305 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25307         gendocs: copyright date and version fix
25308         Reported by Karl Berry in:
25309         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
25310         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
25311         Fix copyright date.
25312         * build-aux/gendocs.sh (scriptversion): Update.
25314 2015-01-01  Karl Berry  <karl@gnu.org>
25316         * doc/install.texi,
25317         * build-aux/mdate-sh,
25318         * build-aux/depcomp,
25319         * build-aux/config.guess,
25320         * build-aux/config.sub,
25321         * build-aux/ar-lib,
25322         * build-aux/compile: revert copyright updates (some from last
25323         year) in slaved files.
25325 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25327         version-etc: new year
25328         * doc/gnulib.texi:
25329         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
25330         * all files: Run 'make update-copyright'.
25332 2014-12-30  Pádraig Brady  <P@draigBrady.com>
25334         xstrtol: ensure errno is reset
25335         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
25336         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
25338         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
25340 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25342         utimens: fix dependency typo
25343         * modules/utimens (Depends-on): Remove 'assure'.
25344         This bug was introduced in the recent 'assure' patch.
25346 2014-12-22  Eric Blake  <eblake@redhat.com>
25348         docs: mention why libgen.h is bad
25349         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
25351 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25353         assure: new module
25354         This works better than 'assert' when compiling with -DNDEBUG,
25355         as it avoids some compiler diagnostics in that case.
25356         Reported by Norihiro Tanaka in:
25357         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
25358         * MODULES.html.sh (func_all_modules): Add 'assure'.
25359         * lib/assure.h, modules/assure: New files.
25360         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
25361         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
25362         Prefer 'assure' to 'assert'.
25363         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
25364         * modules/chdir-long, modules/cycle-check, modules/fchdir:
25365         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
25366         Depend on 'assure'.
25368 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25370         stdalign: port better to HP compilers
25371         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
25372         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
25374         stdalign: work around Apple GCC 4.0 bug
25375         Reported by David Fang in:
25376         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
25377         * lib/stdalign.in.h (_Alignas):
25378         * m4/stdalign.m4 (gl_STDALIGN_H):
25379         Do not use aligned attribute with GCC 4.0 on Apple.
25381 2014-12-16  Pádraig Brady  <P@draigBrady.com>
25383         getcwd: fix test failure on OS X 10.9
25384         * m4/getcwd-path-max.m4: Avoid the replacement if it
25385         won't be effective due to the PATH_MAX limitation of lstat().
25386         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
25387         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
25388         for this case for use in tests, and also exclude this
25389         case when setting REPLACE_GETCWD.
25390         * tests/test-getcwd.c (test_long_name): Restrict the
25391         tested path length so that lstat() will not be passed
25392         a path greater than PATH_MAX.
25393         Also key a test condition on HAVE_OPENAT_SUPPORT rather
25394         than AT_FDCWD, since the latter is set unconditionally
25395         since Sep 2009 in commit 52c658e9.
25397 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
25399         parse-datetime: avoid a compiler warning with byacc (trivial)
25400         * lib/parse-datetime.y (yylex): Use the same prototype in the
25401         function definition as the declaration, to avoid a -Wstrict-prototypes
25402         warning seen when using byacc.
25404 2014-12-12  Daiki Ueno  <ueno@gnu.org>
25406         unicase/locale-language-tests: fix LOCALE_FR test
25407         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
25408         a French locale with traditional encoding.
25409         Reported by umerqayam in:
25410         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
25412 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
25414         stddef: support C11's max_align_t
25415         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
25416         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
25417         Do not undef, as that might cause max_align_t to be defined twice.
25418         Instead, change use to check for _GL_STDDEF_WINT_T too.
25419         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
25420         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
25421         Check for max_align_t.
25422         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
25423         * modules/stddef-tests (Depends-on): Add stdalign.
25424         * tests/test-stddef.c: Test max_align_t.
25426 2014-12-11  Daiki Ueno  <ueno@gnu.org>
25428         unistd: fix iOS check conditional
25429         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
25430         as 0 or 1 in <TargetConditionals.h>, and the previous check always
25431         yielded true on non-iOS environment.
25432         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
25433         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
25434         they are defined.
25436 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
25438         posixtm: avoid compiler warning in a better way
25439         * lib/posixtm.c (IF_LINT): Remove.
25440         (year, posix_time_parse):
25441         Return true (not 0) if successful.  All callers changed.
25442         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
25444 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
25446         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
25447         started with '/' on EMX.
25449 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
25451         freopen: workaround freopen() on OS/2 kLIBC
25452         * lib/freopen.c (rpl_freopen): Workaround.
25453         * m4/freopen.m4: Add os2* case.
25455         get_shared_library_fullname: port to EMX
25456         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
25457         on EMX, respectively.
25458         (_DLL_InitTerm): New on EMX.
25459         (get_shared_library_fullname): Implement on EMX.
25461         find_executable: port to EMX
25462         * lib/progreloc.c (find_executable): Implement on EMX.
25464         sched: check struct sched_param in spawn.h as well
25465         * lib/sched.in.h: Include spawn.h on kLIBC.
25466         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
25468 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
25470         bootstrap: Allow perl modules in $buildreq
25471         * build-aux/bootstrap: Add case for perl modules.
25473 2014-12-08  Pádraig Brady  <P@draigBrady.com>
25475         apply _GL_ATTRIBUTE_PURE to some inline functions
25476         clang 3.4.2 flagged these inline functions as pure
25477         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
25478         * lib/sig-handler.h (get_handler): Likewise.
25479         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
25480         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
25482 2014-12-06  Pádraig Brady  <P@draigBrady.com>
25484         vasnprintf: fix potential use after free
25485         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
25486         flagged by clang-analyzer 3.4.2.
25488 2014-12-05  Pádraig Brady  <P@draigBrady.com>
25490         filevercmp, posixtm: avoid compiler warnings with -O3
25491         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
25492         * lib/posixtm.c: (IF_LINT): Define.
25493         (posix_time_parse): Use it to void a "may be used uninitialized"
25494         warning, seen only with -O3.
25496 2014-12-05  Bruno Haible  <bruno@clisp.org>
25498         Fix LDBL80_WORDS macro on big endian platforms.
25499         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
25500         LDBL80_WORDS macro.
25501         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
25502         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25503         * tests/test-isfinite.c (test_isfinitel): Likewise.
25504         * tests/test-isinf.c (test_isinfl): Likewise.
25505         * tests/test-isnan.c (test_long_double): Likewise.
25506         * tests/test-isnanl.h (main): Likewise.
25507         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
25508         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
25509         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
25510         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
25511         Reported by Pádraig Brady.
25513 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
25515         git-version-gen: do not print new line characters
25516         * build-aux/git-version-gen: Use printf instead of echo and tr.
25518         gnulib-tool: recognize x:* as an absolute path
25519         * gnulib-tool (func_gnulib_dir): Add ?:* case.
25520         (func_relconcat): Likewise.
25522 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
25524         argp: avoid extraneous translation and mem leak with empty pre doc
25525         * lib/argp-help.c (argp_doc): Never translate the empty string,
25526         when "\v" is the first or last character of the string, as that
25527         has a reserved meaning to return the header info from a po file.
25528         This also fixes a small memory leak in the !post case.
25529         The issue can be seen with this command for example:
25530         LC_MESSAGES=en_US grub2-mknetdir --help
25532 2014-11-27  Daiki Ueno  <ueno@gnu.org>
25534         uniname/uniname-tests: skip if system's libunistring is used
25535         * modules/uniname/uniname-tests (Makefile.am): Skip test if
25536         uniname/uniname module is not compiled.
25538 2014-11-27  Pádraig Brady  <P@draigBrady.com>
25540         printf: fix configure check on big endian systems
25541         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
25543 2014-11-22  Daiki Ueno  <ueno@gnu.org>
25545         pipe-filter-gi, pipe-filter-ii: port to AIX
25546         On AIX 7.1, 'select' is defined as static and cannot be referred
25547         to from inline function.
25548         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
25549         the definition...
25550         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
25551         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
25553 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
25555         gitlog-to-changelog: add --until
25556         * build-aux/gitlog-to-changelog: Support new --until option.
25557         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
25559 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
25561         extern-inline: update commentary about GCC bugs
25562         * m4/extern-inline.m4: Add another GCC bug number to comments.
25564 2014-11-13  Daiki Ueno  <ueno@gnu.org>
25566         gen-uni-tables: untabify
25567         * lib/gen-uni-tables.c: Untabify.
25569 2014-11-13  Daiki Ueno  <ueno@gnu.org>
25571         gen-uni-tables: check out-of-range values added to 3-level tables
25572         * lib/gen-uni-tables.c (output_category, output_bidi_category)
25573         (output_joining_type, output_ident_category): Check out-of-range
25574         values added to 3-level tables.
25576 2014-11-13  Daiki Ueno  <ueno@gnu.org>
25578         gen-uni-tables: utilize 'assert'
25579         * lib/gen-uni-tables.c: Include <assert.h>.
25580         (output_category, output_combclass, output_decimal_digit_test)
25581         (output_decimal_digit, output_digit_test, output_digit)
25582         (output_numeric, get_mirror_value, fill_properties)
25583         (fill_property30, is_property_alphabetic)
25584         (is_property_default_ignorable_code_point)
25585         (is_property_uppercase, is_property_lowercase)
25586         (is_property_cased, is_property_case_ignorable)
25587         (is_property_changes_when_lowercased, is_property_iso_control)
25588         (is_property_math, fill_arabicshaping, output_joining_group)
25589         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
25590         (output_wbp, fill_org_gbp, get_decomposition)
25591         (output_decomposition, fill_composition_exclusions)
25592         (debug_output_composition_tables, output_composition_tables)
25593         (redistribute_casefolding_rules, output_casing_rules): Use
25594         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
25595         reporting.
25597 2014-11-13  Daiki Ueno  <ueno@gnu.org>
25599         gen-uni-tables: cosmetic improvements
25600         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
25601         variables specification.
25602         (is_outdigit): Remove unused function.
25604 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
25606         fcntl-h-tests: port to PA-RISC GNU/Linux
25607         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
25609 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
25611         fts: port to C89
25612         Problem reported for MSVC 16 by Gisle Vanem in:
25613         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
25614         * lib/fts.c (fts_build): Avoid declaration before statement.
25616 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
25618         unistd: port to iOS
25619         Problem reported by André Klitzing in:
25620         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
25621         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
25623 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
25625         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
25626         Problem reported by Alan Modra in:
25627         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
25628         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
25629         Always cast the function arg, reverting this part of the previous
25630         change.
25632 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
25634         obstack: avoid potentially-nonportable function casts
25635         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
25636         Remove, replacing with ...
25637         (call_chunkfun, call_freefun): New static functions.
25638         All uses changed.  Avoid potentially-nonportable casts.
25639         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
25640         (_obstack_begin_worker): Omit last two args, since they
25641         rely on potentially-nonportable casts.  All callers changed.
25642         * lib/obstack.h (_OBSTACK_CAST): New macro.
25643         Use it everywhere the old API used a potentially-nonportable cast.
25644         The new API doesn't cast.
25645         (struct obstack): Use unions rather than requiring
25646         potentially-nonportable casts.
25647         (obstack_chunkfun, obstack_freefun): Return void.
25649 2014-11-03  Alan Modra  <amodra@gmail.com>
25651         obstack: fix macro return values
25652         * lib/obstack.h (obstack_next_free): Return void *.
25653         (obstack_1grow_fast, obstack_blank_fast): Return void.
25654         For __GNUC__ macros:
25655         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
25656         For !__GNUC__ macros:
25657         (obstack_make_room, obstack_grow, obstack_grow0)
25658         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
25660 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
25662         obstack: do not assume system-supplied obstack is size_t safe
25663         * m4/obstack.m4: New file.
25664         * modules/obstack (Files): Add it.
25666         obstack: port to platforms that #define __alignof__
25667         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
25668         not if !_LIBC.  We don't know of any platforms that #define
25669         __alignof__, but it might be useful in tests.  Conversely,
25670         glibc assumes GCC.
25672 2014-11-03  Pádraig Brady  <P@draigBrady.com>
25674         linkat: don't unconditionally replace on GNU/Linux
25675         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
25676         was redundant for a few reasons.  It was present to support compiling
25677         on new systems but running on the old narrow window of Linux 2.6.1[67].
25678         It setup and cleaned up test files which weren't actually used.
25679         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
25680         implicit in the following check.
25682 2014-11-03  Pádraig Brady  <P@draigBrady.com>
25684         linkat: wrap to handle symlinks on OS X 10.10
25685         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
25686         but not usable because it doesn't support creating hardlinks
25687         to symlinks.  Therefore add a generic test for this capability
25688         and fallback to our emulation if linkat() fails with ENOTSUP.
25690 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
25692         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
25693         * doc/posix-functions/open.texi (open):
25694         * doc/posix-functions/openat.texi (openat):
25695         Document that these functions do not set errno to ELOOP when
25696         a symlink is opened with O_NOFOLLOW.
25698 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
25700         obstack: add NEWS entry for recent incompatible changes
25701         * NEWS: Describe recent changes.
25703 2014-10-30  Pádraig Brady  <P@draigBrady.com>
25705         mountlist: don't use libmount to decide on dummy/remote
25706         * lib/mountlist.c (read_file_system_list): Don't use the libmount
25707         routines to determine whether a file system is dummy or remote,
25708         as they're not currently compatible.  For example the remoteness
25709         is determined on file system type (for which the list seems incomplete),
25710         rather than simply checking for a ':' in the device name.
25711         Also libmount currently determines that 'tmpfs' is a dummy file system
25712         even though it has associated storage.
25714 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
25716         obstack: prefer __alignof__ to alignof
25717         This is for portability to pre-4.7 GCC when compiling glibc.
25718         See Joseph S. Myers in:
25719         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
25720         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
25721         New macro, defined by including and using <alignof.h>.
25722         (MAX): New macro.
25723         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
25724         Do not use enums as they are not portable to some broken compilers.
25725         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
25727         obstack: prefer alignof to calculating alignments by hand
25728         * lib/obstack.c: Include <stdalign.h>.
25729         (struct fooalign): Remove.
25730         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
25731         * modules/obstack (Depends-on): Add stdalign.
25733 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
25735         obstack: use size_t alignments and check for overflow
25736         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
25737         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
25738         * lib/obstack.h (struct obstack.alignment_mask):
25739         Use _OBSTACK_SIZE_T, not int, for alignments.
25740         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
25741         overflows, e.g., when adding the alignment.
25743 2014-10-29  Alan Modra  <amodra@gmail.com>
25745         obstack: 64-bit obstack support, part 3
25746         This finally enables full 64-bit obstack support.  The glibc
25747         shared library specific code is removed from obstack.c too, and
25748         the error handling code conditionally compiled under control of
25749         another macro, _OBSTACK_NO_ERROR_HANDLER.
25750         * lib/obstack.h: Include string.h earlier.
25751         (_OBSTACK_INTERFACE_VERSION): Define.
25752         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
25753         * lib/obstack.c: Don't include shlib-compat.h.
25754         (OBSTACK_INTERFACE_VERSION): Delete.
25755         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
25756         glibc code is compatible with version 2.  Don't include stdio.h for
25757         __GNU_LIBRARY.
25758         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
25759         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
25760         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
25761         glibc shared library specific source.
25763         obstack: 64-bit obstack support, part 2
25764         This gets us 4G obstack support, without changing ABI
25765         compatibility, apart from possibly introducing some
25766         signed/unsigned comparison warnings in code that uses obstack.h.
25767         a) Replace "int" size parameters, return values, and macro local vars
25768            with _OBSTACK_SIZE_T, an "unsigned int" for now.
25769         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
25770         c) Make all obstack macros checking available room use obstack_room.
25771            "next_free + desired > chunk_limit" may wrap the lhs for chunks
25772            allocated near the top of memory.
25773         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
25774         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
25775         in place of "int" size parameters, return values and local vars.
25776         (_CHUNK_SIZE_T): Define.
25777         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
25778         union use an _OBSTACK_SIZE_T integer type.
25779         For __GNUC__ versions of the following macros...
25780         (obstack_room): Rename local var.
25781         (obstack_make_room): Use obstack_room.
25782         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
25783         obstack_int_grow, obstack_blank): Likewise.
25784         (obstack_finish): Use unsigned comparison when comparing aligned
25785         next_free against chunk_limit.
25786         (obstack_free): Cast OBJ to remove possible const qualifier.
25787         For !__GNUC__ versions of the following macros...
25788         (obstack_make_room): Use obstack_room.
25789         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
25790         obstack_int_grow, obstack_blank): Likewise.
25791         (obstack_finish): Use unsigned comparision when comparing aligned
25792         next_free against chunk_limit.
25793         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
25794         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
25795         _OBSTACK_SIZE_T.
25796         (_obstack_begin, _obstack_begin_1): Likewise.
25797         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
25798         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
25800         obstack: 64-bit obstack support, part 1
25801         a) Correct calls to alloc function, to use a size_t arg.  "long" is
25802            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
25803            and "size_t" 64 bits.
25804         b) Consolidate _obstack_begin and _obstack_begin1 code.
25805         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
25806         use "size_t" rather than "long".
25807         (_obstack_begin, _obstack_begin1): Likewise.
25808         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
25809         obstack_chunkfun): Update alloc function casts.
25810         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
25811         (chunkfun_type, freefun_type): New typdefs.
25812         (_obstack_begin_worker): Split out from ..
25813         (_obstack_begin, _obstack_begin_1): ..here.
25815         obstack: tidy part 2
25816         a) Don't be concerned about "not polluting the namespace with stddef.h
25817            symbols" in obstack.h, since gnulib string.h includes stddef.h
25818            anyway, and it seems unlikely that anyone would care.
25819         b) Don't roll our own slow memcpy in _obstack_newchunk.
25820         c) Rename obstack_free to _obstack_free.  This makes the naming
25821            consistent with other obstack functions and obviates the need for
25822            __obstack_free.  Ancient obstack.c defined both obstack_free and
25823            _obstack_free.  We continue to do that for _LIBC via an alias.
25824         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
25825            is clever, but nowadays gcc warns on undefined macros.  You'll get
25826            an undefined macro warning if simulating an old gcc with -U__GNUC__
25827            -U__GNUC_MINOR__ -D__GNUC__=1.
25828         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
25829         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
25830         (__obstack_free): Delete, update refs.
25831         (_obstack_free): Rename from obstack_free.
25832         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
25833         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
25834         * lib/obstack.c: Don't include stddef.h.
25835         (COPYING_UNIT): Delete.
25836         (_obstack_begin): Formatting fix.
25837         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
25838         (_obstack_free): Rename from __obstack_free, update alias.  Move
25839         undef of obstack_free to where it is needed.
25841         obstack: tidy part 1
25842         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
25843            to me, and result in overlong lines after later patches.
25844         b) Move error handling code, to avoid a forward declaration and to
25845            simplify later patches in this series.
25846         * lib/obstack.h (struct obstack <temp>): Rename fields of union
25847         and update all uses.
25848         * lib/obstack.c: Include stdlib.h earlier.
25849         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
25850         in file.
25851         (print_and_abort): Remove now redundant forward declaration.
25853 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
25855         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
25856         Without this change, in bleeding-edge fileutils Autoconf complains
25857         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
25858         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
25859         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
25860         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
25862 2014-10-24  Daiki Ueno  <ueno@gnu.org>
25864         iconv: avoid false detection of non-working iconv
25865         The INBUF arguments of iconv can be either 'const char **'
25866         or 'char **'.  If CC is g++, the difference causes a compile error
25867         and thus leads to a false detection of non-working iconv.
25868         Reported by Eli Zaretskii and Werner LEMBERG in:
25869         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
25870         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
25871         iconv.  Bump serial number.
25873 2014-10-23  Pádraig Brady  <P@draigBrady.com>
25875         bootstrap: print more diagnostics for missing programs
25876         * build-aux/bootstrap: only suppress stderr when checking for
25877         alternative program names.  This supports programs issuing non
25878         standard error messages.
25880 2014-10-23  Pádraig Brady  <P@draigBrady.com>
25882         bootstrap: only update the gnulib submodule
25883         * build-aux/bootstrap: Restrict the "submodule update" command
25884         to the gnulib path.
25886 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
25888         symlinkat: port to AIX 7.1
25889         * doc/posix-functions/symlinkat.texi (symlinkat):
25890         Mention AIX porting problem.
25891         * lib/symlinkat.c: Always include errno.h.
25892         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
25893         * lib/unistd.in.h (symlinkat): Add replacement machinery.
25894         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
25895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
25896         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
25897         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
25898         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
25900         readlinkat: port to AIX 7.1
25901         * doc/posix-functions/readlink.texi (readlink):
25902         * doc/posix-functions/readlinkat.texi (readlinkat):
25903         Mention AIX porting problem.
25904         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
25905         New function.
25906         * lib/unistd.in.h (readlinkat): Add replacement machinery.
25907         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
25908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
25909         * modules/readlinkat (configure.ac): Also compile replacement
25910         if REPLACE_READLINKAT.
25911         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
25913 2014-10-12  Karl Berry  <karl@gnu.org>
25915         * doc/posix-functions/dirname.texi: remove spurious {.
25917 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
25919         basename, dirname: Improve documentation.
25920         * doc/posix-functions/basename.texi: Mention dirname module and
25921         base_name() function.
25922         * doc/posix-functions/dirname.texi: Mention dir_name() and
25923         mdir_name() functions.
25924         Suggested by Werner LEMBERG <wl@gnu.org>.
25926 2014-09-24  Jim Meyering  <meyering@fb.com>
25928         exclude: declare exclude_patopts static
25929         * lib/exclude.c (exclude_patopts): Declare static,
25930         to avoid triggering a -Wmissing-prototypes warning.
25931         The alternative (declaring it in the .h file) would
25932         require publicizing the private "struct patopts".
25934 2014-09-21  Werner Lemberg  <wl@gnu.org>
25936         dirname: support compilation with C++
25937         * lib/dirname.h: Add necessary C linkage declarations.
25939 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
25941         qsort_r: include <config.h>
25942         Problem reported by Tom G. Christensen in:
25943         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
25944         * lib/qsort.c [!_LIBC]: Include <config.h> first.
25946 2014-09-16  Dylan Cali  <calid1984@gmail.com>
25948         avltree-list: avoid compiler warnings (trivial)
25949         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
25950         -Werror=suggest-attribute=pure.
25951         * lib/gl_array_list.c: Likewise.
25952         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
25953         declaration to avoid -Werror=missing-prototypes.  This is not added
25954         to a header as only exported for tests.  Add (void) to the
25955         check_invariants() call to indicate we're discarding the result
25956         in this context which avoids -Werror=unused-value.  Note we don't
25957         use ignore_value here to avoid a dependency as we know we'll not
25958         be adding __attribute__((warn_unused_result)) to check_invariants().
25959         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
25961 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
25963         qsort_r: new module, for GNU-style qsort_r
25964         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
25966 2014-09-15  Werner LEMBERG  <wl@gnu.org>
25968         strerror_r-posix: support compilation with C++
25969         * lib/strerror_r.c: Add necessary C linkage declarations.
25971 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
25973         fcntl-h: fix compilation with Intel C++ compiler (trivial)
25974         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
25976 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
25978         mountlist: use /proc/self/mountinfo when available
25979         Use libmount to propagate device IDs provided by Linux in
25980         /proc/self/mountinfo.  This will give more accurate output when
25981         using df in chroot'ed environments as the device IDs are not
25982         determined by stat() which may be inaccurate within the chroot.
25983         * lib/mountlist.c (read_file_system_list): Use the libmount routines
25984         from util-linux to parse "/proc/self/mountinfo" or fall back to
25985         standard getmntent() processing.
25986         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
25987         getmntent() is used, as is the case on GNU/Linux.
25989 2014-09-07  Eric Wong  <normalperson@yhbt.net>
25991         users.txt: add cmogstored
25992         cmogstored has used gnulib since the beginning in 2012 to support
25993         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
25995 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
25997         Trivial change.
25998         * gnulib-tool: Use same options as build-aux/bootstrap to download
25999         PO files.
26001 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
26003         Trivial change.
26004         * gnulib-tool: Fallback to wget when rsync of PO files fails.
26006 2014-09-04  Eric Blake  <eblake@redhat.com>
26008         maintainer-makefile: add syntax check for useless ';;'
26009         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
26011 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
26013         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
26014         Problem reported by Assaf Gordon in:
26015         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
26016         Apparently Ubuntu is doing some fancy link-time optimization
26017         that doesn't work with -lpthread but does work with -pthread.
26018         Work around the bug by preferring -pthread to -lpthread.
26019         * m4/pthread.m4 (gl_PTHREAD_CHECK):
26020         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
26021         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
26022         Treat -pthread like -lpthread.
26024 2014-09-04  Eric Blake  <eblake@redhat.com>
26026         error: drop spurious semicolon
26027         * lib/error.c (__error_at_line): Fix ';;'.
26029 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26031         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
26032         * m4/gnulib-common.m4 (AC_C_RESTRICT):
26033         Override AC_C_RESTRICT unconditionally.
26034         Update from autoconf, incorporating:
26035         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
26036         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
26038 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26040         manywarnings: add GCC 4.9 warnings
26041         Also, make it easier to maintain this in the future.
26042         * build-aux/gcc-warning.spec: Add -Wabi-tag,
26043         -Wconditionally-supported, -Wdelete-incomplete,
26044         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
26045         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
26046         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
26047         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
26048         only for older GCC versions that need them.  Handle
26049         -Wnormalized=nfc specially, so that the 'comm' command used
26050         for maintenance doesn't get confused.
26052 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
26054         vasnprintf: fix bugs in width computation
26055         * lib/vasnprintf.c (VASNPRINTF):
26056         Rework previous change, which introduced a bug,
26057         to avoid the warning in a different way.
26058         Avoid undefined behavior if the width arg is less than -INT_MAX.
26059         Avoid unnecessary use of HAS_WIDTH local.
26061 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
26063         vasnprintf: Avoid signed/unsigned comparison warning.
26064         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
26065         compare end addr of generated string w/ maximum end addr.
26067 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
26069         parse-datetime: Avoid pointer difference.
26070         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
26071         instead of calculating difference of pointers.  This removes an
26072         annoying warning, devoid of any use.
26074 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
26076         qsort_r: new module, for GNU-style qsort_r
26077         This works even on FreeBSD, which has an incompatible qsort_r API.
26078         * MODULES.html.sh: Add it.
26079         * doc/glibc-functions/qsort_r.texi: It's now supported.
26080         * lib/qsort.c: New file, taken from glibc with minor changes
26081         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
26082         removed.
26083         * lib/qsort_r.c: New file, compiled only on FreeBSD.
26084         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
26085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
26086         * modules/qsort_r, modules/qsort_r-tests: New files.
26087         * modules/stdlib (Makefile): Set up its defaults.
26088         * tests/test-qsort_r.c: New file.
26090 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
26092         vla: new module
26093         GNU RCS can use this, mostly for documentation I expect.  See:
26094         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
26095         * MODULES.html.sh: Add vla.
26096         * lib/vla.h, modules/vla: New files.
26098 2014-08-07  Daiki Ueno  <ueno@gnu.org>
26100         localename: make gl_locale_name_thread really thread-safe on Windows
26101         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
26102         "glthread/lock.h".
26103         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
26104         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
26106 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
26108         getpass: don't assume struct termios
26109         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
26110         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
26111         * lib/getpass.c (getpass): Port to systems lacking struct termios.
26113         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
26114         Problem reported by Jonas 'Sortie' Termansen in:
26115         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
26116         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
26117         Implement via sysconf for platforms that lack getdtablesize.
26119         vararrays: modernize AC_C_VARARRAYS for C11
26120         This backports a change I recently made to Autoconf.
26121         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
26122         VLAs are not supported, as this is what C11 does.  The old macro
26123         HAVE_C_VARARRAYS is still defined if they are supported, but is
26124         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
26126 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
26128         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
26129         * build-aux/install-reloc (func_create_wrapper): Also wrap
26130         strerror-override, stat, stat.
26132 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
26134         sys_select: fix FD_ZERO problem on Solaris 10
26135         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
26136         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
26137         to expand to an expression that invoked memset without necessarily
26138         including <string.h>.  The problem was that the first include
26139         defined _SYS_TIME_H, causing the second include to short-circuit.
26140         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
26141         Also, fix what appears to be a cut-and-paste typo, by replacing
26142         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
26143         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
26145         accept: document Solaris 10 type glitch
26146         * doc/posix-functions/accept.texi (accept): Mention that
26147         Solaris 10 'accept' takes void * last arg, not socklen_t *.
26149 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
26151         extern-inline: port to FreeBSD, DragonFly
26152         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
26153         is present if either __DragonFly__ or __FreeBSD__ is defined.
26154         FreeBSD problem reported by Andrey Borzenkov in:
26155         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
26156         Also, worry about __APPLE__ only if __MACH__ is also defined,
26157         as this is more consistent with the rest of gnulib.
26158         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
26159         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
26161 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
26163         regex: Make #if/#ifdef usage consistent for DEBUG
26164         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
26165         of the inconsistent usage of #if and #ifdef as that works with
26166         both Glibc and Gnulib's style.
26168 2014-07-31  Eric Blake  <eblake@redhat.com>
26170         openat-die: use _Noreturn markup
26171         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
26172         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
26173         _Noreturn.
26175 2014-07-30  Eric Blake  <eblake@redhat.com>
26177         test-open: port to cygwin, which lacks Fortify
26178         * tests/test-open.h (ALWAYS_INLINE): New macro.
26179         (__always_inline): Don't abuse internal symbol on non-glibc.
26181 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
26183         localename: Enforce declarations before statements.
26184         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
26185         first statement.
26187 2014-07-18  Jim Meyering  <meyering@fb.com>
26189         test-userspec: don't look up numeric user names
26190         * tests/test-userspec.c: I found a system for which getpwnam("0")
26191         returned a pointer to a non-root user's entry, and that made the
26192         test fail.
26193         (T): Prefix each numeric input with "+", to inhibit lookup.
26195 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
26197         localcharset, localename: MS-Windows support for non-default locales
26198         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
26199         falling back on the default system codepage, try extracting
26200         the codepage from what 'setlocale' returns.  This allows to
26201         take into account changes of the codeset due to non-default
26202         locale set by a previous call to 'setlocale'.
26203         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
26204         Define if not already defined.
26205         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
26206         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
26207         current locale by calling 'setlocale', then converting the
26208         locale name into LCID by calling 'get_lcid'.  This allows to
26209         take into account changes in the current locale from the
26210         default one, in contrast to GetThreadLocale.
26212 2014-07-14  Daiki Ueno  <ueno@gnu.org>
26214         announce-gen: avoid failure when Digest::SHA is installed
26215         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
26216         Digest::SHA1->new in print_checksums fails.
26217         * build-aux/announce-gen (digest_classes): New associative array
26218         for available message digest implementations.
26219         (print_locations): Use it.
26221 2014-07-13  Pádraig Brady  <P@draigBrady.com>
26223         gettext: revert "update macros to version 0.19"
26224         This reverts commit 9b9370ca, as it currently requires that
26225         developers of any project that explicitly uses the gettext module
26226         or implicitly uses it through the utimens-tests or
26227         futimens-tests modules, use gettext >= 0.19.
26228         However there are some stability and availablity issues with
26229         that version at present.  We can reinstate this soon, when stability
26230         is addressed and packages are more readily available.
26232 2014-07-12  Jim Meyering  <meyering@fb.com>
26234         regex: don't deref NULL upon heap allocation failure
26235         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
26236         failure in one more place.
26237         To trigger the segfault, configure grep -with-included-regex,
26238         build it, and run these commands:
26239         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
26240         I discovered this while replying to a private report from
26241         Jens Schleusener about excessive memory consumption by grep
26242         when using a regular expression like the one above.
26244 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
26246         regex: fix memory leak in compiler
26247         Fix by Andreas Schwab in:
26248         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
26249         * lib/regcomp.c (parse_reg_exp): Deallocate partially
26250         constructed tree before returning error.
26252 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
26254         announce-gen: avoid perl warnings
26255         * build-aux/announce-gen: add two minor checks to avoid
26256         "use of uninitialized value" warnings when command-line parameters are
26257         missing.
26259 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
26261         localename: avoid -Wsuggest-attribute={const,pure} warnings
26262         * lib/localename.c (string_has): Tag internal function as pure.
26263         * lib/localename.h (gl_locale_name_default): Tag extern declaration
26264         as const when appropriate.
26266 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
26268         nl_langinfo: Fix last change.
26269         * lib/nl_langinfo.c (includes): Drop redundant include.
26271 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
26273         error: Fix -Wundef warnings in glibc
26274         * lib/error.c [_LIBC]: Define default macros for
26275         glibc.
26276         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
26277         Check _LIBC before STRERROR_R_CHAR_P.
26279         error: Sync from glibc master
26280         * lib/error.c [_LIBC]: Remove INTUSE usage.
26281         (error_tail): Remove unused macro ALLOCA_LIMIT.
26282         Fix potential buffer overflow.  Fix potential NULL dereference
26283         in strcmp.
26285 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
26287         nl_langinfo: fix build under mingw
26288         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
26290 2014-07-09  Andrew D Warshall  <warshall@99main.com>
26292         mountlist: do not classify a bind-mounted dir entry as "dummy"
26293         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
26294         1-argument getmntent() (instead of assuming absence).
26296 2014-07-08  Eric Blake  <eblake@redhat.com>
26298         maint.mk: less syntax-check noise when SIGPIPE is ignored
26299         * top/maint.mk (_sc_header_without_use)
26300         (sc_require_config_h_first): Parse full list.
26302 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
26303             Paul Eggert  <eggert@cs.ucla.edu>
26305         nl_langinfo: CODESET on MS-Windows and more items from localeconv
26306         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
26307         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
26308         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
26309         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
26310         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
26311         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
26312         Include <stdio.h> if Microsoft Windows.
26313         Include <time.h> if !REPLACE_NL_LANGINFO.
26314         (ctype_codeset): New function, taken from rpl_nl_langinfo,
26315         and with improvements for Microsoft Windows.
26316         (rpl_nl_langinfo): Use it.
26317         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
26318         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
26319         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
26320         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
26321         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
26322         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
26323         corresponding values returned by 'localeconv'.  Compute the values
26324         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
26325         'strftime' with a suitable struct tm value.
26327 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
26329         Bruno Haible has stepped down as maintainer.
26330         See Karl Berry in:
26331         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
26332         Daiki Ueno has volunteered to maintain libunistring; see:
26333         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
26334         * modules/gen-uni-tables, modules/libunistring:
26335         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
26336         * modules/unicase/base, modules/unicase/cased:
26337         * modules/unicase/empty-prefix-context:
26338         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
26339         * modules/unicase/locale-language, modules/unicase/special-casing:
26340         * modules/unicase/tocasefold, modules/unicase/tolower:
26341         * modules/unicase/totitle, modules/unicase/toupper:
26342         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
26343         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
26344         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
26345         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
26346         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
26347         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
26348         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
26349         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
26350         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
26351         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
26352         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
26353         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
26354         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
26355         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
26356         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
26357         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
26358         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
26359         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
26360         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
26361         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
26362         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
26363         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
26364         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
26365         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
26366         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
26367         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
26368         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
26369         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
26370         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
26371         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
26372         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
26373         * modules/unicase/ulc-casexfrm, modules/unicodeio:
26374         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
26375         * modules/uniconv/u16-conv-to-enc:
26376         * modules/uniconv/u16-strconv-from-enc:
26377         * modules/uniconv/u16-strconv-from-locale:
26378         * modules/uniconv/u16-strconv-to-enc:
26379         * modules/uniconv/u16-strconv-to-locale:
26380         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
26381         * modules/uniconv/u32-strconv-from-enc:
26382         * modules/uniconv/u32-strconv-from-locale:
26383         * modules/uniconv/u32-strconv-to-enc:
26384         * modules/uniconv/u32-strconv-to-locale:
26385         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
26386         * modules/uniconv/u8-strconv-from-enc:
26387         * modules/uniconv/u8-strconv-from-locale:
26388         * modules/uniconv/u8-strconv-to-enc:
26389         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
26390         * modules/unictype/bidicategory-all:
26391         * modules/unictype/bidicategory-byname:
26392         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
26393         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
26394         * modules/unictype/bidiclass-byname:
26395         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
26396         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
26397         * modules/unictype/block-all, modules/unictype/block-list:
26398         * modules/unictype/block-of, modules/unictype/block-test:
26399         * modules/unictype/category-C, modules/unictype/category-Cc:
26400         * modules/unictype/category-Cf, modules/unictype/category-Cn:
26401         * modules/unictype/category-Co, modules/unictype/category-Cs:
26402         * modules/unictype/category-L, modules/unictype/category-LC:
26403         * modules/unictype/category-Ll, modules/unictype/category-Lm:
26404         * modules/unictype/category-Lo, modules/unictype/category-Lt:
26405         * modules/unictype/category-Lu, modules/unictype/category-M:
26406         * modules/unictype/category-Mc, modules/unictype/category-Me:
26407         * modules/unictype/category-Mn, modules/unictype/category-N:
26408         * modules/unictype/category-Nd, modules/unictype/category-Nl:
26409         * modules/unictype/category-No, modules/unictype/category-P:
26410         * modules/unictype/category-Pc, modules/unictype/category-Pd:
26411         * modules/unictype/category-Pe, modules/unictype/category-Pf:
26412         * modules/unictype/category-Pi, modules/unictype/category-Po:
26413         * modules/unictype/category-Ps, modules/unictype/category-S:
26414         * modules/unictype/category-Sc, modules/unictype/category-Sk:
26415         * modules/unictype/category-Sm, modules/unictype/category-So:
26416         * modules/unictype/category-Z, modules/unictype/category-Zl:
26417         * modules/unictype/category-Zp, modules/unictype/category-Zs:
26418         * modules/unictype/category-all, modules/unictype/category-and:
26419         * modules/unictype/category-and-not, modules/unictype/category-byname:
26420         * modules/unictype/category-longname, modules/unictype/category-name:
26421         * modules/unictype/category-none, modules/unictype/category-of:
26422         * modules/unictype/category-or, modules/unictype/category-test:
26423         * modules/unictype/category-test-withtable:
26424         * modules/unictype/combining-class:
26425         * modules/unictype/combining-class-all:
26426         * modules/unictype/combining-class-byname:
26427         * modules/unictype/combining-class-longname:
26428         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
26429         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
26430         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
26431         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
26432         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
26433         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
26434         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
26435         * modules/unictype/digit, modules/unictype/joininggroup-all:
26436         * modules/unictype/joininggroup-byname:
26437         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
26438         * modules/unictype/joiningtype-all:
26439         * modules/unictype/joiningtype-byname:
26440         * modules/unictype/joiningtype-longname:
26441         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
26442         * modules/unictype/mirror, modules/unictype/numeric:
26443         * modules/unictype/property-all, modules/unictype/property-alphabetic:
26444         * modules/unictype/property-ascii-hex-digit:
26445         * modules/unictype/property-bidi-arabic-digit:
26446         * modules/unictype/property-bidi-arabic-right-to-left:
26447         * modules/unictype/property-bidi-block-separator:
26448         * modules/unictype/property-bidi-boundary-neutral:
26449         * modules/unictype/property-bidi-common-separator:
26450         * modules/unictype/property-bidi-control:
26451         * modules/unictype/property-bidi-embedding-or-override:
26452         * modules/unictype/property-bidi-eur-num-separator:
26453         * modules/unictype/property-bidi-eur-num-terminator:
26454         * modules/unictype/property-bidi-european-digit:
26455         * modules/unictype/property-bidi-hebrew-right-to-left:
26456         * modules/unictype/property-bidi-left-to-right:
26457         * modules/unictype/property-bidi-non-spacing-mark:
26458         * modules/unictype/property-bidi-other-neutral:
26459         * modules/unictype/property-bidi-pdf:
26460         * modules/unictype/property-bidi-segment-separator:
26461         * modules/unictype/property-bidi-whitespace:
26462         * modules/unictype/property-byname:
26463         * modules/unictype/property-case-ignorable:
26464         * modules/unictype/property-cased:
26465         * modules/unictype/property-changes-when-casefolded:
26466         * modules/unictype/property-changes-when-casemapped:
26467         * modules/unictype/property-changes-when-lowercased:
26468         * modules/unictype/property-changes-when-titlecased:
26469         * modules/unictype/property-changes-when-uppercased:
26470         * modules/unictype/property-combining:
26471         * modules/unictype/property-composite:
26472         * modules/unictype/property-currency-symbol:
26473         * modules/unictype/property-dash:
26474         * modules/unictype/property-decimal-digit:
26475         * modules/unictype/property-default-ignorable-code-point:
26476         * modules/unictype/property-deprecated:
26477         * modules/unictype/property-diacritic:
26478         * modules/unictype/property-extender:
26479         * modules/unictype/property-format-control:
26480         * modules/unictype/property-grapheme-base:
26481         * modules/unictype/property-grapheme-extend:
26482         * modules/unictype/property-grapheme-link:
26483         * modules/unictype/property-hex-digit:
26484         * modules/unictype/property-hyphen:
26485         * modules/unictype/property-id-continue:
26486         * modules/unictype/property-id-start:
26487         * modules/unictype/property-ideographic:
26488         * modules/unictype/property-ids-binary-operator:
26489         * modules/unictype/property-ids-trinary-operator:
26490         * modules/unictype/property-ignorable-control:
26491         * modules/unictype/property-iso-control:
26492         * modules/unictype/property-join-control:
26493         * modules/unictype/property-left-of-pair:
26494         * modules/unictype/property-line-separator:
26495         * modules/unictype/property-logical-order-exception:
26496         * modules/unictype/property-lowercase, modules/unictype/property-math:
26497         * modules/unictype/property-non-break:
26498         * modules/unictype/property-not-a-character:
26499         * modules/unictype/property-numeric:
26500         * modules/unictype/property-other-alphabetic:
26501         * modules/unictype/property-other-default-ignorable-code-point:
26502         * modules/unictype/property-other-grapheme-extend:
26503         * modules/unictype/property-other-id-continue:
26504         * modules/unictype/property-other-id-start:
26505         * modules/unictype/property-other-lowercase:
26506         * modules/unictype/property-other-math:
26507         * modules/unictype/property-other-uppercase:
26508         * modules/unictype/property-paired-punctuation:
26509         * modules/unictype/property-paragraph-separator:
26510         * modules/unictype/property-pattern-syntax:
26511         * modules/unictype/property-pattern-white-space:
26512         * modules/unictype/property-private-use:
26513         * modules/unictype/property-punctuation:
26514         * modules/unictype/property-quotation-mark:
26515         * modules/unictype/property-radical:
26516         * modules/unictype/property-sentence-terminal:
26517         * modules/unictype/property-soft-dotted:
26518         * modules/unictype/property-space:
26519         * modules/unictype/property-terminal-punctuation:
26520         * modules/unictype/property-test, modules/unictype/property-titlecase:
26521         * modules/unictype/property-unassigned-code-value:
26522         * modules/unictype/property-unified-ideograph:
26523         * modules/unictype/property-uppercase:
26524         * modules/unictype/property-variation-selector:
26525         * modules/unictype/property-white-space:
26526         * modules/unictype/property-xid-continue:
26527         * modules/unictype/property-xid-start:
26528         * modules/unictype/property-zero-width, modules/unictype/scripts:
26529         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
26530         * modules/unictype/syntax-c-whitespace:
26531         * modules/unictype/syntax-java-ident:
26532         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
26533         * modules/unigbrk/u16-grapheme-breaks:
26534         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
26535         * modules/unigbrk/u32-grapheme-breaks:
26536         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
26537         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
26538         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
26539         * modules/unigbrk/uc-is-grapheme-break:
26540         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
26541         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
26542         * modules/unilbrk/u16-width-linebreaks:
26543         * modules/unilbrk/u32-possible-linebreaks:
26544         * modules/unilbrk/u32-width-linebreaks:
26545         * modules/unilbrk/u8-possible-linebreaks:
26546         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
26547         * modules/unilbrk/ulc-possible-linebreaks:
26548         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
26549         * modules/uniname/uniname, modules/uninorm/base:
26550         * modules/uninorm/canonical-decomposition:
26551         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
26552         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
26553         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
26554         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
26555         * modules/uninorm/nfkc, modules/uninorm/nfkd:
26556         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
26557         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
26558         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
26559         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
26560         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
26561         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
26562         * modules/unistdio/base, modules/unistdio/u-printf-args:
26563         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
26564         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
26565         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
26566         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
26567         * modules/unistdio/u16-u16-sprintf:
26568         * modules/unistdio/u16-u16-vasnprintf:
26569         * modules/unistdio/u16-u16-vasprintf:
26570         * modules/unistdio/u16-u16-vsnprintf:
26571         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
26572         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
26573         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
26574         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
26575         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
26576         * modules/unistdio/u32-u32-asnprintf:
26577         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
26578         * modules/unistdio/u32-u32-sprintf:
26579         * modules/unistdio/u32-u32-vasnprintf:
26580         * modules/unistdio/u32-u32-vasprintf:
26581         * modules/unistdio/u32-u32-vsnprintf:
26582         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
26583         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
26584         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
26585         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
26586         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
26587         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
26588         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
26589         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
26590         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
26591         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
26592         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
26593         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
26594         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
26595         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
26596         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
26597         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
26598         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
26599         * modules/unistr/u16-check, modules/unistr/u16-chr:
26600         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
26601         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
26602         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
26603         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
26604         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
26605         * modules/unistr/u16-move, modules/unistr/u16-next:
26606         * modules/unistr/u16-prev, modules/unistr/u16-set:
26607         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
26608         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
26609         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
26610         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
26611         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
26612         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
26613         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
26614         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
26615         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
26616         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
26617         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
26618         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
26619         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
26620         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
26621         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
26622         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
26623         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
26624         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
26625         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
26626         * modules/unistr/u32-next, modules/unistr/u32-prev:
26627         * modules/unistr/u32-set, modules/unistr/u32-startswith:
26628         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
26629         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
26630         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
26631         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
26632         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
26633         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
26634         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
26635         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
26636         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
26637         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
26638         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
26639         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
26640         * modules/unistr/u8-check, modules/unistr/u8-chr:
26641         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
26642         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
26643         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
26644         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
26645         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
26646         * modules/unistr/u8-next, modules/unistr/u8-prev:
26647         * modules/unistr/u8-set, modules/unistr/u8-startswith:
26648         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
26649         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
26650         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
26651         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
26652         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
26653         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
26654         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
26655         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
26656         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
26657         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
26658         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
26659         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
26660         * modules/uniwbrk/base, modules/uniwbrk/table:
26661         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
26662         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
26663         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
26664         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
26665         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
26666         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
26667         * modules/uniwidth/width, modules/utf16-ucs4:
26668         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
26669         * modules/utf8-ucs4-unsafe:
26670         Change maintainer from Bruno Haible to Daiki Ueno.
26671         This is my guess at the libunistring modules; please feel free
26672         to fix if I guessed incorrectly.
26673         * modules/accept4, modules/acl, modules/acos, modules/acosf:
26674         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
26675         * modules/areadlink, modules/array-list, modules/array-mergesort:
26676         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
26677         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
26678         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
26679         * modules/binary-io, modules/bison-i18n, modules/btowc:
26680         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
26681         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
26682         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
26683         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
26684         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
26685         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
26686         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
26687         * modules/closedir, modules/concat-filename, modules/copy-file:
26688         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
26689         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
26690         * modules/csharpcomp-script, modules/csharpexec:
26691         * modules/csharpexec-script, modules/ctype, modules/diffseq:
26692         * modules/dprintf, modules/dprintf-posix, modules/dup:
26693         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
26694         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
26695         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
26696         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
26697         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
26698         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
26699         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
26700         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
26701         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
26702         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
26703         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
26704         * modules/findprog, modules/findprog-lgpl, modules/floor:
26705         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
26706         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
26707         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
26708         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
26709         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
26710         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
26711         * modules/freadable, modules/freadahead, modules/freadptr:
26712         * modules/freadseek, modules/freopen, modules/frexp:
26713         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
26714         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
26715         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
26716         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
26717         * modules/ftello, modules/full-read, modules/full-write:
26718         * modules/fwritable, modules/fwriteerror, modules/gcd:
26719         * modules/get-rusage-as, modules/get-rusage-data:
26720         * modules/getdtablesize, modules/getrusage, modules/gettext:
26721         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
26722         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
26723         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
26724         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
26725         * modules/iconv, modules/iconv-h, modules/iconv_open:
26726         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
26727         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
26728         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
26729         * modules/integer_length_ll, modules/ioctl, modules/isatty:
26730         * modules/isblank, modules/isnand, modules/isnand-nolibm:
26731         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
26732         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
26733         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
26734         * modules/javaexec, modules/javaexec-script, modules/javaversion:
26735         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
26736         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
26737         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
26738         * modules/lib-symbol-visibility, modules/libsigsegv:
26739         * modules/linked-list, modules/linkedhash-list, modules/list:
26740         * modules/localcharset, modules/locale, modules/localeconv:
26741         * modules/localename, modules/lock, modules/log, modules/log-ieee:
26742         * modules/log10, modules/log10-ieee, modules/log10f:
26743         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
26744         * modules/log1p, modules/log1p-ieee, modules/log1pf:
26745         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
26746         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
26747         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
26748         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
26749         * modules/logf, modules/logf-ieee, modules/login_tty:
26750         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
26751         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
26752         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
26753         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
26754         * modules/mbscspn, modules/mbsinit, modules/mbslen:
26755         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
26756         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
26757         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
26758         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
26759         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
26760         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
26761         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
26762         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
26763         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
26764         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
26765         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
26766         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
26767         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
26768         * modules/posix_spawn, modules/posix_spawn-internal:
26769         * modules/posix_spawn_file_actions_addclose:
26770         * modules/posix_spawn_file_actions_adddup2:
26771         * modules/posix_spawn_file_actions_addopen:
26772         * modules/posix_spawn_file_actions_destroy:
26773         * modules/posix_spawn_file_actions_init:
26774         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
26775         * modules/posix_spawnattr_getpgroup:
26776         * modules/posix_spawnattr_getschedparam:
26777         * modules/posix_spawnattr_getschedpolicy:
26778         * modules/posix_spawnattr_getsigdefault:
26779         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
26780         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
26781         * modules/posix_spawnattr_setschedparam:
26782         * modules/posix_spawnattr_setschedpolicy:
26783         * modules/posix_spawnattr_setsigdefault:
26784         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
26785         * modules/pow, modules/powf, modules/printf-frexp:
26786         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
26787         * modules/progname, modules/propername, modules/pselect:
26788         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
26789         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
26790         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
26791         * modules/read, modules/readdir, modules/readlink:
26792         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
26793         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
26794         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
26795         * modules/relocatable-script, modules/remainder:
26796         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
26797         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
26798         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
26799         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
26800         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
26801         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
26802         * modules/setlocale, modules/sh-quote, modules/shutdown:
26803         * modules/signal, modules/signbit, modules/sigpipe:
26804         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
26805         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
26806         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
26807         * modules/snippet/link-warning, modules/snippet/unused-parameter:
26808         * modules/snprintf, modules/snprintf-posix, modules/spawn:
26809         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
26810         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
26811         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
26812         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
26813         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
26814         * modules/streq, modules/strerror_r-posix, modules/striconv:
26815         * modules/striconveh, modules/striconveha, modules/strncat:
26816         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
26817         * modules/sublist, modules/sys_resource, modules/sys_utsname:
26818         * modules/sys_wait, modules/system-posix, modules/system-quote:
26819         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
26820         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
26821         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
26822         * modules/truncf, modules/truncf-ieee, modules/truncl:
26823         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
26824         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
26825         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
26826         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
26827         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
26828         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
26829         * modules/wait-process, modules/waitpid, modules/wcpcpy:
26830         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
26831         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
26832         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
26833         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
26834         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
26835         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
26836         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
26837         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
26838         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
26839         * modules/write, modules/xconcat-filename, modules/xlist:
26840         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
26841         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
26842         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
26843         * modules/y0, modules/y1, modules/yn:
26844         Remove Bruno Haible as maintainer; if he's the sole maintainer,
26845         change the maintainer to 'all'.  Let's hope someone volunteers.
26847 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
26849         mktime: merge #if/#ifdef usage from glibc
26850         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
26851         as that works with both Glibc's and Gnulib's style.
26852         See thread starting at Siddhesh Poyarekar's bug report at:
26853         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
26855 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
26857         git-version-gen: improve option descriptions
26858         * build-aux/git-version-gen: Mention that --prefix and --fallback
26859         have a mandatory argument.
26861 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
26863         regex: fix memory leak in compiler
26864         Fix by Andreas Schwab in:
26865         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
26866         * lib/regcomp.c (parse_expression): Deallocate partially
26867         constructed tree before returning error.
26869         regex: merge patch from libc
26870         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
26871         Combine __USE_BSD and __USE_SVID into __USE_MISC.
26872         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
26874 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
26876         acl: port to gcc -Wredundant-decls
26877         From a request by Dmitry Antipov in:
26878         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
26879         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
26880         "#ifndef _GL_ACL_H".
26882 2014-06-11  Bruce Korb  <bkorb@gnu.org>
26883         Jim Meyering  <meyering@fb.com>
26885         parse-duration: eliminate 68-year duration limit
26886         * lib/parse-duration.c: Include "intprops.h".
26887         (TIME_MAX): Rename to MAX_DURATION and define to
26888         TYPE_MAXIMUM(time_t).
26889         * modules/parse-duration (Depends-on): Add intprops.
26890         Reported by Jonas 'Sortie' Termansen.
26892 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26894         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
26895         * modules/pthread (Depends-on): Add 'extensions', as it defines
26896         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
26897         (configure.ac-early): New section.
26898         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
26899         it is no longer needed.
26901 2014-06-14  Pádraig Brady  <P@draigBrady.com>
26903         pthread: define thread-safe macros on some platforms
26904         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
26905         for thread-safe operation on some platforms.
26907 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
26909         regex: don't be multithreaded if USE_UNLOCKED_IO.
26910         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
26911         * lib/regex_internal.h: Do not use multithreaded version if
26912         USE_UNLOCKED_IO is defined.  This is a hack, but it works
26913         around a porting bug with coreutils 8.22 on AIX 7.1.
26915 2014-06-11  Daiki Ueno  <ueno@gnu.org>
26917         gettext: update macros to version 0.19
26918         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
26919         depend on gl_EXTERN_INLINE and drop support for older Bison
26920         versions.
26922 2014-06-10  Pádraig Brady  <P@draigBrady.com>
26924         select,poll: fix console handle check on windows 8
26925         lib/poll.c (IsConsoleHandle): Change from testing the lower
26926         2 bits of the handle to the more expensive but accurate syscall.
26927         lib/select.c: Likewise.
26929 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
26931         select: fix waiting on anonymous pipes on MS-Windows
26932         * lib/select.c (rpl_select): Fall back to polling when select()
26933         indicates there is nothing to check, while due to the timeout not
26934         expiring, activity is indicated on one of the handles.
26935         Also clear the TIMEOUT argument if the timer does expire.
26937 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
26939         times: fix to return non constant value on MS-Windows
26940         * lib/times.c (times): Don't use the process creation time,
26941         rather clock() which on windows returns the number of
26942         clock ticks since the process started.
26944 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
26946         isatty: fix to work on windows 8
26947         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
26948         2 bits of the handle to the more expensive but accurate syscall.
26950 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
26952         maint: fix typo in fdl.texi
26953         * doc/fdl.texi: Fix typo (missing '@').
26954         Somehow this was in fdl.texi but not fdl-1.3.texi.
26956 2014-06-06  Ben Walton  <bdwalton@gmail.com>
26958         mountlist: avoid hasmntopt const type warning on solaris
26959         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
26960         with char * instead of const char *.  Passing the constant string
26961         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
26962         to avoid the warning.
26964 2014-06-04  Eric Blake  <eblake@redhat.com>
26966         maintainer-makefile: delete obsolete code
26967         * top/maint.mk (build_aux): Drop old code, as threatened.
26969         maintainer-makefile: avoid spurious error messages
26970         * top/maint.mk (syntax-check): Guard definition and use of
26971         $(shell) by whether Makefile is present.
26973 2014-06-03  Ben Walton  <bdwalton@gmail.com>
26975         rename: avoid unused-but-set-variable compiler warning
26976         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
26977         it is possible that dst_exists may be set but not used.  Mark it with
26978         the unused attribute to avoid compiler warnings.
26980 2014-06-02  Ben Walton  <bdwalton@gmail.com>
26982         rename: mark a label as potentially unused
26983         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
26984         by marking the out label as potentially unused.
26985         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
26987 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
26989         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
26990         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
26992 2014-06-02  Ben Walton  <bdwalton@gmail.com>
26994         acl: apply pure attribute to two functions
26995         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
26996         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
26998 2014-06-01  Pádraig Brady  <P@draigBrady.com>
27000         gnulib-common.m4: add _GL_UNUSED_LABEL
27001         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
27002         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
27004 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27006         dup2, fcntl, fcntl-h: port to AIX 7.1
27007         This fixes some porting problems discovered when testing the latest
27008         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
27009         in grep but it could be important for other applications.
27010         * doc/posix-functions/dup2.texi:
27011         * doc/posix-functions/fcntl.texi:
27012         * doc/posix-headers/fcntl.texi:
27013         Document AIX bugs.
27014         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
27015         Define to 0 if outside 'int' range.
27016         * m4/dup2.m4 (gl_FUNC_DUP2):
27017         * m4/fcntl.m4 (gl_FUNC_FCNTL):
27018         Check for getdtablesize.  If it's available, test a value just
27019         outside its range instead of testing 1000000.  When cross-compiling,
27020         guess that AIX will fail this improved test.
27022 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27024         printf, config.rpath: Port to FreeBSD 10.
27025         Problem reported by Tijl Coosemans in:
27026         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
27027         * build-aux/config.rpath (hardcode_libdir_flag_spec)
27028         (hardcode_direct): Simplify FreeBSD configuration.
27029         (library_names_spec): Don't mishandle FreeBSD 10+.
27030         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
27031         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
27032         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
27033         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
27034         Don't mishandle FreeBSD 10+ when cross-compiling.
27036         ftoastr: work around compiler bug in IBM xlc 12.1
27037         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
27038         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
27039         around a compiler bug in IBM xlc 12.1.0.0: it complains
27040         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
27041         _GL_FLT_PREC_BOUND.'
27043 2014-05-30  Kieran Colford  <colfordk@gmail.com>
27045         valgrind-tests: fixed misleading help message
27046         * m4/valgrind-tests.m4: The help message generated by configure
27047         implied that valgrind was disabled by default, which it wasn't.
27048         Adjusted the help message using s/enable/disable/ to clarify.
27050 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
27052         isfinite, isinf, isnan tests: fix for little-endian PowerPC
27053         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
27054         first double of a PowerPC "double double" pair.
27055         * tests/test-isinf.c (test_isinfl): Likewise.
27056         * tests/test-isnan.c (test_long_double): Likewise.
27057         * tests/test-isnanl.h (main): Likewise.
27058         * tests/test-signbit.c (test_signbitl): Likewise.
27060 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
27062         exclude-tests: port to AIX 7.1
27063         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
27064         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
27065         the regex code uses locks.
27067 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
27069         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
27070         Without this fix, Emacs would sometimes call sigprocmask instead
27071         of pthread_sigmask, which is a no-no in multithreaded applications.
27072         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
27073         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
27074         Suppress check for pthread_sigmask working without -lpthread if
27075         the application always links with -lpthread.  Do not link with
27076         $LIBMULTITHREAD if gl_THREADLIB is not defined.
27077         * m4/timer_time.m4 (gl_TIMER_TIME):
27078         Require gl_THREADLIB only if it is defined.  Do not append
27079         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
27081 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
27083         gnulib-tool: wget translations using --no-verbose rather than --quiet
27084         This allows the user to see error messages if any (--quiet hides them)
27085         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
27087 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
27089         gnulib-tool: adjust translation wget to avoid a https redirection
27090         Context: http://translationproject.org/latest/gnulib redirects to
27091            https://translationproject.org/latest/gnulib/
27092         Rationale: if the user falls back to wget, she doesn't have rsync and
27093         is probably in a minimal build environment, where packages such as
27094         'ca-certificates' are missing as well, resulting in a failed (and
27095         difficult to detect since ignored) translation initial fetch.
27096         Consequently let's avoid https if possible, and add the missing
27097         trailing slash.  This also avoids an unnecessary 302 redirection.
27098         * gnulib-tool: Add trailing slash to gnulib URL.
27100 2014-05-22  Pádraig Brady  <P@draigBrady.com>
27102         getlogin_r-tests: check return value rather than errno
27103         * tests/test-getlogin_r.c (main): As per POSIX we should be
27104         verifying the return value from getlogin_r() rather than errno.
27106 2014-05-22  Pádraig Brady  <P@draigBrady.com>
27108         getlogin_r-tests: fix various issues in recent change
27109         * tests/test-getlogin_r.c: Include required headers that were
27110         missed in recent commit eec20b4e.
27111         Also consistently check the errno rather than the return value from
27112         getlogin_r as POSIX only specifies that non zero is returned on error.
27113         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
27115 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27117         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
27118         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
27119         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
27120         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
27121         * lib/spawn-pipe.c:
27122         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
27123         and then 'int open64(const char *, int, ...);', which means the
27124         declaration for 'open' gets lost if we later '#undef open'.
27125         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
27126         where the compilation reported the non-fatal error "In function
27127         'openat_proc_name' ... warning: implicit declaration of function
27128         'open'".  In this case the error is relatively harmless, but in
27129         other cases it might not be so minor.
27131 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27133         xalloc: don't potentially generate invalid code for xmemdup calls
27134         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
27135         this function can initialize the newly-allocated storage with new
27136         pointers, which means this function is not malloc-like.  See:
27137         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
27139 2014-05-19  Pádraig Brady  <P@draigBrady.com>
27141         getlogin_r-tests: avoid false failure under sudo/ssh etc.
27142         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
27143         changes from commit 97249cf29 to not depend on environment variables.
27145 2014-05-18  Pádraig Brady  <P@draigBrady.com>
27147         getlogin-tests: avoid false failure under cron
27148         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
27149         since that's not what's under test.  Centos 6 was seen to return
27150         EINVAL for ttyname() when run from cron.
27152 2014-05-16  Jim Meyering  <meyering@fb.com>
27154         mbrtowc.m4: fix a comment typo
27155         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
27156         emitted documentation string.
27158 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27160         mbrlen, mbrtowc: fix bug with empty input
27161         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
27162         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
27163         so this is mainly for documentation.
27164         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
27165         (gl_FUNC_MBRTOWC): Use it.
27166         * tests/test-mbrtowc.c (main): Test for the bug.
27168 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
27170         doc: document mbrtowc and mbrlen problem with empty input
27171         * doc/posix-functions/mbrlen.texi (mbrlen):
27172         * doc/posix-functions/mbrtowc.texi (mbrtowc):
27173         Document portability problem when the input string is empty.  See:
27174         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
27176         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
27177         Problem reported by Eli Zaretskii in:
27178         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
27179         * doc/posix-functions/execl.texi (execl):
27180         * doc/posix-functions/execle.texi (execle):
27181         * doc/posix-functions/execlp.texi (execlp):
27182         * doc/posix-functions/execv.texi (execv):
27183         * doc/posix-functions/execve.texi (execve):
27184         * doc/posix-functions/execvp.texi (execvp):
27185         Mention spawn+exit problem on non-Cygwin Windows platforms.
27187 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
27189         getlogin-tests: avoid false failure under sudo/ssh etc.
27190         * modules/getlogin-tests (configure.ac): Check for ttyname().
27191         * tests/test-getlogin.c (main): Don't depend on environment variables
27192         to correlate with getlogin(), since sudo and ssh etc. can tamper
27193         with the LOGNAME and USER env vars.  Instead lookup the name from
27194         the uid associated with the stdin tty.
27196 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
27198         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
27199         These were found when building the latest grep snapshot on IRIX 6.5.
27200         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
27201         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
27202         never used later.
27203         * lib/quotearg.c (quoting_options_from_style):
27204         * lib/xstrtol.c (__xstrtol):
27205         Use enum instead of 0, to pacify IRIX 6.5 cc.
27207 2014-04-18  Pádraig Brady  <P@draigBrady.com>
27209         gitlog-to-changelog: revert inclusion of git-log-fix file
27210         * build-aux/git-log-fix: Delete dummy file.
27211         * modules/gitlog-to-changelog: Don't reference (overwrite)
27212         the project specific git-log-fix file.
27214 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
27216         maint.mk: Relax the copyright check to cater for non FSF projects
27217         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
27218         to not require the "Free" suffix after the copyright years.
27220 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
27222         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
27223         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
27224         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
27225         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
27226         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
27228 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
27230         exclude: port to strict C99
27231         Strict C does not allow converting a function pointer to void *
27232         and vice versa.  Pass a pointer to a function pointer instead.
27233         * lib/exclude.c (add_exclude_file):
27234         Pass the address of the function pointer.
27235         (call_addfn): And deference the address here, to match.
27237 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
27239         regex: do not depend on malloc-gnu
27240         * modules/regex (Depends-on): Remove malloc-gnu.
27241         It's no longer needed, because of the 2012-12-29 patch
27242         "regex: port to hosts where malloc (0) == NULL".
27243         Reported by Nathan Kennedy in:
27244         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
27246 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
27248         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
27249         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
27250         * doc/posix-functions/expl.texi: Mention the workaround.
27252 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
27254         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
27255         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
27256         size to be zero even when the pointer is nonnull.  This
27257         accommodates the use case where P is malloc (0) and *PN is 0 on a
27258         host where malloc (0) yields nonnull.
27260 2014-04-09  Eric Blake  <eblake@redhat.com>
27262         fts: avoid unnecessary strlen calls
27263         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
27265 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
27267         fts: avoid unnecessary strlen calls
27268         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
27269         when that can be faster than strlen.
27271 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
27273         fts: avoid unnecessary strlen calls
27274         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
27275         (fts_build): Store the length of the dp->d_name entry in a local variable
27276         instead of calling strlen() several times via the above, removed macro.
27277         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
27278         run by ~4%, yet this reduces the execution time by about a third if run
27279         via "ltrace -c rm -rf some-dir".
27281 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
27283         obstack: Remove ancient NeXTSTEP gcc support conditional
27284         This change will ease merging with glibc.  The "#if ... __NEXT__"
27285         causes a warning with -Wundef which glibc now enables by default.
27286         Problem reported by Will Newton in
27287         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
27288         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
27289         so go with that.
27290         * lib/obstack.h (__extension__):
27292 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
27294         obstack: merge with glibc changes
27295         * lib/obstack.c, lib/obstack.h: Merge from glibc.
27296         This is mostly indenting and commentary changes.
27297         Instances of 'register' have been removed.
27299 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
27301         strftime: wrap macros in "do {...} while(0)"
27302         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
27303         this macro in "do {...} while(0)" to prevent false use as a
27304         single statement, e.g., in an un-braced "{}" else-block.
27305         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
27306         (strftime_case_): Remove 'else' after 'goto' - which was the
27307         only non-fatal, un-braced use of one of the above macros.
27308         Spotted by coverity (NESTING_INDENT_MISMATCH).
27310 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
27312         modechange: avoid memory leaks for invalid octal modes
27313         * lib/modechange.c (mode_compile): During the parsing of
27314         notations like +40, free the 'mc' buffer for invalid mode
27315         strings like +17777 (greater than the maximum octal mode),
27316         =18 (bad octal mode characters) or u=1 ('affected' with
27317         octal modes).
27318         Reproducer, e.g.:
27319             $ valgrind --leak-check=full chmod +17777 file
27320         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
27321         add notations +40, 00440, etc.".
27322         Spotted by coverity (RESOURCE_LEAK).
27324 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
27326         gitlog-to-changelog: include a dummy git-log-fix file
27327         Problem reported by Nathan Stratton Treadway in:
27328         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
27329         * build-aux/git-log-fix: New file.
27331 2014-03-13  Jim Meyering  <meyering@fb.com>
27333         gitlog-to-changelog: also include the file, git-log-fix
27334         * modules/gitlog-to-changelog (Files): Add git-log-fix.
27335         Reported by Assaf Gordon.
27337 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
27339         regex: port to OS X 10.8.5 en_US.UTF-8 locale
27340         This fixes a bug when ignoring case and when comparing the
27341         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
27342         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
27343         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
27344         titlecase letter is neither lowercase nor uppercase, but
27345         uppercasing the titlecase letter (via towupper) yields the
27346         uppercase letter, so the two letters should match when ignoring case.
27347         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
27348         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
27349         Don't test whether a character is lowercase before uppercasing it.
27351 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
27353         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
27354         This is basically one of the options Bruno Haible proposed in:
27355         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
27356         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
27357         * lib/stdint.in.h: Use it.
27358         * modules/stdint (Depends-on): Add sys_types.
27360 2014-02-26  Pádraig Brady  <P@draigBrady.com>
27362         parse-datetime: fix crash or infloop in TZ="" parsing
27363         * lib/parse-datetime.y (parse_datetime): Break out of the
27364         TZ="" parsing loop once the second significant " is found.
27365         Also skip over any subsequent whitespace to be consistent
27366         with the non TZ= case.
27367         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
27369 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
27371         savedir: new symbol for fast-read version
27372         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
27373         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
27374         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
27375         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
27377 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
27379         unistd: port readlink to Mac OS X 10.3.9
27380         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
27381         around self-include problem in Mac OS X 10.3.9 when combined with
27382         readlink module.  Problem reported by Klaus Zietler in
27383         <http://bugs.gnu.org/16825>.
27385 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
27387         diffseq: remove TOO_EXPENSIVE heuristic
27388         Problem with diffutils reported by Vincent Lefevre in
27389         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
27390         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
27391         Although appropriate for circa-1993 hardware, these days the heuristic
27392         seems to be more trouble than it's worth.
27393         * lib/diffseq.h: Modernize citations.
27394         (struct context): Remove member too_expensive.
27395         All uses changed.
27396         (struct partition): Remove members lo_minimal, hi_minimal.
27397         All uses changed.
27398         (diag, compareseq): Remove arg find_minimal.  All uses changed.
27399         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
27400         1993 to make 'diff' run faster (but not as well) on large inputs.
27401         These days, computers are fast enough that it's typically better
27402         to run slower but more accurately.
27403         * lib/fstrcmp.c: Remove duplicate comment.
27404         * lib/fstrcmp.c (strcmp_bounded):
27405         * lib/git-merge-changelog.c (compute_differences):
27406         Adjust to diffseq.h changes.
27407         * NEWS: Document the change.
27409         savedir: simplify by using stpcpy
27410         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
27411         (streamsavedir): Use stpcpy instead.
27412         * modules/savedir (Depends-on): Add stpcpy.
27414 2014-02-21  Pádraig Brady  <P@draigBrady.com>
27416         spawn: fix link error on uclibc
27417         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
27418         to incorporate -lrt if needed (on uclibc for example).
27419         * modules/posix_spawn: Reference the substituted LIB.
27421 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
27422         timer: fix uClibc detection of threading
27423         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
27424         enabled in uClibc.
27426 2014-02-21  Eric Blake  <eblake@redhat.com>
27428         maintainer-makefiles: provide AC_PROG_SED for older autoconf
27429         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
27431 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
27433         exclude: add support for posix regexps
27435         This commit adds support for POSIX extended regular expressions
27436         and fixes a long-standing memory leak (pattern buffer was never
27437         freed).  It also implements a new interface function to read
27438         exclude patterns from a FILE, which passes an additional parameter
27439         to its callback function, thereby allowing to preserve its state
27440         between invocations.
27442         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
27443         (pattern_buffer): New struct.
27444         (exclude): New member patbuf.
27445         (exclude_add_pattern_buffer): New function.
27446         (free_exclude_segment): Free regexps.
27447         (free_exclude): Free allocated pattern buffers.
27448         (exclude_patopts): New function.
27449         (file_pattern_matches): Use exclude_patopts.
27450         (add_exclude): support regexps.
27451         (add_exclude_fp): New function.
27452         (add_exclude_file): Rewrite using add_exclude_fp.
27453         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
27454         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
27455         (add_exclude_fp)
27456         (add_exclude_file): Rewrite using add_exclude_fp.
27457         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
27458         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
27459         (add_exclude_fp)
27460         (exclude_add_pattern_buffer): New prototypes.
27461         * modules/exclude: Depends on regex and filename.
27463 2014-02-20  Eric Blake  <eblake@redhat.com>
27465         maintainer-makefiles: use $(SED) for syntax check
27466         * modules/maintainer-makefile (configure.ac): Check for sane sed.
27467         * top/maint.mk: Change sed to $(SED).
27469 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
27470             Paul Eggert  <eggert@cs.ucla.edu>
27472         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
27473         Patch based on an idea by Dick Streefland in
27474         <https://savannah.gnu.org/patch/?7892>.
27475         * NEWS: Document this.
27476         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
27477         (direntry_t, comparison_function): New types.
27478         (direntry_cmp_name): New function.
27479         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
27480         (streamsavedir, savedir): New arg OPTION.
27481         (streamsavedir): Simplify memory allocation.
27482         (fdsavedir): Remove.
27483         * lib/savedir.h (enum savedir_option): New type.
27484         (streamsavedir, savedir): New arg OPTION.
27485         (fdsavedir): Remove.
27487 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27489         file-type: add support for doors and other less-common file types
27490         Problem with S_ISDOOR reported by Rich Burridge.
27491         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
27492         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
27493         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
27495 2014-01-23  Eric Blake  <eblake@redhat.com>
27497         pthread: work around winpthread header pollution on mingw
27498         * lib/time.in.h: Move pthread workarounds...
27499         * lib/pthread.in.h: ...here.
27500         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
27501         detect macro pollution on mingw.
27502         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
27504 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
27506         qacl: check for fchmod
27507         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
27508         and qset-acl.c both use HAVE_FCHMOD.
27510 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
27512         fdopen-tests: port to Tru64
27513         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
27514         descriptor that is not open, as POSIX doesn't specify the
27515         resulting behavior and the test does not work on Tru64.
27516         Problem reported by Steven M. Schweda in:
27517         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
27519         stdalign: port to HP-UX compilers
27520         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
27521         if __HP_cc or __HP_aCC are nonzero.
27523 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
27525         strtoimax: port to platforms lacking 'long long'
27526         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
27527         check whether strtoll is declared, which causes the C file to
27528         wrongly report an error.  Problem reported by Steven M. Schweda in:
27529         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
27530         * lib/strtoimax.c (strtoull):
27531         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
27532         (strtoll): Declare only if HAVE_LONG_LONG_INT.
27534 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
27536         relocatable-perl: fix texi syntax
27537         * doc/relocatable-maint.texi: Escape braces.
27539 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
27541         relocatable-perl: like relocatable-script, but for Perl scripts
27542         * build-aux/relocatable.pl.in: Add.
27543         * doc/relocatable-maint.texi: Add documentation.
27544         * modules/relocatable-perl: Add.
27546 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
27548         tests: fix export bug in previous patch
27549         Problem reported by Jim Meyering.
27550         * tests/init.sh (re_shell): New var, which is exported instead of
27551         re_shell_.
27553         tests: simplify porting to Solaris 10 /bin/sh
27554         Some test cases in 'grep' need a shell that groks '$(';
27555         export re_shell_ for their benefit.  Problem reported for 'grep'
27556         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
27557         * tests/init.sh (re_shell_): Export if it's used.
27559 2014-01-06  Eric Blake  <eblake@redhat.com>
27561         md5, sha1, sha256, sha512: support older autoconf
27562         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
27563         for autoconf < 2.63b.
27565         include_next: port to autoconf 2.63
27566         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
27568 2014-01-04  Jim Meyering  <meyering@fb.com>
27570         maint: add a gnulib-local rule to keep non-ascii out of .texi files
27571         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
27572         so that "make sc_maint" will ding anyone who puts non-ascii
27573         in any of gnulib's .texi files.
27575 2014-01-03  Jim Meyering  <meyering@fb.com>
27577         freadable, fwritable, fwriting: declare with the "pure" attribute
27578         * lib/freadable.h (freadable): Declare with the "pure" attribute.
27579         * lib/fwritable.h (fwritable): Likewise.
27580         * lib/fwriting.h (fwriting): Likewise.
27581         Suggested by Bruno Haible.
27583         maint.mk: adapt openat.h-include-without-use test
27584         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
27585         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
27586         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
27587         With this change, running "make sc_maint" in gnulib's top-level
27588         directory now passes for me.
27590 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
27592         doc: use ASCII in .texi files where UTF-8 isn't needed
27593         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
27594         * doc/posix-functions/setkey.texi, doc/regex.texi:
27595         Use ASCII input, not UTF-8.
27597 2014-01-02  Jim Meyering  <meyering@fb.com>
27599         freading: declare with the "pure" attribute
27600         * lib/freading.h (freading): Declare with the "pure" attribute.
27602         manywarnings: remove -Wmudflap
27603         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
27604         it is no longer supported in gcc-4.9-to-be.
27606 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
27608         relocatable-script: remove unused code
27609         Problem reported by Reuben Thomas in:
27610         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
27611         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
27613 2014-01-01  Jim Meyering  <meyering@fb.com>
27615         maint: fix public-submodule-commit to work with newer git
27616         * top/maint.mk (public-submodule-commit): Remove excess quoting.
27617         We were over-quoting the test arguments, and somewhere prior to
27618         version 1.8.5.2.229, git stopped removing those excess quotes,
27619         which made the test fail, since the unexpanded strings would
27620         always differ; using GIT_TRACE=1 confirmed that the git merge-base
27621         command wasn't even being run.
27623 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
27625         doc: update main copyright year
27626         * doc/gnulib.texi: Update copyright date.
27628 2014-01-01  Eric Blake  <eblake@redhat.com>
27630         version-etc: new year
27631         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
27632         * all files: run 'make update-copyright'
27634 2013-12-24  Eric Blake  <eblake@redhat.com>
27636         passfd: give nicer error for recvfd at eof
27637         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
27638         * tests/test-passfd.c (main): Enhance test to cover this.
27640 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
27642         gettimeofday: port recent C++ fix to Emacs
27643         Without this further patch, Emacs won't build due to
27644         the portcheck failing.  Also, this simplifies the patch a bit.
27645         * lib/time.in.h (localtime, gmtime): Don't replace unless
27646         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
27647         * lib/time.in.h (localtime, gmtime):
27648         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
27649         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
27650         * modules/time (time.h):
27651         Don't worry about the possibility of localtime and gmtime
27652         being absent; they're present in all C libraries we know about.
27653         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
27654         Don't assume sys_time is present and has been initialized.
27655         Instead, use a hack that should work even if it hasn't been.
27656         Don't use a portcheck for gmtime or localtime; this supports
27657         the hack.
27658         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
27660 2013-12-17  John W. Eaton  <jwe@gnu.org>
27662         gettimeofday: fix C++ crosscompilation
27664         Never replace gmtime and localtime by macros when compiling with
27665         C++, this prevents <ctime> from being included.
27667         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
27668         define gmtime and localtime as preprocessor macros.  Instead
27669         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
27670         REPLACE_LOCALTIME substitutions.
27671         * lib/time.in.h: Declare gmtime and localtime when needed.
27672         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
27673         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
27674         * modules/time: Depend on gettimeofday, and substitute the above
27675         variables in time.h.
27677 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
27679         qacl: port to Windows better
27680         See Eli Zaretskii in
27681         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
27682         * lib/file-has-acl.c (acl_access_nontrivial):
27683         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
27684         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
27686 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
27688         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
27689         * lib/gl_openssl.h: Cast void pointers to a specific type.
27691 2013-12-07  Pádraig Brady  <P@draigBrady.com>
27693         open-tests: fix build failure with -Werror=old-style-declaration
27694         * tests/test-open.h: Reorder the inline to avoid the issue.
27696 2013-12-07  Pádraig Brady  <P@draigBrady.com>
27698         md5, sha1, sha256, sha512: fix link error with partial libcrypto
27699         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
27700         init time, so that if early checks find crypto routines,
27701         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
27702         avoiding link failures.
27704 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
27706         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
27707         This provides a new way to specify the default for
27708         gl_CRYPTO_CHECK, one that is reflected in the --help message.
27709         Emacs uses this, as well as the old way.
27710         This attempts to implement a suggestion by Pádraig Brady in
27711         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
27712         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
27713         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
27715         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
27716         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
27717         Add support for a new option, --with-openssl=auto, which causes
27718         the library to be used if available and silently ignored if not.
27719         Add support to allow configure.ac to specify its own
27720         default, by setting with_openssl_default before invoking gl_INIT.
27722 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
27724         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
27725         Problem reported by Daiki Ueno in:
27726         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
27727         * tests/test-open.h (__always_inline):
27728         New macro, if not already defined.
27729         (test_open): Use it.
27731 2013-12-04  Eric Blake  <eblake@redhat.com>
27733         include_next: minimize code duplication
27734         * modules/include_next (Depends-on): Add absolute-header.
27735         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
27736         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
27738 2013-12-04  Pádraig Brady  <P@draigBrady.com>
27740         getcwd: fix compile error in configure check
27741         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
27743 2013-12-04  Pádraig Brady  <P@draigBrady.com>
27745         regex: suppress core dumps from detection code
27746         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
27747         to suppress core dumps that may well occur on glibc systems.
27748         These core dumps might not be cleaned up automatically, or could
27749         trigger some system core dump handling logic.
27751 2013-12-03  Pádraig Brady  <P@draigBrady.com>
27753         md5, sha1, sha256, sha512: support mandating use of openssl
27754         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
27755         description, to list the now 3 separate options.  also don't
27756         mention the default=no, since this is implicit given the option
27757         is described as --with-openssl rather than --without-openssl.
27758         If projects change the default they're free to document that.
27759         with --with-openssl[=yes] we now error out when the specified
27760         hash algorithm is not available in libcrypto.
27762 2013-12-03  Ivailo  <xakepa10@gmail.com>
27764         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
27765         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
27766         -Wformat-nonliteral checks, as these edge cases are part of the test.
27768 2013-12-03  Eric Blake  <eblake@redhat.com>
27770         regex: avoid glibc deadlock during configure
27771         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
27772         glibc bug 15078 in turn triggers bug 16159.
27773         Reported by Michal Privoznik.
27775 2013-12-02  Pádraig Brady  <P@draigBrady.com>
27777         md5, sha1, sha256, sha512: use openssl routines if available.
27778         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
27779         routines will be used if available, requiring apps to link @LIB_CRYPTO@
27780         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
27781         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
27782         in the standard system location.
27783         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
27784         * m4/sha256.m4: Likewise with SHA256.
27785         * m4/sha512.m4: Likewise with SHA512.
27786         * m4/md5.m4: Likewise with MD5.
27787         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
27788         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
27789         * lib/sha256.h: Likewise with SHA256.
27790         * lib/sha512.h: Likewise with SHA512.
27791         * lib/md5.h: Likewise with MD5.
27792         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
27793         * lib/sha256.c: Likewise with SHA256.
27794         * lib/sha512.c: Likewise with SHA512.
27795         * lib/md5.c: Likewise with MD5.
27796         * modules/crypto/sha1 (Link:): Add the new optional lib.
27797         (Depends-on:): Add dependency on extern-inline.
27798         * modules/crypto/sha256: Likewise.
27799         * modules/crypto/sha512: Likewise.
27800         * modules/crypto/md5: Likewise.
27801         * modules/crypto/sha1-tests: Reference the lib here too.
27802         * modules/crypto/md5-tests: Likewise.
27803         * modules/crypto/gc-des-tests: Likewise.
27804         * modules/crypto/gc-hmac-md5-tests: Likewise.
27805         * modules/crypto/gc-hmac-sha1-tests: Likewise.
27806         * modules/crypto/gc-hmac-sha256-tests: Likewise.
27807         * modules/crypto/gc-hmac-sha512-tests: Likewise.
27808         * modules/crypto/gc-md5-tests: Likewise.
27809         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
27810         * modules/crypto/gc-sha1-tests: Likewise.
27811         * modules/crypto/gc-tests: Likewise.
27812         * modules/crypto/hmac-md5-tests: Likewise.
27813         * modules/crypto/hmac-sha1-tests: Likewise.
27814         * modules/crypto/hmac-sha256-tests: Likewise.
27815         * modules/crypto/hmac-sha512-tests: Likewise.
27817 2013-11-29  RV1971  <rv1971@web.de>
27819         base64: (trivial) fix compilation regression on some compilers
27820         * lib/base64.c: Don't return the void function,
27821         instead split to a separate return statement.
27823 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
27825         ignore-value: revert previous code change
27826         * lib/ignore-value.h (ignore_value): Use __extension__ and
27827         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
27828         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
27829         Change the comment to try to explain this better.
27831 2013-11-27  Pádraig Brady  <P@draigBrady.com>
27833         selinux-h: improve stub types and add more stub functions
27835         * lib/se-selinux.in.h: Change security_context_t to a typedef
27836         rather than a define, as it's a pointer type and so is better
27837         as a typedef to avoid issues declaring multiple variables
27838         with the comma operator.  Also add stub for string_to_security_class().
27839         * lib/se-context.in.h: Add stub functions for
27840         context_{type,range,role,user}_get().
27842 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
27844         ignore-value: prefer GCC version back through 2.0
27845         The code didn't match the comments, so I did a bit of software
27846         archaeology.  GCC 2.0 seems to support __extension__ and
27847         __typeof__, so fix both code and comments to use 2.0.
27848         * lib/ignore-value.h (ignore_value): Use __extension__ and
27849         __typeof__ for GCC 2.0 through 3.3, too.
27851 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
27853         pty: Activate the signature wrapper of forkpty.
27854         The intended preprocessor macro HAVE_FORKPTY is
27855         never defined, yet `lib/forkpty.c' depends on it.
27857         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
27858         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
27859         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
27861 2013-11-18  Jim Meyering  <meyering@fb.com>
27862         and Paul Eggert  <eggert@cs.ucla.edu>
27864         quotearg: don't attempt to store 1 << 31 into an "int"
27865         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
27866         gcc's new -fsanitize=undefined and running its tests triggered some
27867         new test failures due to undefined behavior, all with this diagnostic:
27868           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
27869             cannot be represented in type int
27870         Rather than shifting "1" left to form a mask, shift the bits right and
27871         simply use "1" as the mask.
27873 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
27875         error: depend on stdio
27876         Problem reported by Nikos Mavrogiannopoulos in
27877         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
27878         * modules/error (Depends-on): Add stdio.
27880 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
27882         * doc/relocatable-maint.texi (Supporting Relocation): Improve
27883         wording.
27884         Reported by Reuben Thomas <rrt@sc3d.org>.
27886 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
27888         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
27889         New function and macro, to work around _DARWIN_C_SOURCE problem.
27890         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
27892 2013-11-11  Pádraig Brady  <P@draigBrady.com>
27894         base64: provide a fast path for encoding well sized buffers
27895         Avoid conditionals in the base64 encoding loop,
27896         which was seen to give 60% better throughput.
27897         * lib/base64.c (base64_encode_fast): A new function to be called
27898         when we don't want to NUL terminate, and we have enough space
27899         in the output to encode the given input.
27900         (base64_encode): Call the _fast() version when appropriate.
27901         Also remove a redundant mask with 0x3F on the first encoded byte.
27903 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
27905         extern-inline: port better to OS X 10.9
27906         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
27907         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
27908         OS X 10.9, except for g++ where the bug is still present.
27909         See <http://trac.macports.org/ticket/41033>.
27911 2013-11-08  Eric Blake  <eblake@redhat.com>
27913         fpending: fix regression on DragonFly BSD
27914         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
27915         * lib/fpending.h (__fpending): Don't declare twice.
27916         Reported by GW in
27917         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
27919 2013-11-05  Jim Meyering  <meyering@fb.com>
27921         hash: relax license to LGPLv2+, for libguestfs
27922         * modules/hash (License): Change from GPL to LGPLv2+.
27924 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
27926         intprops: port to Oracle Studio c99
27927         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
27928         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
27930 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
27932         obstack: pacify HP C
27933         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
27934         warning "conversion from pointer to smaller integer" from HP
27935         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
27936         C89 or later nowadays, so cast to void instead of int.  Privately
27937         reported by H.Merijn Brand.  Also, change header to match glibc's,
27938         to make checking against glibc easier.
27940 2013-10-29  Jim Meyering  <meyering@fb.com>
27942         maint.mk: prefer gpgv2 over gpgv
27943         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
27944         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
27945         Reported by Gary Vaughan.
27947 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
27949         isnan: port to VAX
27950         Reported by John Klos for NetBSD-5/VAX in
27951         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
27952         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
27953         (FUNC): Use it.
27955 2013-10-28  Jim Meyering  <meyering@fb.com>
27957         gnulib-tool: protect against CDPATH
27958         * gnulib-tool: Many "cd" built-in functions print a directory name
27959         to stdout when CDPATH is set, e.g.,
27960           $ bash -c 'CDPATH=/; cd tmp'
27961           /tmp
27962         Unset it, when possible.  Prompted by a comment from Bruce Korb.
27964         maint.mk: restore functionality removed by recent change...
27965         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
27966         the context of a shallow-cloned gnulib repository: "git describe"
27967         would fail in such a directory.  However, that change made it so
27968         the reported gnulib revision no longer includes the version number
27969         or a commit count, even when run from a full clone.
27970         * top/maint.mk (gnulib-version): Use the full "git describe"
27971         output when possible, e.g., the form above, rather than the
27972         abbreviated, no-tag, no-commit-count string, and fall back to
27973         using a 10-byte hash, rather than the default minimal-length
27974         hash prefix, since while the minimal-length one may be fine today,
27975         it is likely not to be unique for very long.
27977 2013-10-26  Jim Meyering  <meyering@fb.com>
27979         maint.mk: fix "release" target to build _version
27980         This fixes a bug in README-release whereby following the outlined
27981         steps, one would publish a tarball whose programs would report
27982         --version output not consistent with the package version number.
27983         This bug caused grep-2.15 to produce a grep program whose
27984         --version option made it print 2.14.56-1e3d rather than 2.15.
27985         * top/maint.mk (release): Making this target build "_version"
27986         ensures that the new version number is reflected in configure.
27988 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
27990         install-reloc: Support multi-binary installation.
27991         * build-aux/install-reloc: Support installing multiple programs in
27992         one invocation, as done by Automake starting with commit
27993         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
27994         Haible <bruno@clisp.org>, archived at
27995         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
27996         Reported by Sylvain <beuc@gnu.org>.
27998 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
28000         selinux-h: Really build without selinux when library is missing.
28001         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
28002         continue without selinux, as already told in the warning message.
28004 2013-10-21  Jim Meyering  <meyering@fb.com>
28006         regex: also remove dependency on HAVE_WCSCOLL
28007         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
28009 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
28011         xfreopen: Fix typo. s/frepoen/freopen/
28012         * lib/xfreopen.c: Fix description.
28013         * modules/xfreopen: Likewise.
28015 2013-10-21  Jim Meyering  <meyering@fb.com>
28017         regex: don't depend on wcscoll
28018         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
28019         It is no longer used.
28021 2013-10-20  Jim Meyering  <meyering@fb.com>
28023         error: add the printf attribute to a static function
28024         * lib/error.c (error_tail): Add the printf attribute, to placate
28025         gcc's -Werror=suggest-attribute=format option.
28027 2013-09-30  Jim Meyering  <meyering@fb.com>
28029         fpending, obstack, strerror-override: use pure+const function attrs
28030         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
28031         * lib/obstack.c (_obstack_allocated_p): Likewise.
28032         * lib/obstack.h (_obstack_memory_used): Likewise.
28033         (_obstack_memory_used): Likewise.
28034         * lib/strerror-override.h (strerror_override): Declare with
28035         the "const" attribute.
28037 2013-10-18  Eric Blake  <eblake@redhat.com>
28039         extern-inline: make safe for -Wundef usage
28040         Reported by Vladimir 'phcoder' Serbinenko in
28041         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
28042         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
28044 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28046         mkfifo-tests, etc.: allow HP-UX 11.11 bug
28047         Problem reported by Daniel Richard G. in
28048         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
28049         * doc/posix-functions/mkfifo.texi (mkfifo):
28050         * doc/posix-functions/mkfifoat.texi (mkfifoat):
28051         * doc/posix-functions/mknod.texi (mknod):
28052         * doc/posix-functions/mknodat.texi (mknodat):
28053         Document the HP-UX 11.11 bug.
28054         * tests/test-mkfifo.h (test_mkfifo):
28055         Allow the HP-UX 11.11 bug.
28057 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
28059         acl: allow cross-compilation to Gentoo
28060         Problem reported by Gabriel Marcano in
28061         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
28062         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
28063         test only whether it links.
28065 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28067         mgetgroups: remove dependency on realloc-gnu
28068         The dependency violates the comment in realloc-gnu, which
28069         says that tests can't depend on realloc-gnu; some tests depend
28070         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
28071         Problem reported by Daniel Richard G. in
28072         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
28073         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
28074         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
28075         not realloc-gnu.
28077 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
28079         regex-tests: port to HP-UX 11.11
28080         Problem reported by Daniel Richard G. in
28081         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
28082         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
28084 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28086         verify: document some 'assume' pitfalls
28087         * doc/verify.texi (Compile-time Assertions):
28088         Mention that 'assume (E)' can sometimes slow things down.
28089         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
28091 2013-10-10  Eric Blake  <eblake@redhat.com>
28093         strtoumax: fix typo in previous commit.
28094         * modules/strtoumax (Depends-on): Fix typo.
28095         * modules/strtoimax (Depends-on): Likewise.
28097 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28099         strtoumax: port to Solaris 8
28100         This problem was introduced in the recent HP-UX patch.
28101         Reported by Tom G. Christensen in
28102         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
28103         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
28104         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
28106 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
28108         strtoimax, strtoumax: port to HP-UX 11.11
28109         Problem reported by Daniel Richard G. in
28110         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
28111         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
28112         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
28113         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
28114         REPLACE_STRTOUMAX.
28115         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
28116         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
28117         Replace the function if defined as a macro but not as a function.
28118         * modules/inttypes-incomplete (inttypes.h): Substitute
28119         REPLACE_STRTOUMAX.
28120         * modules/strtoumax (configure.ac): Replace strtoumax if
28121         REPLACE_STRTOUMAX.
28123 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28125         strtoimax: port to HP-UX 11.11
28126         Problem reported by Daniel Richard G.
28127         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
28128         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
28129         they might clash with inttypes.h.
28131 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
28133         New module 'count-trailing-zeros'.
28134         * MODULES.html.sh: Mention it.
28135         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
28136         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
28137         * modules/count-trailing-zeros-tests:
28138         * tests/test-count-trailing-zeros.c:
28139         New files.
28141         count-leading-zeros: port to MSC; support types wider than 64 bits
28142         The ideas behind the MSC port are stolen from Emacs.
28143         * lib/count-leading-zeros.h:
28144         Don't include verify.h: it's no longer needed, as types wider than
28145         64 bits are now supported.
28146         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
28147         performance with MSC.  All uses changed.  Do not assume that TYPE
28148         has at most 64 bits.
28149         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
28150         All uses changed.  Fold the subtraction from 31 into the table.
28152         count-one-bits: port to MSC; support types wider than 64 bits
28153         The ideas behind the MSC port are stolen from Emacs.
28154         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
28155         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
28156         Don't include verify.h: it's no longer needed, as types wider than
28157         64 bits are now supported.
28158         (COUNT_ONE_BITS_GENERIC): New macro.
28159         (popcount_supported) [_MSC_VER]: New inline function.
28160         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
28161         performance with MSC.  All uses changed.  Do not assume that TYPE
28162         has at most 64 bits.
28163         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
28165 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
28167         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
28168         * lib/mountlist.c (read_file_system_list): fix leak of directory
28169         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
28171 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
28173         tests: improve diagnostic when an assertion fails
28174         * tests/macros.h (ASSERT): Report the assertion that failed.
28176 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
28178         verify: new macro 'assume'
28179         This is taken from Emacs, and should be generally useful.
28180         * doc/verify.texi (assume): Document it.
28181         * lib/verify.h (assume): New macro.
28182         (__has_builtin): Expand to 0 if not defined.
28184 2013-09-26  Eric Blake  <eblake@redhat.com>
28186         dup2, dup3: work around another cygwin crasher
28187         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
28188         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
28189         * tests/test-dup2.c (main): Likewise.
28190         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
28191         * lib/dup3.c (dup3): Likewise.
28192         * doc/posix-functions/dup2.texi (dup2): Document it.
28193         * doc/glibc-functions/dup3.texi (dup3): Likewise.
28195         getdtablesize: work around cygwin issue
28196         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
28197         * modules/getdtablesize (configure.ac): Build replacement.
28198         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
28199         * modules/unistd (Makefile.am): Expose the witness.
28200         * lib/unistd.in.h (getdtablesize): Declare replacement.
28201         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
28202         * tests/test-getdtablesize.c (main): Test it.
28203         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
28205 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
28207         pmccabe2html: escaping of special characters
28208         Escape all '<', '>', and '&' in HTML output.
28209         * build-aux/pmccabe2html (html_fnc): Call gsub()
28210         instead of sub() to capture all '<', '>', and '&'.
28211         Neither of '<' and '>' is special in a regexp,
28212         so first arguments to gsub() are corrected. Also,
28213         in replacement strings, ampersand must be escaped.
28214         Finally, '&' must be handled first, then '<' and '>'.
28216 2013-09-24  Eric Blake  <eblake@redhat.com>
28218         manywarnings: enable nicer gcc warning messages
28219         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
28220         some -f options for optimal warnings.
28222 2013-09-21  Jim Meyering  <meyering@fb.com>
28224         timespec: use the new TIMESPEC_RESOLUTION in a few more places
28225         * lib/timespec-add.c (timespec_add): Also replace 999999999
28226         with TIMESPEC_RESOLUTION - 1.
28227         * lib/timespec-sub.c (timespec_sub): Likewise.
28229 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
28231         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
28232         Problem reported by Dagobert Michelsen via Eric Blake in
28233         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
28234         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
28235         not AC_COMPILE_IFELSE.
28237 2013-09-23  Eric Blake  <eblake@redhat.com>
28239         configmake: support new --runstatedir option
28240         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
28241         even if autoconf was too old to provide the command line option.
28242         * modules/configmake (Makefile.am): Propagate it to .h file.
28244 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28246         ctype, string: depend on extern-inline
28247         This is needed to complete the recent OS X fixes.
28248         Also, fix related documentation as suggested by Eric Blake.
28249         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
28250         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
28251         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
28252         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
28253         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
28254         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
28255         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
28256         * doc/posix-functions/toupper.texi:
28257         List the 'ctype' gnulib module.
28258         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
28259         * doc/posix-functions/strncpy.texi:
28260         List the 'string' gnulib module.
28261         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
28262         Add string.
28263         * modules/ctype, modules/string (Depends-on): Add extern-inline.
28265 2013-09-19  Pádraig Brady  <P@draigBrady.com>
28267         userspec: support optional parameters to parse_user_spec()
28268         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
28269         then avoid group processing and treat the full spec as a user.
28270         (parse_with_separator): Allow the USERNAME and GROUPNAME to
28271         be optional params (NULL), in which case they're ignored.
28273 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
28275         timespec: new function make_timespec, and new constants
28276         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
28277         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
28278         (make_timespec): New function.
28279         * lib/dtotimespec.c (dtotimespec):
28280         * lib/timespec-add.c (timespec_add):
28281         * lib/timespec-sub.c (timespec_sub):
28282         * lib/utimens.c (validate_timespec):
28283         * lib/utimensat.c (rpl_utimensat):
28284         Use these new constants and functions.
28286         stdio: OS X port of putc_unlocked + extern inline
28287         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
28288         * doc/posix-functions/putc_unlocked.texi:
28289         * doc/posix-functions/putchar_unlocked.texi:
28290         Document this portability problem.
28292         signal: OS X port of sigaddset etc. + extern inline
28293         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
28294         (sigismember): #undef on problematic Apple platforms.
28295         * doc/posix-functions/sigaddset.texi:
28296         * doc/posix-functions/sigdelset.texi:
28297         * doc/posix-functions/sigemptyset.texi:
28298         * doc/posix-functions/sigfillset.texi:
28299         * doc/posix-functions/sigismember.texi:
28300         Document this portability problem.
28302         extern-inline: do not always suppress extern inline on OS X
28303         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
28304         extern inline on Apple only if the particular compile-time
28305         configuration is known to have the problem.
28306         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
28307         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
28308         other Gnulib modules.
28310         extern-inline: document fixes for ctype and wctype macros
28311         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
28312         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
28313         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
28314         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
28315         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
28316         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
28317         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
28318         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
28319         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
28320         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
28321         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
28322         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
28323         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
28324         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
28325         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
28326         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
28327         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
28328         * doc/posix-functions/strncpy.texi:
28329         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
28330         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
28331         Document that Gnulib fixes portability problems with these
28332         functions on OS X 10.8 and earlier when called from plain inline
28333         or extern inline functions.
28335 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
28337         fflush, freadahead, fseeko: Fix for Android
28338         Suggested by Bruno Haible in:
28339         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
28340         * lib/stdio-impl.h: Use local __sfileext definition.
28342 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
28344         pmccabe2html: Portability to other awk versions.
28345         The functions systime() and strftime() are available
28346         in Gawk only.  Properly close two HTML-tags 'style'
28347         and 'span'.
28348         * build-aux/pmccabe2html (BEGIN): Store timing
28349         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
28350         systime() in HTML_COMMENT.
28351         (html_header): Correctly close tag 'style'.
28352         (END): Replace strftime() by CHRONOS_TIME.  Close
28353         tag 'span' correctly, not as 'div'.
28355 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
28357         getgroups: statement without effect
28358         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
28359         Change equality conditional to expected assignment.
28361 2013-09-09  Eric Blake  <eblake@redhat.com>
28363         glob: fix compilation
28364         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
28366 2013-09-07  Eric Blake  <eblake@redhat.com>
28368         glob: fix build for platforms without __THROW
28369         * lib/glob.in.h (__THROW): Add definition again.
28371 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
28373         regex-quote: fix buffer access out of bounds
28374         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
28375         * lib/regex-quote.c (regex_quote_spec_pcre):
28376         Fix typo that resulted in an out-of-bounds read.
28378 2013-09-04  Eric Blake  <eblake@redhat.com>
28380         glob: avoid -Wattribute warnings on glibc
28381         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
28382         __THROWNL, not __THROW, on static functions.
28383         * lib/glob.in.h (__THROW): Adjust...
28384         (__THROWNL): ...accordingly.
28386 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
28388         headers: check that _GL_INLINE_HEADER_BEGIN is defined
28389         Suggested by Bruce Korb in:
28390         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
28391         * doc/extern-inline.texi (extern inline):
28392         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
28393         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
28394         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
28395         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
28396         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
28397         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
28398         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
28399         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
28400         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
28401         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
28402         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
28403         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
28404         * lib/xtime.h:
28405         Check that _GL_INLINE_HEADER_BEGIN is defined.
28407 2013-08-29  Pádraig Brady  <P@draigBrady.com>
28409         bootstrap: remove the --version requirement from ancillary tools
28410         * build-aux/bootstrap (check_exists): A new refactored function to
28411         determine if a command exists.
28412         (find_tool): Use the new function which does not require the
28413         --version option to be supported.
28414         (check_versions): Use the new function.
28416 2013-08-26  Simon Josefsson  <simon@josefsson.org>
28418         gc: support HMAC-SHA256 and HMAC-SHA512.
28419         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
28420         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
28421         functions.
28422         (gc_hmac_md5): Use symbolic constant.
28423         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
28424         (gc_hmac_sha256, gc_hmac_sha512): New functions.
28425         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
28426         * m4/sha256.m4: Protect against empty expansion.
28427         * m4/sha512.m4: Likewise.
28428         * lib/hmac-sha256.c: New file.
28429         * lib/hmac-sha512.c: Likewise.
28430         * m4/gc-hmac-sha256.m4: Likewise.
28431         * m4/gc-hmac-sha512.m4: Likewise.
28432         * m4/gc-sha256.m4: Likewise.
28433         * m4/gc-sha512.m4: Likewise.
28434         * modules/crypto/gc-hmac-sha256: Likewise.
28435         * modules/crypto/gc-hmac-sha256-tests: Likewise.
28436         * modules/crypto/gc-hmac-sha512: Likewise.
28437         * modules/crypto/gc-hmac-sha512-tests: Likewise.
28438         * modules/crypto/hmac-sha256: Likewise.
28439         * modules/crypto/hmac-sha256-tests: Likewise.
28440         * modules/crypto/hmac-sha512: Likewise.
28441         * modules/crypto/hmac-sha512-tests: Likewise.
28442         * tests/test-gc-hmac-sha256.c: Likewise.
28443         * tests/test-gc-hmac-sha512.c: Likewise
28444         * tests/test-hmac-sha256.c: Likewise.
28445         * tests/test-hmac-sha512.c: Likewise
28447 2013-08-24  Daiki Ueno  <ueno@gnu.org>
28449         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
28450         of AC_CHECK_DECLS.
28452 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28454         selinux-at: omit unnecessary include
28455         * lib/selinux-at.c: Don't include dosname.h; not needed, since
28456         this source file doesn't use its macros, and subsidiary files that
28457         use the macros already include it.
28459 2013-08-21  Eric Blake  <eblake@redhat.com>
28461         d-ino: avoid false negative on symlink
28462         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
28463         Reported by Stephane Chazelas.
28465 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
28467         bootstrap: port to OpenBSD sed
28468         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
28469         does not interpret `-' as a file argument to mean stdin.
28471 2013-08-15  Eric Blake  <eblake@redhat.com>
28473         warnings: minor optimization
28474         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
28476         warnings: check -Wfoo rather than -Wno-foo
28477         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
28478         -Wno-, test if the compiler recognizes the positive form instead.
28480 2013-08-15  Karl Berry  <karl@gnu.org>
28482         * config/srclist-update: add option "doclicense" to placate
28483         pulling *.texi files from Emacs.  Write terse usage
28484         documentation at the top.
28486 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
28488         xvasprintf-tests: port to GCC with hardening flags
28489         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
28490         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
28491         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
28493 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
28495         fpending: port to recent Cygwin change to stdio_ext.h
28496         Reported by LRN in
28497         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
28498         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
28499         just declare __fpending unless it's a macro.
28500         A duplicate decl shouldn't hurt.
28501         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
28502         call compiles and links, instead of separately checking for
28503         decl and lib function.
28504         * modules/fpending (configure-ac):
28505         Adjust to fpending.m4's renaming of shell variable.
28507 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28509         sys_time: port to OpenBSD
28510         * lib/sys_time.in.h: Simply delegate to the system's header
28511         in the BSDish cases as well.  Problem reported by Mike Miller in
28512         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
28513         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
28514         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
28515         wider than time_t.
28517 2013-08-09  Pádraig Brady  <P@draigBrady.com>
28519         bootstrap: support checksum utils having -c but not --status
28520         * build-aux/bootstrap: Only look for sha1sum if updating po files.
28521         Add sha1 to the list of supported checksum utils since it's now
28522         supported through adjustments below.
28523         (update_po_files): Remove the use of --status
28524         in a way that will suppress all error messages, but since this is
28525         only used to minimize updates, it shouldn't cause an issue.
28526         Exit early if there is a problem updating the po file checksums.
28527         (find_tool): Remove the check for --version support as this
28528         is optional as per commit 86186b17.  Don't even check for the
28529         presence of the command as if that is needed, it's supported
28530         through configuring prerequisites in bootstrap.conf.
28531         Prompt that when a tool isn't found, one can define an environment
28532         variable to add to the hardcoded search list.
28534 2013-08-05  Jim Meyering  <meyering@fb.com>
28536         regex: port to non-glibc/lock-using systems
28537         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
28538         system with GNULIB_LOCK would fail due to absence of the
28539         included "glthread/lock.h".  This would affect any package
28540         for which the "lock" module is used only by the regex module,
28541         and not explicitly used.
28542         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
28543         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
28544         Add a dependency on the "lock" module.
28546 2013-07-20  Daiki Ueno  <ueno@gnu.org>
28548         localecharset: make locale_charset thread-safe on Mac OS X
28549         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
28550         instead of MB_CUR_MAX.
28552 2013-07-20  Daiki Ueno  <ueno@gnu.org>
28554         gettext: update to version 0.18.3
28555         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
28556         require AC_PROG_SED to allow user to specify custom sed command when
28557         generating en@quot PO file.
28559 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
28561         bootstrap: use correct source when copying build-aux files
28562         * build-aux/bootstrap (gnulib_extra_files): This variable is
28563         relative to upstream gnulib layout, not downstream.
28565 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
28567         tmpdir: fix bug in VMS port
28568         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
28569         See Steven M. Schweda in
28570         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
28572 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
28574         tmpdir: port to VMS, to // != /, and to long dirs
28575         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
28576         __secure_getenv, so that we're more like the glibc version.
28577         All uses changed.
28578         (path_search): Don't put slash after directory if __VMS.
28579         Problem reported by Steven M. Schweda in
28580         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
28581         Simplify code to add slash; no need for a loop.
28582         Do not remove trailing slash from "//".
28583         Do not assume dlen <= INT_MAX.
28585 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
28587         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
28588         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
28589         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
28590         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
28592         accept4, dup3, pipe2: port to Cygwin
28593         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
28594         * lib/accept4.c (accept4) [O_BINARY]:
28595         * lib/dup3.c (dup3) [O_BINARY]:
28596         * lib/pipe2.c (pipe2) [O_BINARY]:
28597         Use set_binary_mode, not setmode.
28598         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
28599         * modules/binary-io (Depends-on): Remove module indicator.
28600         These last two bits undo the previous change to pipe2 and binary-io.
28602 2013-07-09  Pádraig Brady  <P@draigBrady.com>
28604         mountlist: add support for deallocating returned list entries
28605         * lib/mountlist.c (free_mount_entry): A new exported function
28606         to deallocate a mount list entry.
28607         (read_file_system_list): Refactor to use the new deallocation function.
28608         Suggested by Anton Ovchinnikov.
28610 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
28612         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
28613         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
28614         * lib/stdalign.in.h (_Alignas, _Alignof):
28615         Port to FreeBSD 9.1, and to C11 and C++11.
28616         (_Alignas): Also support ICC.
28617         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
28618         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
28620 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
28622         fnmatch: don't goto over declaration
28623         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
28624         undefined behavior for goto over a declaration.
28625         Problem reported by Charlie Brown in
28626         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
28628         pipe2: decouple from binary-io a bit
28629         This is for Emacs, which needs pipe2 but not binary-io.
28630         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
28631         * modules/binary-io (Depends-on): Add module indicator.
28633 2013-07-03  Eric Blake  <eblake@redhat.com>
28635         mgetgroups: relax license to LGPLv2+
28636         * modules/getugroups (License): Change from GPLv3+.
28637         * modules/mgetgroups (License): Likewise.
28638         * modules/getgroups (License): Change from LGPLv3+.
28640         xalloc-oversized: relax license to LGPLv2+
28641         * modules/xalloc-oversized (License): Change from GPLv3+.
28643         nproc: relax license to LGPLv2+
28644         * modules/nproc (License): Change from LGPLv3+.
28646         bootstrap: honor --no-git
28647         * build-aux/bootstrap: Don't even try to use git when user is
28648         pointing to a static checkout.
28650 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
28652         ignore-value: port to gcc -pedantic
28653         * lib/ignore-value.h (ignore_value):
28654         Port to gcc -pedantic, by using __extension__.
28655         Reindent as per usual gnulib style nowadays.
28656         Simplify GCC version check.
28658 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
28660         extern-inline: port to gcc -std=c89
28661         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
28662         Do not use __gnu_inline__ if pedantic and pre-C99.
28664 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
28666         doc: document extern-inline
28667         * doc/extern-inline.texi: New file.
28668         * doc/gnulib.texi (alloca-opt): Include it.
28669         * m4/extern-inline.m4: Move some comments to documentation,
28670         and others closer to what they describe.
28672         doc: chatter less
28673         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
28674         (updated-stamp): Use it.  This causes 'make' to output just
28675         one file name rather than zillions.
28677         fflush, fseeko: port to musl cross-compiles
28678         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
28679         on some implementation that (1) is not known to be buggy,
28680         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
28681         cross-compiled to so we can't easily check for lack of
28682         conformance.  This is for cross-compiling to musl.
28683         Reported by Rich Felker in
28684         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
28685         * m4/fclose.m4 (gl_FUNC_FCLOSE):
28686         * m4/fflush.m4 (gl_FUNC_FFLUSH):
28687         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
28688         Adjust to above change.
28689         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
28690         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
28691         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
28692         known not to work, or unknown.
28694 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
28696         msvc-inval: port to mingw-w64
28697         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
28698         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
28699         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
28701 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
28703         getcwd-lgpl: port to Tru64
28704         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
28705         Problem reported by Steven M. Schweda in
28706         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
28708         tests: port large-fd POSIX spawn tests to OS X
28709         Problem reported by Daiki Ueno in
28710         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
28711         * tests/test-posix_spawn_file_actions_addclose.c:
28712         * tests/test-posix_spawn_file_actions_adddup2.c:
28713         * tests/test-posix_spawn_file_actions_addopen.c:
28714         Include <limits.h>, for OPEN_MAX, if available.
28715         (big_fd): New static function.
28716         (main): Use it.
28718 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
28720         tests/nap.h: use an adaptive delay to avoid ctime update issues
28721         The recent change in nap.h (5191133e) decreased the probability of lost
28722         races to about a third, however such problems could still be observed
28723         in virtual machines and openSUSE's OBS.
28724         Before, nap() detected the needed time once empirically and then used
28725         that delay (together with a small correction multiplier) in further
28726         calls.  This problem has been reported and discussed several times,
28727         including guesses about possible kernel issues:
28728         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
28729         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
28730         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
28731         http://bugs.gnu.org/12820
28732         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
28733         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
28734         Now, nap() avoids the race alltogether by verifying on a reference
28735         file whether a timestamp difference has happened.
28736         * tests/nap.h (nap_fd): Define file descriptor variable for the
28737         witness file.
28738         (nap_works): Change return value to bool.  Change passing
28739         the old file's status by value instead of by reference as this function
28740         does no longer update that timestamp; rename the function argument from
28741         st to old_st.  Remove the local variables cdiff and mdiff because that
28742         function now returns true/false instead of the precise delay.
28743         (guess_delay): Remove function.
28744         (clear_tmp_file): Add new function to close and unlink the witness file.
28745         (nap): Instead of re-using the delay which has been calculated during
28746         the first call, avoid the race by actually verifying that a timestamp
28747         difference can be observed on the current file system.  Use an adaptive
28748         approach for the delay to minimize execution time.  Assert that the
28749         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
28750         = 2^31 - 1 = 2.1s.
28751         Use atexit to call clear_tmp_file when the process terminates.
28753 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
28755         sig2str: port to C++
28756         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
28757         Reported by Daniel J Sebald in
28758         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
28760 2013-05-30  Eric Blake  <eblake@redhat.com>
28762         docs: mention cygwin shortcoming in <sys/un.h>
28763         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
28765         vasnprintf: silence mingw compiler warning
28766         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
28768 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
28770         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
28771         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
28772         This fixes a porting bug I recently reintroduced in regex, and
28773         some other instances that I discovered while testing the fix.
28774         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
28775         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
28776         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
28777         with an empty argument if this is a pedantic pre-C99 GCC.
28778         * lib/verify.h: Do not use _Static_assert if this is a pedantic
28779         pre-C11 GCC.
28781         regex: adapt to locking regime instead of depending on pthread
28782         Instead of depending on pthread, adapt to whatever thread
28783         modules are in use.  Problem reported by Ludovic Courtès in
28784         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
28785         and by Mats Erik Andersson in
28786         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
28787         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
28788         Support either the 'lock' module, or the 'pthread' module, or
28789         no module.
28790         (lock_lock, lock_unlock): New macros.
28791         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
28792         * modules/lock, modules/pthread (configure.ac): Add module indicator.
28793         * modules/regex (Depends-on): Remove pthread.
28795 2013-05-22  Eric Blake  <eblake@redhat.com>
28797         getgroups: document portability issues
28798         * doc/glibc-functions/initgroups.texi (initgroups): Mention
28799         multithread safety.
28800         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
28801         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
28802         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
28803         getugroups.
28804         * doc/posix-functions/getgroups.texi (getgroups): Mention
28805         multithread safety and mgetgroups.
28807 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
28809         test-lchown, test-chown: also skip test if chown fails with EPERM
28810         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
28811         skip this test, to handle FAT file systems.
28812         * tests/test-chown.h (test_chown): Likewise.
28814 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28816         regex: fix dfa race in multithreaded uses
28817         Problem reported by Ludovic Courtès in
28818         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
28819         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
28820         New macros.  All uses of __libc_lock_define, __libc_lock_init
28821         changed to use the first two of these.
28822         (__libc_lock_lock, __libc_lock_unlock): New macros, for
28823         non-glibc platforms.
28824         (struct re_dfa_t): Define the lock unconditionally.
28825         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
28826         '#ifdef _LIBC"s.
28827         * modules/regex (Depends-on): Add pthread, if we use the
28828         included regex.
28830         * lib/regcomp.c: Do actions that are not needed for glibc,
28831         but may be needed elsewhere.
28832         (regfree, re_compile_internal): Destroy the lock.
28833         (re_compile_internal): Check for lock-initialization failure.
28835         malloca: port to compilers that reject size-zero arrays
28836         This fixes a bug introduced in my previous patch.
28837         * lib/malloca.c (struct preliminary_header): Use an int
28838         rather than a character array of size int; that's simpler.
28839         (struct header): Remove, replacing with ...
28840         (union header): New type.  This avoids the need for declaring a
28841         character array of size zero, which is not allowed on some platforms.
28842         All uses changed.
28844 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
28846         parse-datetime, tests: don't use "string" + int
28847         Recent versions of 'clang' complain about C source code that
28848         uses expressions of the form '"string literal" + integer',
28849         I guess on the theory that it's confusing for readers who are
28850         used to C++.  On those grounds I suppose it's OK to make this
28851         minor style change.
28852         * lib/parse-datetime.y (parse_datetime):
28853         * tests/test-fchdir.c (main):
28854         * tests/test-snprintf-posix.h (test_function):
28855         * tests/test-snprintf.c (main):
28856         * tests/test-vasnprintf-posix.c (test_function):
28857         * tests/test-vasnprintf.c (test_function):
28858         * tests/test-vsnprintf.c (main):
28859         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
28860         Rewrite '"str" + E' to '&"str"[E]'.
28862 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
28864         argmatch: port to C++
28865         * lib/argmatch.h [__cplusplus]: Add extern "C".
28867         argp: typo fix
28868         * lib/argp-help.c: Typo in comment.
28870 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
28872         manywarnings: update for GCC 4.8.0
28873         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
28874         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
28875         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
28876         -Wmissing-noreturn, as they are duplicates of other warnings.
28877         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
28878         was documented to be flaky in earlier versions of GCC.
28880         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
28881         * tests/test-spawn.c (main):
28882         * tests/test-sys_socket.c (main):
28883         * tests/test-sys_wait.c (main):
28884         Don't have a switch value that isn't covered by a case.
28886         getaddrinfo-tests: port --enable-gcc-warnings to clang
28887         * tests/test-getaddrinfo.c (simple):
28888         Avoid casts from looser to stricter-aligned pointers.
28890         thread: port --enable-gcc-warnings to clang
28891         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
28892         Include <signal.h>, to pacify a warning about pthread_sigmask.
28894         stdio: use __REDIRECT for fwrite, fwrite_unlocked
28895         * lib/stdio.in.h (fwrite):
28896         When working around bug 11959, use __REDIRECT rather than '#define
28897         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
28898         fix the -Wunused-value issue with clang, and it works with GCC too.
28899         Problem with targeting reported by Eric Blake in
28900         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
28901         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
28902         debugging the fwrite issue.
28904         stdio: port --enable-gcc-warnings to clang
28905         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
28906         since the GCC workaround for fwrite does not pacify clang.
28908         sig2str: port --enable-gcc-warnings to clang
28909         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
28911         obstack: port --enable-gcc-warnings to clang
28912         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
28913         Avoid casts from looser to stricter-aligned pointers.
28915         memchr2: port --enable-gcc-warnings to clang
28916         * lib/memchr2.c (memchr2):
28917         Avoid casts from looser to stricter-aligned pointers.
28919         mbsstr: port --enable-gcc-warnings to clang
28920         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
28921         Avoid casts from looser to stricter-aligned pointers.
28923         malloca: port --enable-gcc-warnings to clang
28924         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
28925         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
28927         inttostr: port --enable-gcc-warnings to clang
28928         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
28930         warnings: port to clang
28931         Problem reported by Daniel P. Berrange via Eric Blake in
28932         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
28933         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
28934         (gl_WARN_ADD): Use it.
28936 2013-05-11  Jim Meyering  <meyering@fb.com>
28938         quotearg: do not read beyond end of buffer
28939         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
28940         end of an ARG for which no length was specified.  With an N-byte
28941         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
28942         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
28943         via coreutils' misc/sort-debug-keys.sh test and detected by running
28944         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
28945         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
28946         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
28947         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
28948         characters correctly."
28950 2013-05-11  Daiki Ueno  <ueno@gnu.org>
28952         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
28953         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
28954         compilation target is Mac OS X 10.6.
28955         Problem reported by parafin and Andoni Morales in
28956         <http://savannah.gnu.org/bugs/?37844> and
28957         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
28959 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
28961         mkdir-p: remove assumptions about umask and mode
28962         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
28963         umask is 0, or that MODE is a subset of MODE_BITS.
28965 2013-05-10  Eric Blake  <eblake@redhat.com>
28967         maint.mk: catch more abuse of HAVE_DECL in syntax-check
28968         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
28970 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
28972         deps: require Automake >= 1.9.6 in generated Makefile fragments
28974         That is the same minimal version required in the DEPENDENCIES file.
28975         Moreover, the old code generated a requirement of Automake >= 1.5,
28976         and that is an insanely outdated version.
28978         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
28979         * tests/havelib/rpathlx/Makefile.am: Likewise.
28980         * tests/havelib/rpathly/Makefile.am: Likewise.
28981         * tests/havelib/rpathlyx/Makefile.am: Likewise.
28982         * tests/havelib/rpathlz/Makefile.am: Likewise.
28983         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
28984         * tests/havelib/rpathx/Makefile.am: Likewise.
28985         * tests/havelib/rpathy/Makefile.am: Likewise.
28986         * tests/havelib/rpathz/Makefile.am: Likewise.
28988 2013-05-08  Eric Blake  <eblake@redhat.com>
28990         bootstrap: AC_INIT may have more than four parameters
28991         * build-aux/bootstrap (extract_package_name): Correctly extract
28992         non-empty tarname field.  Avoid range in regex.
28993         Based on a report by Sami Kerola <kerolasa@iki.fi>.
28995 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28997         qacl: port to MS-Windows port of GNU Emacs
28998         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
28999         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
29000         port of GNU Emacs.  Problem reported by Eli Zaretskii in
29001         <http://bugs.gnu.org/14295#14>.
29003 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
29005         acl: include quote.h
29006         * lib/copy-acl.c: Include quote.h.
29007         * lib/set-acl.c: Likewise.
29009 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
29011         fchownat, renameat, unlinkat: update statat dependencies
29012         These modules use statat and lstatat, not fstatat; so depend on
29013         the statat module, which was split out recently from fstatat.
29014         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
29015         * modules/renameat: Likewise.  Also delete fstat.
29016         URL: http://bugs.gentoo.org/468790
29018 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
29020         Assume gnulib is checked out from Git, not CVS
29022         In fact, access to the gnulib repository through CVS has been
29023         disabled, or more precisely, got broken and was never restored; see:
29024         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
29026         Note that support for CVS is not removed completely and unthinkingly
29027         by this change: only support for CVS checkouts of gnulib itself is
29028         removed.  For example, the 'bootstrap' script still cater to .cvsingore
29029         files and CVS directories, for the benefit of those poor gnulib clients
29030         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
29032         * gnulib-tool: Simplify accordingly.
29033         * posix-modules: Likewise.
29034         * MODULES.html.sh: Likewise.
29035         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
29036         repository.
29037         * doc/gnulib-intro.texi: Likewise.
29038         * doc/gnulib-readme.texi: Likewise.
29039         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
29040         sample '.gitignore' file rather than a sample '.cvsignore'.
29041         * NEWS: Update.
29042         * m4/extensions.m4: While at it, remove a comment mistakenly referring
29043         to "CVS Autoconf" rather than "git Autoconf".
29045 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
29047         utimensat-tests, etc.: try to fix some races
29048         Problem reported by Bernhard Voelker in
29049         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
29050         I don't know whether this patch fixes that race condition, but it
29051         fixes *some* race conditions, so it should be a win.
29052         * modules/chown-tests (Depends-on):
29053         * modules/fchownat-tests (Depends-on):
29054         * modules/fdutimensat-tests (Depends-on):
29055         * modules/futimens-tests (Depends-on):
29056         * modules/lchown-tests (Depends-on):
29057         * modules/stat-time-tests (Depends-on):
29058         * modules/utimens-tests (Depends-on):
29059         * modules/utimensat-tests (Depends-on):
29060         Depend on nanosleep, not usleep.
29061         * modules/chown-tests (test_chown_LDADD):
29062         * modules/lchown-tests (test_lchown_LDADD):
29063         * modules/stat-time-tests (test_stat_time_LDADD):
29064         New macro.
29065         * modules/fchownat-tests (test_fchownat_LDADD):
29066         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
29067         * modules/futimens-tests (test_futimens_LDADD):
29068         * modules/utimens-tests (test_utimens_LDADD):
29069         * modules/utimensat-tests (test_utimensat_LDADD):
29070         Add $(LIB_NANOSLEEP).
29071         * modules/stat-time-tests (Files): Add tests/nap.h.
29072         * tests/nap.h: Include <limits.h>, for INT_MAX.
29073         (lt_mtime): Remove.
29074         (diff_timespec): New function.
29075         (get_stat): Rename from get_mtime.  All callers changed.
29076         (nap_works): Determine the needed delay by inspecting the
29077         file system's timestamp jumps; this should be more reliable.
29078         Look at both mtime and ctime, and take the maximum of the two jumps.
29079         (nap_works, guess_delay):
29080         Return a nanosecond count, not a microsecond count.
29081         All callers changed.
29082         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
29083         failure.
29084         (nap): Multiply the guess by 1.125, to accommodate the case where
29085         the file system's clock is a bit slower than nanosleep's clock.
29086         * tests/test-stat-time.c (BASE): New macro.
29087         Include nap.h.
29088         (nap): Remove; nap.h now defines this.  This removes a duplicate
29089         implementation of 'nap'.
29091         utimens, utimensat: work around Solaris UTIME_OMIT bug
29092         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
29093         Linux kernel 2.6.32 does.  Work around it in the same way.
29094         * doc/posix-functions/futimens.texi (futimens):
29095         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
29096         * lib/utimens.c (fdutimens, lutimens):
29097         * lib/utimensat.c (rpl_utimensat): Work around the bug.
29099         gettext: now it's your responsibility to add -I$(top_builddir)/intl
29100         Formerly, it was your responsibility to do this for all Makefile.ams
29101         other than Gnulib's.  Now it's your responsibility to do it for
29102         Gnulib's Makefile.am, too.
29103         * NEWS: Document this.
29104         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
29106         acl: include errno.h to get errno
29107         Reported by Daiki Ueno in
29108         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
29109         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
29111 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
29113         tests: don't assume getdtablesize () <= 10000000
29114         * modules/cloexec-tests:
29115         * modules/dup2-tests:
29116         * modules/dup3-tests:
29117         * modules/nonblocking-tests:
29118         * modules/posix_spawn_file_actions_addclose-tests:
29119         * modules/posix_spawn_file_actions_adddup2-tests:
29120         * modules/posix_spawn_file_actions_addopen-tests:
29121         * modules/unistd-safer-tests:
29122         Depend on the getdtablesize module.
29123         * tests/test-cloexec.c:
29124         * tests/test-dup-safer.c:
29125         * tests/test-dup2.c:
29126         * tests/test-dup3.c:
29127         * tests/test-fcntl.c:
29128         * tests/test-nonblocking.c:
29129         * tests/test-posix_spawn_file_actions_addclose.c:
29130         * tests/test-posix_spawn_file_actions_adddup2.c:
29131         * tests/test-posix_spawn_file_actions_addopen.c:
29132         Don't assume getdtablesize () <= 10000000.
29134 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
29136         extern-inline: work around bug in Sun c99
29137         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
29138         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
29140 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
29142         qacl: new module, broken out from the acl module
29143         This is for GNU Emacs, which wants the acl functions but does
29144         not want 'error' invoked when they fail.
29145         * lib/acl-internal.h: Do not include error.h, quote.h.
29146         (ENOSYS, ENOTSUP): Remove; no longer needed.
29147         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
29148         * lib/acl.h: Include <stdbool.h>.
29149         (acl_errno_valid): New function.
29150         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
29151         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
29152         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
29153         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
29154         (ACL_INTERNAL_INLINE): Remove; no longer needed.
29155         * lib/file-has-acl.c (file_has_acl):
29156         * lib/qcopy-acl.c (qcopy_acl):
29157         * lib/qset-acl.c (qset_acl):
29158         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
29159         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
29160         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
29161         lib/file-has-acl.c, m4/acl.m4 to qacl module.
29162         Add lib/set-acl.c.
29163         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
29164         Add qacl.
29165         (configure.ac): Move gl_FUNC_ACL to qacl module.
29166         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
29167         Rename set-mode-acl.c to set-acl.c.
29168         * lib/acl-errno-valid.c: New file.
29169         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
29170         copy_acl function remains in copy-acl.c.
29171         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
29172         (_): Remove; not needed.
29173         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
29174         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
29175         * modules/qacl: New file, moved from the old modules/acl.
29176         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
29177         Remove set-mode-acl.c, copy-acl.c.
29178         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
29180         alignof, intprops, malloca: port better to IBM's C compiler
29181         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
29182         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
29183         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
29185 2013-04-25  Daiki Ueno  <ueno@gnu.org>
29187         wctype-h: fix gettext link error on mingw
29188         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
29189         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
29190         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
29191         rpl_towupper and rpl_towupper.
29193 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
29195         regex-tests, regex: allow glibc re_search behavior
29196         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
29197         re_search input data to make the multi-character collating element
29198         in it clearly visible, and treat re_search return code 0 as valid.
29199         * m4/regex.m4 (gl_REGEX): Likewise.
29201 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
29203         stdalign: doc fix
29204         * doc/posix-headers/stdalign.texi (stdalign.h):
29205         Gnulib doesn't support '_Alignof expr'.
29207 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
29209         stdalign: port to stricter ISO C11
29210         ISO C11 says that _Alignof's operand must be a parenthesized type.
29211         Problem reported by Eli Zaretskii in
29212         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
29213         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29214         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
29216 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
29218         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
29219         Problem reported by Marco Atzeri in
29220         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
29221         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
29222         Simply delegate to the system <sys/select.h> in this case too.
29223         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
29224         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
29225         be needed on Solaris either.
29226         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
29227         Simply delegate to the system <sys/time.h> in this case.
29229 2013-03-19  Karl Berry  <karl@gnu.org>
29231         * build-aux/gnupload: check for erroneous (with gnupload) use of
29232         ftp-upload.gnu.org, tweak help.
29234 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29236         copy-file, rpmatch: fix problems found by cppcheck
29237         Reported by Arno Onken in
29238         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
29239         * lib/rpmatch.c (try): Fix memory leak.
29240         * lib/copy-file.c: Include "ignore-value.h".
29241         (qcopy_file_preserving): Ignore chown value.
29242         * modules/copy-file (Depends-on): Add ignore-value.
29244 2013-01-27  Jim Meyering  <jim@meyering.net>
29246         prefix-gnulib-mk: give better diagnostics
29247         * build-aux/prefix-gnulib-mk: Don't just "die".
29248         Give better diagnostics upon failure.
29250 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
29252         putenv: port to Solaris 10
29253         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
29254         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
29255         is not what is wanted here.
29256         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
29257         declaration, not for its existence.
29259 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
29261         mktime: fix configure typo
29262         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
29264 2013-03-12  Eric Blake  <eblake@redhat.com>
29266         regex-tests: skip UTF-8 test on mingw
29267         * modules/regex-tests (Depends-on): Add localcharset.
29268         * tests/test-regex.c (main): Use it to skip test on mingw.
29270 2013-03-11  Eric Blake  <eblake@redhat.com>
29272         tests: make it easier to bypass alarm time in debugger
29273         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
29274         * tests/test-memmem.c (main): Likewise.
29275         * tests/test-passfd.c (main): Likewise.
29276         * tests/test-ptsname.c (main): Likewise.
29277         * tests/test-ptsname_r.c (main): Likewise.
29278         * tests/test-strcasestr.c (main): Likewise.
29279         * tests/test-strstr.c (main): Likewise.
29281         regex: port to mingw's recent addition of undeclared alarm
29282         * doc/posix-functions/alarm.texi (alarm): Document that alarm
29283         exists but still doesn't work in newer mingw.
29284         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
29285         not existence.  Ensure SIGALRM is not trapped.
29286         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
29287         * m4/regex.m4 (gl_REGEX): Likewise.
29288         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
29289         * tests/test-regex.c (main): Use correct probe for alarm.
29291         putenv: avoid compilation warning on mingw
29292         * lib/putenv.c (_unsetenv): Protect variable declaration.
29293         (putenv): Fix indentation.
29295 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
29297         unistd: don't prevent Tru64 Unix from using gnulib strtod.
29298         * lib/unistd.in.h: be careful not to include un-needed system
29299         stdlib.h from here, because that prevents gnulib stdlib.h from
29300         defining rpl_strtod correctly.
29302 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
29304         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
29305         changesets, but for the 'precision 0' test.
29306         * tests/test-vasprintf-posix.c (test_function): Don't insist on
29307         round-to-even, since POSIX says rounding is implementation-defined
29308         and OS X 10.8.2 rounds 1.51 to 1 here.
29310         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
29311         changeset.
29312         * tests/test-vasprintf-posix.c (test_function): Don't insist on
29313         round-to-even, since POSIX says rounding is implementation-defined
29314         and OS X 10.8.2 rounds 1.5 to 1 here.
29316 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
29318         vasnprintf-posix-tests: allow rounding 1.5 to 1
29319         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
29320         round-to-even, since POSIX says rounding is implementation-defined
29321         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
29322         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
29324         bootstrap: port to FreeBSD
29325         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
29326         that treat '--' differently.  Reported by Mats Erik Andersson in
29327         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
29329 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
29331         regex: rename remaining __attribute calls to __attribute__.
29332         2012-02-25 changed definition of __attribute, but left some uses
29333         unchanged, preventing compilation of regex module on most non-gcc
29334         environments.
29335         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
29336         (lookup_collation_sequence_value, build_range_exp)
29337         (build_collating_symbol): Set attributes with newly renamed
29338         __attribute__ decorator.
29339         * lib/regex_internal.c (re_string_peek_byte_case)
29340         (re_node_set_compare, re_node_set_contains): Likewise.
29341         * lib/regexec.c (acquire_init_state_context): Likewise.
29343 2013-03-06  Bruno Haible  <bruno@clisp.org>
29345         execute: Revert last change, but use a different condition.
29346         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
29347         on Windows.
29349 2013-03-05  Eric Blake  <eblake@redhat.com>
29351         execute: drop dead code
29352         * lib/execute.c (nonintr_close, nonintr_open): Delete.
29354 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
29356         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
29357         * m4/non-recursive-gnulib-prefix-hack.m4
29358         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
29359         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
29360         <http://bugs.gnu.org/10305#237>.
29362 2013-03-04  Eric Blake  <eblake@redhat.com>
29364         test-getsockopt: avoid compiler warning
29365         * tests/test-getsockopt.c (includes): Ensure close is declared.
29367 2013-03-02  Bruno Haible  <bruno@clisp.org>
29369         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
29370         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
29372 2013-03-02  Bruno Haible  <bruno@clisp.org>
29374         gettext: Update to version 0.18.2.
29375         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
29376         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
29377                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
29379 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
29381         regex: merge patches from libc
29383         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
29384         * lib/regex_internal.h (__attribute__): Rename from __attribute.
29385         All uses changed.
29386         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
29387         (re_string_wchar_at, re_string_elem_size_at):
29388         Mark function as possibly unused.
29390         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
29391         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
29392         elements compare against the byte sequence of it, not its name.
29394 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
29396         putenv: port better to native Windows
29397         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
29398         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
29399         (_unsetenv): Use _putenv if available.
29400         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
29401         a bit less likely to cause damage.
29402         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
29403         Fix the wrong value with SetEnvironmentVariable.
29404         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
29405         code better.
29407 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29409         regex: ignore old-style-definition warnings
29410         * lib/regex.c: Add pragma to ignore these warnings.
29411         Problem reported for GNU tar by Pavel Raiskup.
29413 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
29415         getcwd: support coreutils better
29416         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
29417         but this might not be correct in coreutils, which disables
29418         the raw decl checks.  Problem reported by Nagendra in
29419         <http://bugs.gnu.org/10305#192>.
29420         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
29421         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
29422         Test the getcwd function, not any macro, since getcwd.c wants the
29423         function.
29424         * m4/getcwd.m4 (gl_FUNC_GETCWD):
29425         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
29426         compile, as might happen if there's a macro but no function.
29428         strtod: support coreutils better
29429         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
29430         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
29431         disables the raw decl checks.  This assumes there is an underlying
29432         strtod, but that's a safe assumption these days.
29433         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
29435         mountlist: port to HP NonStop
29436         Reported by Joachim Schmitz in
29437         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
29438         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
29439         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
29441 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
29443         extern-inline: avoid compilation error with HP-UX cc
29444         Reported by Richard Lloyd in
29445         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
29446         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
29447         Suppress extern inline with HP-UX cc.  This should be safe,
29448         though it may hurt performance.  Perhaps someone with some HP-UX
29449         experience can come up with a higher-performance fix.
29451 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
29453         putenv: fix heap corruption with mixed putenv/_putenv
29454         Problem reported by Michael Goffioul in
29455         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
29456         * lib/putenv.c (putenv) [HAVE__PUTENV]:
29457         Rely on _putenv to allocate the new environment.
29458         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
29459         * modules/putenv (configure.ac): Use it.
29461 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
29463         unsetenv etc.: port to Solaris 11 + GNU Emacs
29464         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
29465         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
29466         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
29467         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
29468         idea but is too painful to fix right now), and without this gnulib
29469         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
29470         compiling unsetenv.c on Solaris 11.  Fix the problem for
29471         unsetenv.c, and fix other similar occurrences.
29473 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
29475         secure_getenv: fix C++ declaration typo
29476         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
29477         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
29478         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
29480 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
29482         careadlinkat: stop exporting careadlinkatcwd
29483         Only Emacs used it directly, and Emacs no longer needs it.
29484         * NEWS: Document this simplification.
29485         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
29486         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
29487         for readlink.
29488         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
29489         Don't include stdlib.h; no longer needed.
29490         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
29491         * lib/relocwrapper.c: Adjust comment to match new dependencies.
29492         * modules/areadlink (Depends-on): Add readlink.
29493         (Maintainer): Add self.
29494         * modules/careadlinkat (Depends-on): Remove readlink.
29496         extensions: port better to HP-UX
29497         This is merged from git Autoconf.
29498         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
29499         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
29500         so that it's compatible with the value used when compiling.
29502         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
29503         Problem reported by Mats Erik Andersson in
29504         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
29505         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
29506         openpty function exists, not merely when we intend to replace it.
29507         This corrects the 2013-01-31 patch, which mistakenly defined
29508         HAVE_OPENPTY even on hosts that lacked it.
29510 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
29512         secure_getenv: fix include typo
29513         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
29515         secure_getenv: port better to FreeBSD and Solaris
29516         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
29517         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
29518         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
29519         This works better on BSDish platforms.
29520         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
29521         Test for issetugid if __secure_getenv is missing.
29523 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
29525         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
29526         Some of these changes are merged in from git Autoconf.
29527         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
29528         When deciding whether to define _XOPEN_SOURCE, inspect the
29529         preprocessor macro __hpux instead of the more-heavyweight
29530         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
29531         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
29532         as the key for __EXTENSIONS__.
29534         unistd: avoid namespace pollution on non-glibc systems
29535         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
29536         This avoids namespace pollution on non-glibc systems, by causing
29537         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
29538         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
29539         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
29541 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
29543         tmpdir: use secure_getenv
29544         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
29545         Define to secure_getenv, not getenv.
29546         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
29547         as that's now secure_getenv's job.
29548         * modules/tmpdir (Depends-on): Add secure_getenv.
29550         tempname: use secure_getenv
29551         * lib/tempname.c (__secure_getenv) [!_LIBC]:
29552         Define to secure_getenv, not getenv.
29553         * modules/tempname (Depends-on):
29554         Add secure_getenv.
29556         secure_getenv: new module
29557         * MODULES.html.sh (Extra functions based on ANSI C 89):
29558         Add secure_getenv.
29559         * doc/glibc-functions/secure_getenv.texi: New file.
29560         * doc/gnulib.texi: Include it.
29561         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
29562         New files.
29563         * lib/stdlib.in.h (secure_getenv): New decl.
29564         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
29565         * modules/stdlib (stdlib.h):
29566         Add secure_getenv checks.
29568 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
29570         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
29571         Reported for OS X 10.8.2 by Assaf Gordon in
29572         <http://bugs.gnu.org/13516>.
29573         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
29574         !HAVE_OPENAT && !HAVE_FDOPENDIR.
29575         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
29576         so that they can be kept in sync more easily.  Avoid PATH_MAX
29577         test on the Hurd.  Sync from test-getcwd.c for errno tests after
29578         mkdir or chdir failure.
29579         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
29580         lib/getcwd.c.
29581         (test_abort_bug): Do not test for the deep directory bug unless we
29582         have openat support.  Avoid PATH_MAX test on the Hurd.
29584         regex-tests, regex: fix bug: memset undeclared
29585         * tests/test-regex.c: Don't include regex.h twice.  Include
29586         string.h, to declare memset.  Christensen's report also mentioned
29587         this issue.
29588         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
29589         test-regex.c, to avoid future problems like this.  Remove
29590         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
29591         twice.
29593         regex-tests: fix link errors on older Solaris
29594         These need to link with @LIBINTL@ to get libintl_gettext.
29595         Problem reported by Tom G. Christensen in
29596         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
29597         * modules/regex-tests (test_regex_LDADD): New macro.
29599 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
29601         regex-tests: new module
29602         * modules/regex-tests, tests/test-regex.c: New files.
29604         regex: fix off-by-one error in configure test
29605         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
29607 2013-01-31  Eric Blake  <eblake@redhat.com>
29609         regex: avoid infinite configure test
29610         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
29612 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
29614         openpty: fix bug where HAVE_OPENPTY wasn't defined
29615         See the thread starting at:
29616         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
29617         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
29618         openpty function exists, not merely when we intend to replace it.
29620 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
29622         sys_time: port to Solaris 2.6
29623         There is a circularity problem on Solaris 2.6, where <time.h> includes
29624         <sys/time.h> for struct timespec.  The include nesting is gnulib
29625         <time.h>, system <time.h>, gnulib <sys/time.h>, system
29626         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
29627         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
29628         <sys/siginfo.h>; the last, innermost file needs struct
29629         timestruc_t, which is defined in <sys/time.h>, which has not been
29630         fully parsed.  Problem reported by Tom G. Christensen in
29631         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
29632         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
29633         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
29634         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
29635         uses split double-inclusion guards.
29637 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
29639         regex: test for buffer overrun
29640         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
29641         for the just-fixed regex bug.
29643 2013-01-29  Andreas Schwab  <schwab@suse.de>
29645         regex: fix buffer overrun in regexp matcher [BZ #15078]
29646         * lib/regexec.c (extend_buffers): Add parameter min_len.
29647         (check_matching): Pass minimum needed length.
29648         (clean_state_log_if_needed): Likewise.
29649         (get_subexp): Likewise.
29651 2013-01-28  Pádraig Brady  <P@draigBrady.com>
29653         mountlist: don't consider "devtmpfs" as dummy
29654         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
29655         as there is storage associcated with it.
29657 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
29659         futimens-tests, utimens-tests: Depend on gettext.
29660         This works around a problem introduced in my 2013-01-12 patch,
29661         which added @LIBINTL@ to these modules.
29662         * modules/futimens-tests (Depends-on):
29663         * modules/utimens-tests (Depends-on): Add gettext.
29665 2013-01-26  Eric Blake  <eblake@redhat.com>
29667         test-getpeername: fix typo
29668         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
29670 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
29672         bootstrap: remove the need for a sorted .gitignore file
29673         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
29674         rename to insert_if_absent(), so that we don't need or generate
29675         a sorted .gitignore file.  We do require a .gitignore with no
29676         existing duplicate entries and enforce that.
29677         (sort_patterns): Remove this function as we now use the simpler
29678         technigue of inserting blacklist entries at the top of the file,
29679         assuming gnulib won't be inserting !whitelist entries.
29681 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
29683         readlinkat: don't depend on gl_FUNC_OPENAT
29684         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
29685         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
29686         renameat.m4, symlinkat.m4; but one thing at a time.
29688         statat: new module, split out from fstatat
29689         GNU Emacs needs the POSIX-specified fstatat, but not the
29690         gnulib-specified statat and lstat.  Split the latter two into a
29691         new module 'statat'.
29692         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
29693         * lib/openat.h, lib/statat.c (STATAT_INLINE):
29694         Rename from FSTATAT_INLINE. All uses changed.
29695         * modules/fstatat (Files): Remove lib/statat.c.
29696         (gl_MODULE_INDICATOR([fstatat])): Remove.
29697         (lib_SOURCES): Remove.
29698         (Maintainer): Add self.
29699         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
29700         * tests/test-fstatat.c (BASE): Don't define if already defined.
29701         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
29703 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
29705         tests: don't assume fd 99 is closed
29706         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
29707         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
29708         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
29709         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
29710         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
29711         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
29712         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
29713         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
29714         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
29715         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
29716         * tests/test-fwrite.c, tests/test-getpeername.c:
29717         * tests/test-getsockname.c, tests/test-getsockopt.c:
29718         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
29719         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
29720         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
29721         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
29722         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
29723         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
29724         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
29725         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
29726         * tests/test-unlinkat.c, tests/test-unlockpt.c:
29727         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
29728         Close file descriptor 99, instead of assuming it's already closed.
29730 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
29732         stpncpy: port to OS X 10.8
29733         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
29734         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
29736 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
29738         unistd: port to recent mingw
29739         * lib/unistd.in.h: Remove special invocation convention for mingw,
29740         which breaks for the latest mingw version.  See John W. Eaton in
29741         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
29743         largefile: port better to Mac OS X 10.5
29744         This patch is backported from Autoconf git.
29745         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
29746         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
29747         with ino_t size being different for configuration time versus
29748         build/run time.  Problem reported by PHO in
29749         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
29751 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
29753         doc: clarify -Werror
29754         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
29755         clarify that it's intended for developers, not for ordinary builds,
29756         and mention --enable-gcc-warnings as one possible use.
29758 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
29760         stdint: fix build with Android's Bionic fox x86
29761         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
29762         was already included as _SSIZE_T_DEFINED_ might also be defined
29763         in include/machine/_types.h, which is included by stdio.h
29765 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29767         net_if-tests: port to Solaris 7 + GCC 3.4.6
29768         Problem reported by Tom G. Christensen in
29769         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
29770         * tests/test-net_if.c (ni): Move to next the code that uses it,
29771         so that it's declared only if needed.
29773 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
29775         net_if-tests: port to older Solaris
29776         Problem reported by Tom G. Christensen in
29777         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
29778         * modules/net_if-tests (NET_IF_LIB): New substitution.
29779         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
29780         (HAVE_IF_NAMEINDEX): New C macro.
29781         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
29783         system-quote-tests: port to older Solaris
29784         Problem reported by Tom G. Christensen in
29785         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
29786         * tests/test-system-quote-child.c (fopen, fread): Undef.
29788         c-xvasprintf etc.: fix link errors on older Solaris
29789         These need to link with @LIBINTL@ to get libintl_gettext.
29790         Problem reported by Tom G. Christensen in
29791         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
29792         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
29793         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
29794         * modules/futimens-tests (test_futimens_LDADD):
29795         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
29797 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
29799         locale: port to Solaris 2.6 and 7 + GNU gettext
29800         * lib/locale.in.h: Just include_next <locale.h> when
29801         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
29802         when combining the localename module with GNU gettext 0.18.2.
29803         Problem reported by Tom G. Christensen in
29804         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
29806 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
29808         stdlib: port to Solaris 2.6
29809         Also, the code worked on Solaris 7 through 9 only by accident.
29810         Problem reported by Tom G. Christensen in
29811         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
29812         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
29813         simply include the system stdlib.h.
29814         * lib/getopt.in.h (__need_system_stdlib_h):
29815         * lib/pthread.in.h (__need_system_stdlib_h):
29816         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
29817         Define when including <stdlib.h>, to avoid problems at least for
29818         the pthread case on Solaris 2.6 and 7.  These .h files can get by
29819         with the system stdlib.h.
29821 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
29823         doc: update main copyright year
29824         * doc/gnulib.texi: Update copyright date.
29826         doc: improve ISO 8601 discussion
29827         * doc/parse-datetime.texi (Combined date and time of day items):
29828         Specify more carefully what formats are supported and what is
29829         done with excess precision.
29831 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
29833         doc: avoid small caps
29834         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
29835         they're more trouble than they're worth.  Suggested by Karl Berry
29836         in <http://bugs.gnu.org/13360>.
29838         regex: conform to strict C
29839         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
29840         From Aharon Robbins.
29842         gnulib-tool: fix incompatibility with autopoint 0.18.2
29843         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
29844         Problem reported by Tom G. Christensen in
29845         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
29847 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
29849         fprintftime: bring back and reword fwrite comment
29850         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
29852         stdio: remove now-unnecessary stdio.c
29853         Since stdio.in.h no longer uses inline functions, we no longer
29854         need to compile the extern versions.
29855         * lib/stdio.c: Remove.
29856         * modules/stdio (Files): Remove lib/stdio.c.
29857         (lib_SOURCES): Remove.
29859         unicodeio: depend on stdio, not ignore-value
29860         * lib/unicodeio.c: Do not include ignore-value.h.
29861         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
29862         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
29864         fprintftime: depend on stdio, not ignore-value
29865         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
29866         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
29867         since the stdio module arranges to silence that warning now.
29868         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
29870 2012-10-04  Simon Josefsson  <simon@josefsson.org>
29872         stdint-tests: Fix expanded-before-required-warning.
29873         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
29875 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
29877         fwrite: silence __wur only for older glibc versions
29878         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
29879         This will help us remove this workaround some time in the far future.
29881 2013-01-03  Eric Blake  <eblake@redhat.com>
29883         fwrite: silence __wur without using inline
29884         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
29885         just gcc, and in a way that avoids inline issues.
29886         * modules/stdio (Depends-on): Drop extern-inline.
29888 2013-01-03  Jim Meyering  <jim@meyering.net>
29890         update-copyright: avoid copyright notice date corruption
29891         Given a sequence of copyright year numbers in which the final
29892         one was a two-digit number that happened to be a substring of
29893         a preceding four-digit year number, we would mistakenly update
29894         the substring (from two- to four-digit) rather than the two-digit
29895         number at the end, which, combined with the addition of the current
29896         4-digit year number would yield two 5-digit year numbers, e.g.,
29897         here, it would convert the first "99" to "1999, 2013" rather than
29898         the final one:
29899           1991, 99
29900           11999, 20131, 1999
29901         * build-aux/update-copyright: Tighten a regexp.
29902         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
29903         Reported by Joseph Myers in
29904         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
29906 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
29908         regex: omit needless signed-pointer casts
29909         * lib/regcomp.c (build_charclass, build_charclass_op):
29910         Use char *, not unsigned char *, for class name and extra.
29911         The char values are always nonnegative so there's no need to
29912         insist on unsigned char * here, and using char * removes the need
29913         for casts.  Reported by Aharon Robbins in
29914         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
29916         regex: support Gawk, which never uses alloca
29917         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
29918         Do not include in this case.  Gawk doesn't supply a substitute
29919         alloca.h and doesn't need one.
29921         regex: port __libc_lock_define usage to C89
29922         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
29923         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
29924         does not conform to C89, as it has an empty macro argument.
29925         Reported by Aharon Robbins in
29926         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
29928 2013-01-01  Eric Blake  <eblake@redhat.com>
29930         maint: update all copyright year number ranges
29931         Run "make update-copyright".
29933         version-etc: bump copyright year reported in --version
29934         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
29936 2012-12-31  Eric Blake  <eblake@redhat.com>
29938         sigprocmask-tests: skip test if pid is unexpectedly large
29939         * tests/test-sigprocmask.c (main): Add range check.
29941         git-version-gen: avoid test -z portability glitch
29942         * build-aux/git-version-gen: Prefer portable test spelling, since
29943         git-version-gen is run on more than just developer machines.
29945 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
29947         git-version-gen: add --fallback option to use if git is not present
29948         * build-aux/git-version-gen: Add support for the new option --fallback,
29949         which comes into play when there is no $tarball_version_file and
29950         git is not working.
29951         (scriptversion): Update.
29953         maint.mk: handle missing git with more grace
29954         * top/maint.mk (no-submodule-changes, public-submodule-commit):
29955         Quietly proceed if git is not present.
29957 2012-12-31  Eric Blake  <eblake@redhat.com>
29959         dup2: work around cygwin bug
29960         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
29961         * lib/dup2.c (rpl_dup2): Work around it.
29962         * doc/posix-functions/dup2.texi (dup2): Document it.
29964 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
29966         regex: remove unnecessary dependency on localcharset.h
29967         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
29968         hasn't been needed for years.
29969         * modules/regex (Depends-on): Remove localcharset.
29971         regex: revert single-byte change
29972         * lib/regexec.c (check_node_accept_bytes): Revert previous change
29973         to this function.  This was alredy fixed in a different way, at
29974         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
29975         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
29976         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
29978         regex: simplify based on Gawk version
29979         * lib/regex_internal.c (re_dfa_add_node): Simplify.
29980         Reported by Aharon Robbins in
29981         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
29983 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
29985         regex: check that pattern char is single-byte
29986         Reported by Aharon Robbins in
29987         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
29988         * lib/regexec.c (check_node_accept_bytes):
29989         Return 0 if the pattern string has a multibyte character here.
29991         regex: implement rational ranges
29992         Reported by Aharon Robbins in
29993         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
29994         * lib/regcomp.c (build_range_exp) [!_LIBC]:
29995         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
29996         Implement rational ranges.
29998         regex: avoid redefining __wctype
29999         Reported by Aharon Robbins in
30000         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
30001         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
30002         #undef before defining.
30004         regex: port to hosts where malloc (0) == NULL
30005         Reported by Aharon Robbins in
30006         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
30007         * lib/regex_internal.c (re_node_set_alloc):
30008         Don't assume that malloc (0) yields nonnull.
30009         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
30010         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
30011         * modules/regex (Files): Add m4/eealloc.m4.
30013         regex: port to C89
30014         Reported by Aharon Robbins in
30015         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
30016         * lib/regcomp.c (init_word_char): Declaration before statement.
30018         regex: merge glibc changes
30019         Also, copy the license wording from glibc.  This simplifies
30020         merging changes.  gnulib-tool will change the wording to GPL as
30021         appropriate, when importing it to other packages.  The only
30022         glibc change made since the last merge, which needs merging, is:
30023         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
30024         * lib/regex_internal.h (gettext): Remove use of INTUSE.
30026         * users.txt: Add Emacs.
30028         doc: omit mention of version when not needed
30029         * doc/gnulib-intro.texi (Portability and Application Code):
30030         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
30031         Don't mention particular dates or versions when not necessary, so
30032         that the documentation won't go out of date so quickly.
30034         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
30036 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
30038         bootstrap: pass --force to autoreconf.
30039         * build-aux/bootstrap (AUTORECONFFLAGS): New.
30040         Add "--force" so that Automake's ylwrap and other such tools
30041         be updated at each bootstrap invocation.
30042         Use it.
30044 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
30046         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
30047         The earlier patch forgot to update one of the #if conditions, causing
30048         a problem on Debian testing i386 reported by Mats Erik Andersson
30049         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
30050         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
30051         (__argp_fmtstream_puts, argp_fmtstream_puts)
30052         (__argp_fmtstream_write, argp_fmtstream_write)
30053         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
30055         * doc/gnulib-readme.texi: Minor fixups.
30056         (Portability guidelines): Modernize URLs.  Remove some repetition.
30057         (Indent with spaces not TABs): Reword to avoid too-long lines.
30058         Remove some '@ifset standalone' stuff that isn't used.
30060         * doc/gnulib-readme.texi (Portability guidelines):
30061         ctype.h, not ctime.h.
30063         Correct name of POSIX.1-2001.
30064         * doc/posix-functions/fgetc.texi (fgetc):
30065         * doc/posix-functions/fgets.texi (fgets):
30066         * doc/posix-functions/fread.texi (fread):
30067         * doc/posix-functions/fscanf.texi (fscanf):
30068         * doc/posix-functions/getc.texi (getc):
30069         * doc/posix-functions/getchar.texi (getchar):
30070         * doc/posix-functions/scanf.texi (scanf):
30071         POSIX.1-2001, not POSIX-2001.
30073         doc: move README into manual
30074         * README: Move contents to new file doc/gnulib-readme.texi.
30075         Replace with a one-line summary.
30076         * doc/gnulib.texi (Brief Overview): New section,
30077         with old intro preface.  Include gnulib-readme.texi for contents.
30078         (Philosophy): Rename from "Introduction", since this
30079         section no longer introduces the rest.  Write a new preface.
30080         * doc/gnulib-readme.texi: New file, with the old contents of
30081         README texinfo-ized.  This way, the README info appears
30082         in the online and printed manual.
30084 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
30086         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
30087         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
30088         c_vasprintf() prototype.
30090 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
30092         c-vasprintf: Fix "empty declaration" warning reported by GCC.
30093         * lib/c-vasprintf.h: Remove stray semicolon.
30095 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
30097         gettext: avoid obsolete macro AM_PROG_MKDIR_P
30098         It is obsolete and is planned to be removed from Automake 1.14; see
30099         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
30100         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
30101         (installdirs-data, installdirs-data-yes):
30102         Use $(MKDIR_P), not $(mkdir_p).
30103         * m4/intl.m4 (AM_INTL_SUBDIR):
30104         * m4/po.m4 (AM_PO_SUBDIRS):
30105         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
30107 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
30109         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
30110         On this platform, we are not optimizing but we are using
30111         the substitute for extern inlines, so compile as if
30112         C99-style extern inline, or a substitute, is available.
30113         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
30114         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
30115         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
30116         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
30117         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
30118         Declare as ARGP_FS_EI, not as extern.
30119         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
30120         (__option_is_short, _option_is_end, __option_is_end)
30121         [!_LIBC && __USE_EXTERN_INLINES]:
30122         Declare as ARGP_EI, not as extern.
30124 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
30126         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
30127         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
30128         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
30129         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
30130         ...), as the latter is fatal with older Autoconfs.
30131         Problem reported and fix suggested by Eric Blake in thread starting at
30132         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
30134 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
30136         AC_PROG_MKDIR_P: don't workaround if not buggy
30137         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
30138         Define only for Autoconf versions before 2.62.
30139         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
30140         undocumented m4_PACKAGE_VERSION, for consistency with the
30141         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
30142         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
30143         was introduced in 2.62.
30145 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
30147         New 'c-*printf' modules for formatted output in C locale.
30149         New module 'c-vasnprintf'.
30150         * modules/c-vasnprintf: New file.
30151         * lib/c-vasnprintf.c: New file.
30152         * lib/c-vasnprintf.h: New file.
30154         New module 'c-snprintf'.
30155         * modules/c-snprintf: New file.
30156         * modules/c-snprintf-tests: New file.
30157         * lib/c-snprintf.c: New file.
30158         * lib/c-snprintf.h: New file.
30159         * tests/test-c-snprintf.c: New file.
30160         * tests/test-c-snprintf.sh: New file.
30162         New module 'c-vsnprintf'.
30163         * modules/c-vsnprintf: New file.
30164         * modules/c-vsnprintf-tests: New file.
30165         * lib/c-vsnprintf.c: New file.
30166         * lib/c-vsnprintf.h: New file.
30167         * tests/test-c-vsnprintf.c: New file.
30168         * tests/test-c-vsnprintf.sh: New file.
30170         New module 'c-vasprintf'.
30171         * modules/c-vasprintf: New file.
30172         * modules/c-vasprintf-tests: New file.
30173         * lib/c-asprintf.c: New file.
30174         * lib/c-vasprintf.c: New file.
30175         * lib/c-vasprintf.h: New file.
30176         * tests/test-c-vasprintf.c  +: New file.
30177         * tests/test-c-vasprintf.sh: New file.
30179         New module 'c-xvasprintf'.
30180         * modules/c-xvasprintf: New file.
30181         * modules/c-xvasprintf-tests: New file.
30182         * lib/c-xasprintf.c: New file.
30183         * lib/c-xvasprintf.c: New file.
30184         * lib/c-xvasprintf.h: New file.
30185         * tests/test-c-xvasprintf.c: New file.
30186         * tests/test-c-xvasprintf.sh: New file.
30188 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
30190         argp: better 'inline'
30191         Use extern-inline module to declare extern inline functions.
30192         This avoids some bogus warning diagnostics.  Problem discovered
30193         when modifying GNU tar to use the manywarnings module.
30194         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
30195         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
30196         Define based on extern-inline.
30197         * modules/argp (Depends-on): Add extern-inline.
30199 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
30201         filemode, sys_stat: Handle MPX files a la AIX.
30202         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
30203         * lib/sys_stat.in.h (S_ISMPX): New macro.
30204         * tests/test-sys_stat.c: Add tests for MPX files.
30206 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
30208         x-to-1: honor $PERL
30209         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
30210         a chance to use his preferred version of Perl.  This is typically
30211         required by Darwin users whose default /usr/bin/perl does not have all
30212         the libraries required by help2man, and who need to use their MacPorts
30213         installation of Perl instead.
30215 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
30217         gnu-web-doc-update: add all the new files, even in new directories
30218         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
30219         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
30220         Use it.
30221         (main): Don't use cvsutils to get the list of unknown files,
30222         just add all the existing files and directories.
30224 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
30226         gnu-web-doc-update: improve --help
30227         * build-aux/gnu-web-doc-update: Move comments into --help.
30229 2012-12-07  Eric Wong  <normalperson@yhbt.net>
30231         mountlist: recognize more "dummy" file systems
30232         * lib/mountlist.c (ME_DUMMY_0):
30233         Add these dummy FS names to the list:
30234         - "debugfs" virtual filesystem for kernel debugging
30235         - "devpts" PTY slave filesystem
30236         - "devtmpfs" device filesystem on top of tmpfs/ramfs
30237         - "fusectl" control filesystem for FUSE
30238         - "mqueue" enumerates POSIX message queues
30239         - "rpc_pipefs" kernel <-> userspace bridge for NFS
30240         - "sysfs" is for exporting kernel objects
30241         - "devfs" device filesystem for Linux 2.4 and FreeBSD
30243 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
30245         extern-inline: avoid incompatibility with Darwin Libc
30246         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
30247         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
30248         Problem reported by Akim Demaille in
30249         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
30251 2012-12-11  Simon Josefsson  <simon@josefsson.org>
30253         gnupload: Work with GnuPG using gpg-agent (for smartcards).
30254         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
30255         let it handle password prompting.
30257 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
30259         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
30260         * lib/canonicalize.c (canonicalize_filename_mode):
30261         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
30262         fetching the current directory.  Don't overrun the beginning of
30263         rpath if there's no slashes after the MS-Windows drive letter.
30265 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
30267         maint.mk: avoid extra forks
30268         * top/maint.mk (_cfg_mk): The GNU make manual documents that
30269         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
30270         So use that instead of "$(shell test -f FILE && echo FILE)".
30272 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
30274         vasnprintf: fix ASCII_ONLY typo
30275         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
30276         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
30277         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
30278         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
30279         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
30281 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
30283         list, oset, xlist, xoset: fix extern inline issue with C99
30284         This was introduced by my recent changes for 'inline'.
30285         Problem reported for gettext by Daiki Ueno in
30286         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
30287         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
30288         (gl_list_nx_create, gl_list_size, gl_list_node_value)
30289         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
30290         (gl_list_previous_node, gl_list_get_at)
30291         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
30292         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
30293         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
30294         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
30295         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
30296         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
30297         (gl_list_iterator_free, gl_sortedlist_search)
30298         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
30299         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
30300         (gl_sortedlist_remove):
30301         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
30302         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
30303         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
30304         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
30305         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
30306         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
30307         (gl_list_add_at, gl_sortedlist_add):
30308         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
30309         Wrap these extern decls inside "#if 0", because they are implemented
30310         as inline functions, and extern inline is not what's wanted here.
30311         It would simplify these .h files to remove the extern decls entirely,
30312         although a downside would be less-clear separation between
30313         specification and implementation.
30315 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
30317         sys_stat: no 'static inline'
30318         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
30319         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
30321         extern-inline: no 'static inline'
30322         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30323         Do not require AC_C_INLINE.
30324         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
30325         'static inline', for older compilers.
30327         snippet/warn-on-use: no 'static inline'
30328         * build-aux/snippet/warn-on-use.h:
30329         Remove unnecessary 'inline' in comment.
30331         rbtree-list, rbtreehash-list: no 'static inline'
30332         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
30333         * lib/gl_anytree_list2.h (node_at):
30334         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
30335         (gl_oset_first, add_nodes_to_buckets):
30336         Now static, not static inline.
30338         regex: no 'static inline'
30339         * lib/regex_internal.c (calc_state_hash):
30340         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
30341         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
30342         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
30343         Now static, not static inline.
30344         (inline) [__GNUC__ < 3 && _LIBC]:
30345         Remove macro; no longer needed.
30347         xvasprintf: no 'static inline'
30348         * lib/xvasprintf.c (xstrcat):
30349         Now static, not static inline.
30350         * m4/xvasprintf.m4 (gl_XVASPRINTF):
30351         Do not require AC_C_INLINE.
30353         parse-datetime, parse-duration: no 'static inline'
30354         * lib/parse-datetime.y (to_uchar):
30355         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
30356         (scale_n_add):
30357         Now static, not static inline.
30358         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
30359         * modules/parse-duration (configure.ac):
30360         Do not require AC_C_INLINE.
30362         getaddrinfo: no 'static inline'
30363         * lib/getaddrinfo.c (validate_family):
30364         Now static, not static inline.
30365         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
30366         Do not require AC_C_INLINE.
30368         ftruncate, fts, lstat, openat, raise: no 'static inline'
30369         * lib/ftruncate.c (chsize_nothrow):
30370         * lib/fts.c (opendirat, diropen):
30371         * lib/lstat.c (orig_lstat):
30372         * lib/openat.c (orig_openat):
30373         * lib/raise.c (raise_nothrow):
30374         Now static, not static inline.
30375         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
30376         * m4/fts.m4 (gl_FUNC_FTS_CORE):
30377         * m4/lstat.m4 (gl_PREREQ_LSTAT):
30378         * m4/openat.m4 (gl_PREREQ_OPENAT):
30379         * m4/raise.m4 (gl_PREREQ_RAISE):
30380         Do not require AC_C_INLINE.
30382         fflush, stat: no 'static inline'
30383         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
30384         (clear_ungetc_buffer, disable_seek_optimization)
30385         (restore_seek_optimization, update_fpos_cache):
30386         * lib/stat.c (orig_stat):
30387         Now static, not static inline.
30388         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
30389         (update_fpos_cache):
30390         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
30391         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
30392         * m4/stat.m4 (gl_PREREQ_STAT):
30393         Do not require AC_C_INLINE.
30395         error, filevercmp: no 'static inline'
30396         * lib/error.c (is_open, flush_stdout):
30397         * lib/filevercmp.c (order):
30398         Now static, not static inline.
30399         * m4/error.m4 (gl_PREREQ_ERROR):
30400         * modules/filevercmp (configure.ac):
30401         Do not require AC_C_INLINE.
30403         dup, execute, fatal-signal, etc.: no 'static inline'
30404         * lib/dup.c (dup_nothrow):
30405         * lib/execute.c (nonintr_close, nonintr_open):
30406         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
30407         * lib/fopen.c (orig_fopen):
30408         * lib/freadseek.c (freadptrinc):
30409         * lib/freopen.c (orig_freopen):
30410         * lib/fstat.c (orig_fstat, fstat_nothrow):
30411         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
30412         (get_rusage_as_via_iterator):
30413         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
30414         * lib/getdtablesize.c (_setmaxstdio_nothrow):
30415         * lib/isatty.c (_isatty_nothrow):
30416         * lib/open.c (orig_open):
30417         * lib/read.c (read_nothrow):
30418         * lib/sigprocmask.c (signal_nothrow):
30419         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
30420         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
30421         * lib/wait-process.c (unregister_slave_subprocess):
30422         * lib/write.c (write_nothrow):
30423         Now static, not static inline.
30424         * lib/spawn-pipe.c (nonintr_open): Define only if
30425         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
30426         * m4/dup.m4 (gl_PREREQ_DUP):
30427         * m4/execute.m4 (gl_EXECUTE):
30428         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
30429         * m4/fopen.m4 (gl_PREREQ_FOPEN):
30430         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
30431         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
30432         * m4/fstat.m4 (gl_PREREQ_FSTAT):
30433         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
30434         * m4/isatty.m4 (gl_PREREQ_ISATTY):
30435         * m4/open.m4 (gl_PREREQ_OPEN):
30436         * m4/read.m4 (gl_PREREQ_READ):
30437         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
30438         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
30439         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
30440         * m4/wait-process.m4 (gl_WAIT_PROCESS):
30441         * m4/write.m4 (gl_PREREQ_WRITE):
30442         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
30443         Do not require AC_C_INLINE.
30445         c-strtod, memcoll, readutmp: no 'static inline'
30446         * lib/c-strtod.c (c_locale):
30447         * lib/memcoll.c (strcoll_loop):
30448         * lib/readutmp.c (desirable_utmp_entry):
30449         Now static, not static inline.
30450         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
30451         * m4/memcoll.m4 (gl_MEMCOLL):
30452         * m4/readutmp.m4 (gl_READUTMP):
30453         Do not require AC_C_INLINE.
30455         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
30456         * lib/arctwo.c (to_uchar):
30457         * lib/md4.c (set_uint32):
30458         * lib/md5.c (set_uint32):
30459         * lib/sha1.c (set_uint32):
30460         * lib/sha256.c (set_uint32):
30461         * lib/sha512.c (set_uint64):
30462         Now static, not static inline.  This is a bit simpler, and doesn't
30463         affect performance with GCC and default optimization.
30464         * m4/arctwo.m4 (gl_ARCTWO):
30465         * m4/md4.m4 (gl_MD4):
30466         * m4/md5.m4 (gl_MD5):
30467         * m4/sha1.m4 (gl_SHA1):
30468         * m4/sha256.m4 (gl_SHA256):
30469         * m4/sha512.m4 (gl_SHA512):
30470         Do not require AC_C_INLINE.
30472         cond, lock, thread: better 'inline'
30473         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
30474         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
30475         New macros.  Use them instead of static inline, for header functions.
30476         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
30477         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
30478         * lib/glthread/lock.c (gl_waitqueue_init)
30479         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
30480         * lib/glthread/thread.c (get_current_thread_handle):
30481         Change 'static inline' to 'inline'.
30482         * lib/glthread/cond.h, lib/glthread/thread.h:
30483         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30484         * m4/cond.m4 (gl_COND):
30485         * m4/lock.m4 (gl_PREREQ_LOCK):
30486         * m4/thread.m4 (gl_THREAD):
30487         Do not require AC_C_INLINE.
30488         * modules/cond, modules/thread (Depends-on): Add extern-inline.
30490         chdir-long, cycle-check, savewd: better 'inline'
30491         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
30492         (find_non_slash):
30493         * lib/cycle-check.c (is_zero_or_power_of_two):
30494         * lib/savewd.c (savewd_delegating):
30495         Change 'static inline' to 'inline'.
30496         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
30497         Replace all remaining uses of 'static inline' with it.
30498         * lib/savewd.h:
30499         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30500         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
30501         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
30502         * m4/savewd.m4 (gl_SAVEWD):
30503         Do not require AC_C_INLINE.
30504         * modules/savewd (Depends-on): Add extern-inline.
30506         base32, base64: no need for 'inline'
30507         * lib/base32.c (to_uchar, get_8, decode_8):
30508         * lib/base64.c (to_uchar, get_4, decode_4):
30509         Change 'static inline' to 'inline'.
30510         * m4/base32.m4 (gl_PREREQ_BASE32):
30511         * m4/base64.m4 (gl_PREREQ_BASE64):
30512         Do not require AC_C_INLINE.
30514         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
30515         * lib/gl_array_oset.c (gl_array_nx_add_at):
30516         (gl_array_remove_at):
30517         * lib/gl_linkedhash_list.c (hash_resize_after_add)
30518         (add_to_bucket, remove_from_bucket):
30519         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
30520         Change 'static inline' to 'static', as it's simpler to omit
30521         'inline' unless there's a significant performance advantage.
30523         list, oset, xlist, xoset, xsublist: simplify via extern inline
30524         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
30525         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
30526         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
30527         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
30528         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
30529         New macro.  Replace all uses of 'static inline' with it.
30530         [HAVE_INLINE]: Implement functions as *_INLINE functions,
30531         instead of as macros FOO that are defined to static inline
30532         functions FOO_inline.
30533         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
30534         * lib/gl_xsublist.c:
30535         Reimplement from scratch, by defining the corresponding *_INLINE
30536         macro and including the corresponding .h file.  This is simpler.
30537         * modules/list, modules/oset, modules/xlist, modules/xoset:
30538         (Files): Remove m4/gl_list.m4.
30539         (configure.ac): Remove gl_LIST.
30540         * m4/gl_list.m4: Remove.
30541         * modules/list, modules/oset, modules/xlist, modules/xoset:
30542         * modules/xsublist:
30543         (Depends-on): Depend on extern-inline, not inline.
30545         xalloc: better 'inline'
30546         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
30547         New macro.  Replace all uses of 'static inline' with it.
30548         (static_inline): Remove.
30549         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
30550         Let 'extern inline' do the work automatically, instead of doing
30551         it by hand.
30552         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
30553         Remove.  All uses removed.
30554         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
30556         gethrxtime: better 'inline'
30557         * lib/xtime.c: New file.
30558         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
30559         * lib/xtime.h (XTIME_INCLUDE):
30560         New macros.  Replace all uses of 'static inline' with them.
30561         * lib/gethrxtime.c (gethrxtime): Define only if
30562         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
30563         this source file is now always compiled, because of the extern inline.
30564         * lib/gethrxtime.h, lib/xtime.h:
30565         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30566         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
30567         if gethrtime works, as they're not needed in that case.
30568         (gl_XTIME): Do not require AC_C_INLINE.
30569         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
30570         compiled now.  Move the check into gl_GETHRXTIME.
30571         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
30572         (Depends-on): Add extern-inline.
30573         (configure.ac): gethrxtime is always compiled now.
30574         (lib_SOURCES): Add gethrxtime.c.
30576         wctype-h: better 'inline'
30577         * lib/wctype-h.c: New file.
30578         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
30579         New macro.  Replace all uses of 'static inline' with it.
30580         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30581         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
30582         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
30583         (Depends-on): Add extern-inline.
30585         unistd: better 'inline'
30586         * lib/unistd.c: New file.
30587         * lib/unistd.in.h (_GL_UNISTD_INLINE):
30588         New macro.  Replace all uses of 'static inline' with it.
30589         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30590         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
30591         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
30592         (Depends-on): Add extern-inline.
30594         sys_socket: better 'inline'
30595         * lib/sys_socket.c: New file.
30596         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
30597         New macro.  Replace all uses of 'static inline' with it.
30598         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30599         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
30600         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
30601         (Depends-on): Add extern-inline.
30603         stdio: better 'inline'
30604         * lib/stdio.c: New file.
30605         * lib/stdio.in.h (_GL_STDIO_INLINE):
30606         New macro.  Replace all uses of 'static inline' with it.
30607         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30608         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
30609         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
30610         (Depends-on): Add extern-inline.
30612         sigaction: better 'inline'
30613         * lib/sig-handler.c: New file.
30614         * lib/sig-handler.h (SIG_HANDLER_INLINE):
30615         New macro.  Replace all uses of 'static inline' with it.
30616         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30617         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
30618         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
30619         (Depends-on): Add extern-inline.
30621         selinux-h: better 'inline'
30622         * lib/se-context.c, lib/se-selinux.c: New files.
30623         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
30624         * lib/se-context.in.h (SE_CONTEXT_INLINE):
30625         New macro.  Replace all uses of 'static inline' with it.
30626         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30627         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
30628         New macro.  Replace all uses of 'static inline' with it.
30629         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30630         * modules/selinux-h (Files, lib_SOURCES):
30631         Add lib/se-context.c, lib/se-selinux.c.
30632         (Depends-on): Add extern-inline.
30633         (configure.ac): Do not require AC_C_INLINE.
30635         pthread: better 'inline'
30636         * lib/pthread.c: New file.
30637         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
30638         New macro.  Replace all uses of 'static inline' with it.
30639         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30640         * m4/pthread.m4 (gl_PTHREAD_CHECK):
30641         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
30642         * modules/pthread (Files): Add lib/pthread.c.
30643         (Depends-on): Add extern-inline.
30645         math: better 'inline'
30646         * lib/math.c: New file.
30647         * lib/math.in.h (_GL_MATH_INLINE):
30648         New macro.  Replace all uses of 'static inline' with it.
30649         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30650         * m4/math_h.m4 (gl_MATH_H):
30651         Do not require AC_C_INLINE.
30652         * modules/math (Files, lib_SOURCES):
30653         Add lib/math.c.
30654         (Depends-on): Add extern-inline.
30656         count-one-bits: better 'inline'
30657         * lib/count-one-bits.c: New file.
30658         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
30659         New macro.  Replace all uses of 'static inline' with it.
30660         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30661         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
30662         Do not require AC_C_INLINE.
30663         * modules/count-one-bits (Files, lib_SOURCES):
30664         Add lib/count-one-bits.c.
30665         (Depends-on): Add extern-inline.
30667         count-leading-zeros: better 'inline'
30668         * lib/count-leading-zeros.c: New file.
30669         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
30670         New macro.  Replace all uses of 'static inline' with it.
30671         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30672         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
30673         Do not require AC_C_INLINE.
30674         * modules/count-leading-zeros (Files, lib_SOURCES):
30675         Add lib/count-leading-zeros.c.
30676         (Depends-on): Add extern-inline.
30678         bitrotate: better 'inline'
30679         * lib/bitrotate.c: New file.
30680         * lib/bitrotate.h (BITROTATE_INLINE):
30681         New macros.
30682         Replace all uses of 'static inline' with them.
30683         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
30684         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
30685         (Depends-on): Add extern-inline.
30686         (configure.ac): Do not require AC_C_INLINE.
30688 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
30690         maint.mk: avoid gratuitous failure
30691         Reported by Stefano Lattarini in
30692         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
30693         * top/maint.mk (public-submodule-commit): Quote more safely.
30695 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
30697         canonicalize, canonicalize-lgpl: support MS-Windows file names
30698         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
30699         for test cases, which it'd be nice to add at some point.
30700         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
30701         * lib/canonicalize.c (canonicalize_filename_mode):
30702         * lib/canonicalize-lgpl.c (__realpath):
30703         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
30704         slash is at the beginning of the file name.  Use ISSLASH, instead
30705         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
30706         the first character with '/'.  Test for
30707         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
30708         with a drive letter.
30709         * lib/canonicalize.c (SLASHES): New macro.
30710         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
30712 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
30714         fts: introduce FTS_VERBATIM
30715         * lib/fts_.h (FTS_VERBATIM): New bit flag.
30716         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
30717         * lib/fts.c (fts_open): Honor it.
30719 2012-11-09  Pádraig Brady  <P@draigBrady.com>
30721         getlogin-tests: allow errno == ENXIO
30722         * tests/test-getlogin.c (main): Skip tests if getlogin fails
30723         with errno == ENXIO (No controlling tty).
30724         getlogin_r-tests: Likewise. Also allow errno == ENOENT
30725         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
30726         with errno == ENOENT.  This was reported to happen in various
30727         situations on GNU/Linux.
30729 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
30731         getlogin-tests: allow errno == ENOENT
30732         * tests/test-getlogin.c (main): Skip tests if getlogin fails
30733         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
30734         when running a test in an Emacs shell buffer.
30736 2012-11-08  Jim Meyering  <jim@meyering.net>
30738         tests/nap.h: avoid warning about unused variable
30739         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
30741         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
30742         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
30743         white space before each of the special-cased file names, to avoid
30744         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
30745         in http://bugs.gnu.org/12830.
30747 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
30749         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
30750         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
30751         fails with errno == EBADF when fd is opened with O_PATH.
30752         Reported by Jim Meyering in
30753         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
30754         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
30755         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
30757 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
30759         test-utimens: speed up by taking shorter naps
30760         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
30761         New functions.
30762         (nap): Use them, to do a better job of guessing the delay.
30763         On Fedora 17 with ext4 atop md atop hard disks, this made
30764         test-utimens run 10x faster, because the test napped for
30765         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
30766         <http://bugs.gnu.org/12820#11>.
30768 2012-11-07  Jim Meyering  <jim@meyering.net>
30770         mountlist.c: fix a compilation failure
30771         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
30772         I introduced while transforming commit v0.0-7683-g613bcb6
30774 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30776         errno: port to LynxOS 178 2.2.2
30777         Problem reported by Joel Brobecker in
30778         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
30779         * doc/posix-headers/errno.texi (errno.h): Document this.
30780         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
30781         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
30782         Supply a string for EILSEQ.
30783         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
30785 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
30787         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
30788         Linux kernel 2.6.39 introduced O_PATH (see
30789         <http://lwn.net/Articles/433854/>) and this is a better fallback
30790         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
30791         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
30792         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
30793         * lib/fcntl.in.h (O_ACCMODE):
30794         * tests/test-fcntl-h.c (main):
30795         Do not reject O_ACCMODE merely because it has more than the
30796         minimal number of bits, as POSIX allows extensions here.
30798 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
30800         mountlist: do not classify a bind-mounted dir entry as "dummy"
30801         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
30802         the "none"-testing clause.
30803         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
30804         exception for bind-mounted directories.
30806 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
30808         quote: provide a means to escape strings with nul characters
30809         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
30810         (quote, quote_n): Rename formal arguments for consistency with
30811         quotearg.
30813 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
30815         test-raise: don't assume 199 is an invalid signal
30816         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
30818         sh-quote-tests: port to Solaris 9
30819         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
30820         Problem reported by Dagobert Michelsen in
30821         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
30823 2012-10-28  Jim Meyering  <jim@meyering.net>
30825         maint.mk: rename a new configurable variable
30826         * top/maint.mk (_gl_translatable_string_re): Rename from
30827         translation-markers: _gl_ prefix to insulate from user Makefile code,
30828         and the _re suffix to inform that it's a regular expression.
30830 2012-10-26  Eric Blake  <eblake@redhat.com>
30832         maint.mk: let packages tweak sc_po_check pattern
30833         * top/maint.mk (sc_po_check): Add translation-markers, to allow
30834         finding files with other translation markers.
30836 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30838         euidaccess: speed up 'configure' on GNU hosts
30839         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
30840         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
30841         it's needed only in this case.  Use AC_CHECK_DECLS, not
30842         AC_CHECK_DECLS_ONCE.
30843         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
30844         or AC_REQUIRE for AC_FUNC_GETGROUPS.
30846         * lib/regexec.c (re_search_internal): Fix grammar in comment.
30848 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
30850         fchmodat, fchownat, fstatat: port to non-inlining compilers
30851         Problem reported for FreeBSD 9 by Jim Meyering in
30852         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
30853         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
30854         New files, which define FCHMODAT_INLINE etc.
30855         * lib/fchmodat.c (FCHMODAT_INLINE):
30856         * lib/fchownat.c (FCHOWNAT_INLINE):
30857         * lib/fstatat.c (FSTATAT_INLINE):
30858         Remove, as chmodat.c etc. now do this.
30859         * modules/fchmodat (Files): Add lib/chmodat.c.
30860         * modules/fchownat (Files): Add lib/chownat.c.
30861         * modules/fstatat (Files): Add lib/statat.c.
30863 2012-10-15  Jim Meyering  <jim@meyering.net>
30865         fchmodat.c, fchownat.c: compile-impeding typos
30866         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
30867         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
30868         Introduced in commit v0.0-7636-gd202279.
30870 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
30872         fcntl-h: support GNU flags like O_IGNORE_CTTY
30873         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
30874         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
30875         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
30876         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
30877         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
30878         Define to 0 if not already defined.
30879         * tests/test-fcntl-h.c: Test these new flags.
30881 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
30883         faccessat, etc.: support AT_FDCWD-only use
30884         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
30885         this function only if its first argument is AT_FDCWD.
30886         Emacs wants faccessat for AT_EACCESS but not for any first-arg
30887         values other than AT_FDCWD, so it doesn't want all the openat
30888         machinery with fchdir etc.
30889         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
30890         * modules/fstatat, modules/mkdirat, modules/openat (Files):
30891         * modules/unlinkat (Files):
30892         Remove lib/openat-priv.h, as at-internal supplies this file.
30893         Removing this file here allows us to support programs like Emacs
30894         that avoid at-internal.
30896         faccessat: speed up 'configure' on mainstream hosts
30897         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
30898         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
30899         since it's only on unusual platforms that we need to check for
30900         'access', and it's better not to slow 'configure' down on all
30901         platforms.
30903         faccessat: port to Solaris 10
30904         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
30905         Needed on Solaris 10, which doesn't have AT_EACCESS,
30906         so we need the Gnulib fcntl.h, which defines it.
30908 2012-10-14  Pádraig Brady  <P@draigBrady.com>
30909         canonicalize: fix C89 compilation
30910         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
30911         declarations so C89 is supported.  Also remove the comment
30912         referencing memorty allocation as the suggested feature could
30913         not be implemented as suggested.
30914         Reported by Michael Goffioul.
30916 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
30918         group-member: omit unnecessary dependencies
30919         This is for Emacs, which has its own allocator and where we
30920         don't want to use xalloc.
30921         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
30922         since we no longer use xmalloc.  Do not include stdbool.h, since
30923         the changes below happen to remove the only use of bool.
30924         (GROUPBUF_SIZE): New constant.
30925         (struct group_info): Remove n_groups member.  Add groupbuf member.
30926         This lets us get the groups without using malloc, usually.
30927         (free_group_info, get_group_info): Adjust to this.
30928         (get_group_info): Return the number of groups found, or -1 on error.
30929         Use plain malloc not xmalloc, and treat its failure as if there
30930         are no groups, as the user already loses in case of error.
30931         (group_member): Simplify, based on changes to get_group_info.
30932         * modules/group-member (Depends-on): Remove dependencies on
30933         xalloc and stdbool.  Add dependency on xalloc-oversized.
30935 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
30937         gethrxtime: port to C++
30938         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
30940 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
30942         ptsname: fix macro-name typo
30943         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
30945 2012-10-03  Simon Josefsson  <simon@josefsson.org>
30947         inttostr: Relax license.
30948         * modules/inttostr (License): Change from LGPL to LGPLv2+.
30950 2012-10-03  Eric Blake  <eblake@redhat.com>
30952         ptsname_r: support ptys returned by FreeBSD posix_openpt
30953         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
30954         lives in /dev/pts/.
30956 2012-10-02  Eric Blake  <eblake@redhat.com>
30958         pselect: reject invalid file descriptors
30959         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
30960         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
30961         * modules/pselect (Depends-on): Add dup2.
30962         * doc/posix-functions/pselect.texi (pselect): Document this.
30964         select: reject invalid file descriptors
30965         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
30966         * lib/select.c (rpl_select) [!win32]: Work around it.
30967         * modules/select (Depends-on): Add dup2.
30968         * doc/posix-functions/select.texi (select): Document this.
30970         select: enhance test
30971         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
30972         New functions.
30973         (test_function): Enhance test.
30974         (do_select_bad_fd): Avoid any stale errno values.
30976         ptsname: reject invalid file descriptors
30977         http://www.austingroupbugs.net/view.php?id=503
30978         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
30979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
30980         * modules/stdlib (Makefile.am): Replace witness.
30981         * lib/stdlib.in.h (ptsname): Allow for replacement.
30982         * modules/ptsname (configure.ac): Trigger replacement.
30983         * doc/posix-functions/ptsname.texi (ptsname): Document this.
30985 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
30987         hash-pjw-bare: new module
30988         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
30989         * lib/hash-pjw-bare.h: Likewise.
30990         * modules/hash-pjw-bare: New file.
30991         * MODULES.html.sh (Misc): Add it.
30993 2012-10-02  Eric Blake  <eblake@redhat.com>
30995         manywarnings: cater to more gcc infelicities
30996         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
30997         -Wuninitialized without -O.
30999 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
31001         select, poll tests: Make setsockopt invocation effective.
31002         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
31003         the bind() call.
31004         * tests/test-select.h (open_server_socket): Likewise.
31006 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
31008         sockets, sys_stat: restore AC_C_INLINE
31009         This undoes the 2012-09-22 patch.
31010         * m4/sockets.m4 (gl_SOCKETS):
31011         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
31012         Restore AC_C_INLINE, since MSVC requires __inline or _inline
31013         and does not support plain 'inline'.  Reported by Bruno Haible in
31014         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
31016 2012-09-30  Bruno Haible  <bruno@clisp.org>
31018         localeconv tests: Avoid test failure on OpenIndiana.
31019         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
31020         skip the 'grouping' and 'mon_grouping' tests.
31021         Reported by Jim Meyering.
31023 2012-09-30  Bruno Haible  <bruno@clisp.org>
31025         havelib: Follow libtool developments.
31026         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
31027         Suggested by Simon Josefsson.
31029 2012-09-29  Jim Meyering  <meyering@redhat.com>
31031         fstatat.c: fix a compile-impeding typo
31032         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
31033         Introduced in commit v0.0-7636-gd202279.
31034         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
31036 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
31038         extern-inline: provide a -Wundef safe config.h
31039         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
31040         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
31041         to produce a -Wundef warning free config.h.
31043 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
31045         hash-pjw: relax license to LGPLv2+
31046         * modules/hash-pjw (License): Relax, with consent of author.
31048 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
31050         maint.mk: fix strict vs. lazy variable issues with RELEASE
31051         * top/maint.mk (_equal): New function.
31052         (member_check): Strip the result to avoid spurious spaces.
31053         (url_dir_list): Do not use ifeq, which is strict, as it will
31054         require RELEASE_TYPE to be defined.
31055         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
31056         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
31057         (announcement_Cc_alpha,announcement_mail_headers_alpha)
31058         (announcement_Cc_beta,announcement_mail_headers_beta)
31059         (announcement_Cc_stable,announcement_mail_headers_stable): these.
31060         (release): Do not depend on $(release-type), as it forces its
31061         evaluation.  Bounce to it.
31063 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
31065         maint.mk: formatting changes
31066         * top/maint.mk: Indent bodies of if's.
31068 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
31070         maint.mk: factor the validation of RELEASE_TYPE
31071         With help from Jim Meyering.
31072         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
31073         * top/maint.mk (_empty, _sp): Move their definition earlier.
31074         (member-check, release-type): New.
31075         Use the latter instead of $(RELEASE_TYPE).
31076         Remove now useless local checks.
31078 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
31080         maint.mk: provide "make upload" to ease uploading
31081         See
31082         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
31083         Do not depend simply on the current $(VERSION), as there may have been
31084         new commits since the tarball generation.  Rather, rely on $(RELEASE),
31085         as "make release-commit" already does.
31087         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
31088         "make TYPE".
31090         * top/maint.mk (upload_command, upload, release): New.
31091         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
31092         (VERSION): first word of $(RELEASE) is always right.
31093         (emit_upload_commands): Adjust.
31094         * top/README-release: Update.
31096 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
31098         maint.mk: silent rules
31099         With help from Stefano Lattarini.
31100         * top/maint.mk (writable-files): Use $(AM_V_GEN).
31101         (announcement): Use $(AM_V_at).
31103 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
31105         localename: port gl_locale_name_thread_unsafe to FreeBSD
31106         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
31107         and use the simpler FreeBSD implementation on Mac OS X as well.
31108         Original idea suggested by Ed Maste in
31109         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
31111 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
31113         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
31114         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
31115         * lib/mbuiter.c, lib/xsize.c: New files.
31116         * lib/binary-io.h (BINARY_IO_INLINE):
31117         * lib/eealloc.h (EEALLOC_INLINE):
31118         * lib/mbfile.h (MBFILE_INLINE):
31119         * lib/mbiter.h (MBITER_INLINE):
31120         * lib/mbuiter.h (MBUITER_INLINE):
31121         * lib/xsize.h (XSIZE_INLINE):
31122         New macros.
31123         Replace all uses of 'static inline' with them.
31124         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31125         * m4/eealloc.m4 (gl_EEALLOC):
31126         * m4/mbfile.m4 (gl_MBFILE):
31127         * m4/mbiter.m4 (gl_MBITER):
31128         * m4/xsize.m4 (gl_XSIZE):
31129         Do not require AC_C_INLINE.
31130         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
31131         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
31132         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
31133         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
31134         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
31135         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
31136         * modules/binary-io, modules/eealloc, modules/mbfile:
31137         * modules/mbiter, modules/mbuiter:
31138         (Depends-on): Add extern-inline.
31140         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
31141         * lib/pipe-filter-aux.c: New file.
31142         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
31143         Replace all uses of 'static inline' with it.
31144         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31145         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
31146         (filter_retcode): No real need for inline here.
31147         * modules/pipe-filter-gi, modules/pipe-filter-ii:
31148         (Files): Add lib/pipe-filter-aux.c.
31149         (Depends-on): Add extern-inline.
31150         (configure.ac): Do not require AC_C_INLINE.
31151         (lib_SOURCES): Add pipe-filter-aux.c.
31153         fdutimensat: omit unnecessary AC_C_INLINE
31154         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
31156         fchmodat, fchownat, fstatat: use extern-inline
31157         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
31158         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
31159         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
31160         New macros.
31161         * lib/openat.h:
31162         Replace all uses of 'static inline' with them.
31163         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31164         * modules/fchmodat, modules/fchownat, modules/fstatat:
31165         * modules/openat-h:
31166         (Depends-on):
31167         Add extern-inline.
31168         (configure.ac): Remove AC_C_INLINE.
31170         acl, mbchar, priv-set: use extern-inline
31171         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
31172         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
31173         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
31174         New macros.
31175         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
31176         Replace all uses of 'static inline' with it.
31177         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31178         * m4/acl.m4 (gl_FUNC_ACL):
31179         * m4/mbchar.m4 (gl_MBCHAR):
31180         * m4/priv-set.m4 (gl_PRIV_SET):
31181         Remove AC_C_INLINE, since 'inline' is no longer used directly.
31182         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
31183         Add extern-inline.
31185         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
31186         * m4/sockets.m4 (gl_SOCKETS):
31187         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
31188         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
31189         environments where it's already guaranteed to work, so we needn't
31190         check for it at 'configure'-time.
31192         tls-tests: omit unnecessary 'inline'
31193         * tests/test-tls.c (perhaps_yield): No longer inline.
31194         Simplicity and portability trump efficiency in test cases.
31196         utimens-tests: avoid unnecessary 'inline'
31197         * modules/fdutimensat-tests (configure.ac):
31198         * modules/futimens-tests (configure.ac):
31199         * modules/utimens-tests (configure.ac):
31200         * modules/utimensat-tests (configure.ac):
31201         Remove AC_C_INLINE.
31202         * tests/test-utimens-common.h (ctime_compare):
31203         No longer inline.  Simplicity and portability trump efficiency here.
31205         misc: don't limit commentary to inline functions
31206         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
31207         * lib/xalloc-oversized.h, lib/xsize.h:
31208         Contrast macros to functions in general, not just to inline functions,
31209         when the commentary does not apply only to inline functions.
31211 2012-09-20  Jim Meyering  <meyering@redhat.com>
31213         non-recursive-gnulib-prefix-hack: new module
31214         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
31215         the file that originated in Bison.
31216         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
31217         largely copied from a snippet that resided in bison's configure.ac.
31218         * modules/non-recursive-gnulib-prefix-hack: New file.
31219         * MODULES.html.sh (Support for maintaining and releasing projects):
31220         Add it.
31222 2012-09-18  Jim Meyering  <meyering@redhat.com>
31224         maint.mk: generalize _gl_tight_scope for non-recursive make
31225         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
31226         that *.h would describe additional .h files in the directory
31227         specified by $(_gl_TS_dir).  I.e., add this...
31228         (_gl_TS_other_headers): New variable.
31230         maint.mk: exempt trailing blanks found in "binary" files
31231         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
31232         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
31233         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
31235 2012-09-17  Jim Meyering  <meyering@redhat.com>
31237         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
31238         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
31239         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
31240         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
31242 2012-09-17  Jim Meyering  <meyering@redhat.com>
31244         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
31245         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
31246         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
31247         It is not in the same category as "exit (0)" or "exit (1)", and
31248         besides, I know of no symbolic name for that 77.  Reported by
31249         Richard W.M. Jones in
31250         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
31252 2012-09-17  Jim Meyering  <meyering@redhat.com>
31254         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
31255         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
31256         all uses of #define, not just those that start in column 1.
31257         Richard W.M. Jones reported a false positive in
31258         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
31260 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
31262         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
31263         * lib/localcharset.c (locale_charset) [DARWIN7]:
31264         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
31265         as these two values are incompatible.  Problem reported by Max Horn.
31266         For more discussion, please see
31267         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
31269         doc: document sticky-EOF issue
31270         * doc/posix-functions/fgetc.texi (fgetc):
31271         * doc/posix-functions/fgets.texi (fgets):
31272         * doc/posix-functions/fread.texi (fread):
31273         * doc/posix-functions/fscanf.texi (fscanf):
31274         * doc/posix-functions/getc.texi (getc):
31275         * doc/posix-functions/getchar.texi (getchar):
31276         * doc/posix-functions/scanf.texi (scanf):
31277         Mention that glibc and default Solaris do not conform to
31278         C99 and POSIX-2001 or later, with respect to how getchar
31279         etc. behave when feof reports nonzero.
31281 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
31283         poll: fix poll(0, NULL, msec)
31284         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
31285         but nfd is 0.  In that case poll should behave like select.
31287 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
31288             Paolo Bonzini  <bonzini@gnu.org>
31290         poll: fix for systems that can't recv() on a non-socket
31291         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
31292         is readable.  In this case POLLHUP will not be supported.
31293         * doc/posix-functions/poll.texi: Document this.
31295 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
31297         poll/select: document portability problems not fixed by Gnulib.
31298         * doc/posix-functions/poll.texi: poll does not work well on
31299         pipes under Windows.  It has the same limitations as select on
31300         BeOS.
31301         * doc/posix-functions/select.texi: select does not work well
31302         on pipes under Windows.
31304 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
31306         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
31307         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
31308         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
31309         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
31311 2012-09-06  Eric Blake  <eblake@redhat.com>
31313         net_if: give more details about the bug being fixed
31314         * doc/posix-headers/net_if.texi: Add clarification.
31316 2012-09-05  Eric Blake  <eblake@redhat.com>
31318         net_if: new module
31319         * modules/net_if: New module, borrowing ideas from netinet_in.
31320         * m4/net_if_h.m4: New file.
31321         * lib/net_if.in.h: Likewise.
31322         * doc/posix-headers/net_if.texi (net/if.h): Document it.
31323         * MODULES.html.sh (lacking POSIX:2008): Likewise.
31324         * tests/test-net_if.c: Make function checks conditional.
31325         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
31327 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
31329         readutmp: fix non-portable UT_PID use
31330         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
31331         Use `UT_PID (u) > 0' as absolute condition.
31333 2012-09-04  Jim Meyering  <meyering@redhat.com>
31335         fts: reduce two or more trailing spaces to just one, usually
31336         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
31337         or more slashes, trim all but the final one.  But if a name consists
31338         solely of two slashes, don't modify it.  If it consists solely of
31339         three or more slashes, strip all but one.
31341         This is part of the solution to a minor problem with rm:
31342         it would print a bogus ELOOP diagnostic when failing to remove
31343         the slash-decorated name of a symlink-to-directory:
31345             $ mkdir d && ln -s d s && env rm -r s/
31346             rm: cannot remove 's': Too many levels of symbolic links
31348         With the change below and a trivial don't-trim-trailing-slashes
31349         adjustment to remove.c, it does this:
31351             $ env rm -r s/
31352             rm: cannot remove 's/': Not a directory
31354         Improved by: Eric Blake
31356         fts: when there is no risk of overlap, use memcpy, not memmove
31357         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
31359 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
31361         stdbool: be more compatible with mixed C/C++ compiles
31362         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
31363         Define to bool, true, false, respectively, as GCC's builtin
31364         stdbool.h does.  Problem reported by Michael Goffioul in
31365         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
31367 2012-08-28  Jim Meyering  <meyering@redhat.com>
31369         revert last change: it was not needed
31370         * tests/test-vc-list-files-git.sh: There's already a test for
31371         a working git, just below.
31373 2012-08-28  Jim Meyering  <meyering@redhat.com>
31375         tests: test-vc-list-files-git.sh: skip if git is not available
31376         * tests/test-vc-list-files-git.sh: Skip this test when git is
31377         not available.
31379 2012-08-26  Bruno Haible  <bruno@clisp.org>
31381         gnulib-tool: Remove no-op option --no-changelog.
31382         * gnulib-tool (func_usage): Don't mention --no-changelog.
31383         (do_changelog): Remove variable.
31384         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
31386 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31388         doc: remove fdl-1.2.texi
31389         It is no longer used or maintained, and its use of @acronym
31390         is problematic.  See the thread containing
31391         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
31392         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
31393         * doc/old-licenses/fdl-1.2.texi: Remove.
31395         execinfo: port to FreeBSD
31396         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
31397         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
31398         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
31399         * modules/execinfo (Link): Add $(LIB_EXECINFO).
31401 2012-08-23  Jim Meyering  <meyering@redhat.com>
31403         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
31404         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
31405         to placate gcc's -Wold-style-declaration.
31407 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31409         doc: do not use @acronym
31410         * doc/inet_ntoa.texi (inet_ntoa):
31411         * doc/parse-datetime.texi (Seconds since the Epoch)
31412         (Specifying time zone rules):
31413         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
31414         Don't use @acronym.  Problem reported by John Darlington in
31415         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
31417 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31419         stdnoreturn: port to newer GCCs
31420         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
31421         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
31422         Problem reported by Jim Meyering in
31423         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
31424         Also, rename the 'test' function to a void a clash with the
31425         already-supplied 'main' function; this fixes a bug that incorrectly
31426         rejected GCC 4.7.1's <stdnoreturn.h>.
31427         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
31428         Document GCC problem.
31430 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
31432         pipe-filter: fix comment typo
31433         * lib/pipe-filter.h: Mention correct function.
31435 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
31437         execinfo: new module
31438         This is for Emacs.  Currently, it provides a no-effect stub
31439         on all platforms where it does not already work.
31440         It already works on glibc-based systems, and on Solaris 11.
31441         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
31442         New files.
31443         * doc/glibc-headers/execinfo.texi (execinfo.h):
31444         * MODULES.html.sh (Misc): Document it.
31446 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
31448         extern-inline: support old GCC 'inline'
31449         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
31450         if available.  This applies to GCC versions 2.7 through 4.2, or
31451         when newer GCC is using -fgnu89-inline.  The goal is to address
31452         some of the performance issues mentioned by Bruno Haible in
31453         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
31455 2012-08-20  Eric Blake  <eblake@redhat.com>
31457         maint.mk: avoid redundant file name in message
31458         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
31459         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
31460         (sc_makefile_path_separator_check): Remove bogus $(ME).
31462 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
31464         timer-time: fix link order when static linking on glibc
31465         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
31466         _after_ -lrt so that it's significant.
31468 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
31470         timespec: omit unnecessary AC_C_INLINE
31471         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
31473         stat-time: omit unnecessary AC_C_INLINE
31474         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
31475         Do not require AC_C_INLINE.
31477         ignore-value: omit unnecessary AC_C_INLINE
31478         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
31480         sys_select: avoid 'static inline'
31481         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
31483         mktime: avoid 'static inline'
31484         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
31485         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
31487 2012-08-19  Bruno Haible  <bruno@clisp.org>
31489         gnulib-tool: Improve coding style.
31490         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
31491         func_emit_lib_Makefile_am.
31492         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
31494 2012-08-19  Bruno Haible  <bruno@clisp.org>
31496         gnulib-tool: Fix indentation.
31497         * gnulib-tool (func_import): Fix indentation.
31499 2012-08-19  Bruno Haible  <bruno@clisp.org>
31501         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
31502         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
31503         on the list of removed files.
31505 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
31507         test-parse-datetime: avoid glibc leap-second glitch
31508         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
31509         with the 2012 rules.  Problem reported by Bruce Dubbs in
31510         <http://bugs.gnu.org/12206>.
31512 2012-08-14  Bruno Haible  <bruno@clisp.org>
31514         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
31515         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
31516         from argument.
31517         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
31519 2012-08-14  Eric Blake  <eblake@redhat.com>
31521         ldexp: relax license
31522         * modules/ldexp (License): Trivial relax, since the module only
31523         provides a permissively licensed m4 file.
31525 2012-08-13  Bruno Haible  <bruno@clisp.org>
31527         gnulib-tool: Fix persistence of --witness-c-macro option.
31528         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
31529         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
31531 2012-08-11  Eric Blake  <eblake@redhat.com>
31533         count-leading-zeros: use a lookup table on non-gcc compilers
31534         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
31535         alternate implementation, suggested by Jim Meyering.
31537 2012-08-10  Eric Blake  <eblake@redhat.com>
31539         count-leading-zeros: new module
31540         * modules/count-leading-zeros: New module.
31541         * m4/count-leading-zeros.m4: New file.
31542         * lib/count-leading-zeros.h: Likewise.
31543         * modules/count-leading-zeros-tests: New test.
31544         * tests/test-count-leading-zeros.c: New file.
31545         * MODULES.html.sh (Integer arithmetic functions): Document it.
31547 2012-08-07  Simon Josefsson  <simon@josefsson.org>
31548             Jim Meyering  <meyering@redhat.com>
31550         maintainer-makefile: Fix syntax error with dash.
31551         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
31552         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
31554 2012-08-05  Jim Meyering  <meyering@redhat.com>
31556         extern-inline: also ignore -Wmissing-declarations
31557         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
31558         required with gcc-4.8.0-to-be.
31560         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
31561         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
31562         for /error ?([^,]*)/.  This avoids false-positives for strings like
31563         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
31565 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
31567         gnumakefile: better interaction with Automake-NG
31568         * modules/gnumakefile [Makefile.am]: The makefiles generated by
31569         Automake-NG always contain a definition of VPATH, even in non-VPATH
31570         builds (its value being simply '.' in that case).  So, in the
31571         'clean-GNUmakefile' rule, to determine whether running under a
31572         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
31573         '$(VPATH)' expands to the empty string.
31575 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
31577         base64: Use extern C scope in header file, for C++.
31578         * lib/base64.h: Add C++ namespace protection.
31580 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
31582         stat-time, timespec, u64: support naive out-of-dir builds
31583         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
31584         Use '#include "foo.h"', not '#include <foo.h>', when including
31585         one's own interface.  This works better when configuring with
31586         out-of-directory builds, since packages need not add an
31587         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
31589 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
31591         utimens: use extern-inline
31592         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
31593         * lib/utimens.h: Add copyright notice, since this is now large enough
31594         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31595         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
31596         * modules/utimens (Depends-on): Add extern-inline.
31598         u64: use extern-inline
31599         * lib/u64.c: New file.
31600         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31601         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
31602         * modules/u64 (Files): Add lib/u64.c.
31603         (Depends-on): Add extern-inline.
31604         (configure.ac): No need to require AC_C_INLINE, since extern-inline
31605         does that now.
31606         (lib_SOURCES): Add u64.c.
31608         timespec: use extern-inline
31609         * lib/timespec.c: New file.
31610         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31611         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
31612         * modules/timespec (Files): Add lib/timespec.c.
31613         (Depends-on): Add extern-inline.
31614         (lib_SOURCES): Add timespec.c.
31616         stat-time: use extern-inline
31617         * lib/stat-time.c: New file.
31618         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
31619         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
31620         * modules/stat-time (Files): Add lib/stat-time.c.
31621         (Depends-on): Add extern-inline.
31622         (lib_SOURCES): Add stat-time.c.
31624         extern-inline: new module
31625         * modules/extern-inline, m4/extern-inline.m4: New files.
31626         This is for better support of 'extern inline' a la ISO C99,
31627         with a portable alternative on compilers that do not support
31628         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
31629         of the Emacs executable, when compiled with debugging disabled,
31630         which is a typical way that Emacs is built while developing.
31632 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
31634         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
31635         * build-aux/do-release-commit-and-tag: Move variable definitions
31636         together.
31637         ($branch): Instead of defaulting to "master", default to the current
31638         branch (as gnu-web-doc-update does).
31639         (help): Display the current values of the option arguments.
31640         * top/maint.mk (release-commit): New.
31641         * top/README-release: Simplify the corresponding step.
31643 2012-07-30  Eric Blake  <eblake@redhat.com>
31645         passfd: fix comment on recvfd
31646         * lib/passfd.c (recvfd): Fix comment.
31647         Reported by Jann Horn <jannhorn@googlemail.com>.
31649 2012-07-30  Jim Meyering  <meyering@redhat.com>
31651         maint.mk: avoid a sub-shell
31652         * top/maint.mk (release-prep): Remove unneeded sub-shell.
31654 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
31656         maint.mk: use silent-rules support from Automake
31657         * top/maint.mk (news-check, vc-diff-check, announcement)
31658         (no-submodule-changes, alpha beta stable, release-prep)
31659         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
31661 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
31663         maint.mk: provide a web-manual-update target
31664         * top/maint.mk: here.
31665         * top/README-release: Use it to simplify the web manual update step.
31667 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
31669         README-release: shorten the circuit to post a news
31670         * top/README-release: Point directly to the news submission form.
31672 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
31674         gnu-web-doc-update: fix --help
31675         * build-aux/gnu-web-doc-update: The information "top level" was written
31676         twice.
31678 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
31680         maint.mk: absolute VPATH issue
31681         * top/maint.mk (release-prep): Help Git find .git/.
31682         From Jim Meyering.
31684 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
31686         gitlog-to-changelog: fix previous change
31687         * build-aux/gitlog-to-changelog: Fix condition.
31688         Add missing ";".
31690 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
31692         gitlog-to-changelog: don't expect .git to be in $srcdir
31693         Reported by Bruno Haible.
31694         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
31695         * build-aux/gitlog-to-changelog (&git_dir_option): New.
31696         Use it.
31698 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
31700         maint.mk: absolute VPATH build fix
31701         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
31702         $(srcdir) is not a parent of $(builddir).
31704 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
31706         clean-temp: Fix memory leak.
31707         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
31708         'files' members of tmpdir.
31710 2012-07-27  Jim Meyering  <meyering@redhat.com>
31712         maint.mk: new rule: refresh-gnulib-patches
31713         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
31714         Use this rule to refresh them.
31715         * top/maint.mk (refresh-gnulib-patches): New rule.
31717 2012-07-24  Bruno Haible  <bruno@clisp.org>
31719         gnulib-tool: Fix handling of inctests variable.
31720         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
31721         Reported by Nick Bowler <nbowler@elliptictech.com>.
31723 2012-07-22  Bruno Haible  <bruno@clisp.org>
31725         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
31726         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
31727         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
31728         Remove exemption for getpass.h.
31729         Suggested by Eric Blake.
31731 2012-07-20  Eric Blake  <eblake@redhat.com>
31733         verify: document conflict with -Wnested-externs
31734         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
31736         maint.mk: forbid exit(-1)
31737         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
31739 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
31741         fsusage: port back to Solaris
31742         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
31743         error (fsd not declared) on Solaris 10.  Reported privately by
31744         Andrew Borodin.
31746 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
31748         gnu-web-doc-update: fix error messages
31749         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
31751         gnu-web-doc-update: check the requirements.
31752         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
31753         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
31754         * build-aux/bootstrap (find_tool): Comment change.
31756 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
31758         maint.mk: minor simplication.
31759         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
31760         for default values.
31762 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
31764         gitlog-to-changelog: VPATH build issues
31765         If builddir is not a subdirectory of srcdir, running git from it will
31766         fail.
31767         * build-aux/gitlog-to-changelog (--srcdir): New option.
31769 2012-07-15  Bruno Haible  <bruno@clisp.org>
31771         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
31772         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
31773         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
31774         Remove exemption for fpending.h.
31775         Suggested by Eric Blake.
31777 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
31779         pthread_sigmask: fix bug on FreeBSD 9
31780         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
31781         Include string.h.
31782         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
31783         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
31784         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
31785         but pthread_sigmask (1729, NULL, NULL) returns zero.
31786         See <http://bugs.gnu.org/11884>.
31787         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
31788         by inspecting whether the main call changed the old mask.
31790 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
31792         README-release: make it more legible
31793         * top/README-release: Improve typography slightly.
31795 2012-07-15  Jim Meyering  <meyering@redhat.com>
31797         maint: require that each sc_... command start with "@"
31798         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
31799         "make sc_maint" helps us avoid this nit.
31801 2012-07-15  Jim Meyering  <meyering@redhat.com>
31803         maint.mk: add leading "@" to quiet new "make syntax-check" rule
31804         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
31806 2012-07-13  Eric Blake  <eblake@redhat.com>
31808         maint.mk: new syntax check for HAVE_DECL checks
31809         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
31810         * cfg.mk
31811         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
31812         Exempt some false positives.
31813         Based on a report by Karel Zak.
31815         argp: make HAVE_DECL usage consistent
31816         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
31817         macros, not whether they are defined.
31818         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
31819         convention with other declaration checks.
31820         Reported by Karel Zak, with suggestions from Paul Eggert.
31822         stat-time: relax license to LGPLv2+
31823         * modules/stat-time (License): Relax, with consent of all authors.
31825         strndup: fix m4 usage error
31826         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
31827         defined, to either 0 or 1.
31828         Reported by Karel Zak.
31830 2012-07-11  Jim Meyering  <meyering@redhat.com>
31832         maint: enable the sc_avoid_if_before_free syntax-check rule
31833         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
31834         (if_before_free_offenders_): Define.
31835         (if_before_free_basename_re_): Define.
31836         Exempt current files with useless if-before-free.
31838 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
31840         gettext: do not assume '#define ... defined ...' behavior
31841         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
31842         Do not use '#define FOO ... defined BAR ...', as the C standard says
31843         it's not portable to expect that this works after macro expansion.
31844         Problem reported for gzip by Steven M. Schweda in
31845         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
31847 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
31849         getloadavg: clean out old Emacs and Autoconf cruft
31850         See Glenn Morris in <http://bugs.gnu.org/11905>.
31851         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
31852         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
31853         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
31854         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
31856 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
31858         bootstrap: let warn be like tests/init.sh's warn_
31859         Reported by Jim Meyering.
31860         * build-aux/bootstrap (warn): Remove, replaced by...
31861         (warnf_, warn_): these.
31862         Adjust callers.
31863         Shorten messages that no longer fit in 80 columns.
31865 2012-07-09  Bruno Haible  <bruno@clisp.org>
31867         getopt: Simplify after Emacs changed.
31868         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
31869         (gl_GETOPT_IFELSE): Remove macro.
31871 2012-07-09  Jim Meyering  <meyering@redhat.com>
31873         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
31874         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
31876         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
31877         Bugs in both of those conspired to make the
31878         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
31879         _sc_search_regexp's handling of non-empty $in_files would filter
31880         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
31881         choice of in_files value meant there would be no match in most
31882         projects, due to the presence of two or more Makefile.in files.
31883         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
31884         Fix a bug in how a non-empty $$in_files was processed:
31885         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
31886         in spite of the name, it's a regexp, not a list of file names.
31888 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
31890         getloadavg, getopt: fix commentary re configure.in
31891         Autoconf is deprecating the name 'configure.in', so change it to
31892         to the new name 'configure.ac' in a couple of places.
31893         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
31894         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
31895         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
31896         Emacs has renamed it to configure.ac, and it no longer refers
31897         to these macros anyway.
31899         timespec: mark functions with const attributes
31900         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
31901         Mark with _GL_ATTRIBUTE_CONST.
31903 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
31905         canonicalize[-lgpl]: handle "guessing" values when cross-building
31906         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31907         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
31908         matches "*yes" instead of just "yes".  Regression introduced in commit
31909         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
31911 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
31912             Bruno Haible  <bruno@clisp.org>
31914         canonicalize: make the right guess when cross-compiling to GNU
31915         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
31916         determine whether cross-compiling to glibc systems, so as to
31917         include GNU/Hurd.
31919 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
31921         timespec-sub: avoid duplicate include
31922         * lib/timespec-sub.c: Do not include <config.h> twice.
31923         Reported by Juanma Barranquero.
31925 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
31927         bootstrap: use a more consistent error reporting scheme
31928         * build-aux/bootstrap (warn, die): New.
31929         Use them.
31931 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
31933         sys_time: allow too-wide tv_sec
31934         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
31935         timeval even if tv_sec is wider than time_t.  This allows
31936         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
31937         as without this patch gnulib replaces struct timeval
31938         and OpenBSD futimes therefore has a type mismatch.
31939         * doc/posix-headers/sys_time.texi: Mention this.
31941         pthread: check for both pthread_create and pthread_join
31942         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
31943         alter the check so that it tests for both pthread_create and
31944         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
31945         Suggested by Bruno Haible and Richard Yao in
31946         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
31948         parse-datetime: doc tuneup
31949         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
31950         spacing issues.
31952 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
31954         do-release-commit-and-tag: fix the previous commit
31955         * build-aux/do-release-commit-and-tag: Actually the test was right,
31956         but the comment and the error message were misleading.
31957         Fix comment, and improve error message.
31958         Perform check first, so that NEWS is not modified uselessly.
31960         do-release-commit-and-tag: fix typo
31961         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
31962         _not_ start with a stub.
31964 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
31966         pthread: check for pthread_create, not pthread_join
31967         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
31968         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
31969         pthread_join in libc.  I hope this removes the need for all the
31970         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
31971         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
31973 2012-07-04  Jim Meyering  <meyering@redhat.com>
31975         parse-datetime: fix failure to diagnose invalid input
31976         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
31977         rather than diagnosing the invalid input.  Now it reports this:
31978         date: invalid date '\260'
31979         * lib/parse-datetime.y (to_uchar): Define.
31980         (yylex): Don't sign-extend "other" bytes.
31981         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
31982         Thanks to Bruno Haible for the patch to this file.
31983         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
31984         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
31986 2012-07-03  Jim Meyering  <meyering@redhat.com>
31988         bootstrap: do not require now-removed build-aux/missing
31989         Now that build-aux/missing is, er, missing, bootstrap would
31990         silently fail.
31991         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
31992         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
31993         no longer part of gnulib.
31994         Diagnose the failure.
31996 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
31998         alloca: add support for HP NonStop TNS/E native
31999         * lib/alloca.in.h (alloca): Support the new host.
32000         From a suggestion by Joachim Schmitz in
32001         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
32003 2012-07-02  Pádraig Brady  <P@draigBrady.com>
32005         fsusage: remove code not needed on non GNU/Linux systems.
32007         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
32008         Don't include headers no longer needed in this case.
32009         * lib/fsusage.c [STAT_STATVFS &&
32010         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
32011         STAT_STATFS2_FRSIZE to exclude code not used in this case.
32013 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
32015         fsusage: include files needed for glibc 2.6 fallback
32016         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
32017         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
32018         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
32019         Problem reported by Ludovic Courtès in
32020         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
32022         fsusage: avoid needless check on GNU/Linux
32023         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
32024         on GNU/Linux systems, since it can't possibly work.
32026 2012-07-01  Bruno Haible  <bruno@clisp.org>
32028         log: Fix an autoconf >= 2.64 warning.
32029         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
32030         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
32032 2012-06-28  Bruno Haible  <bruno@clisp.org>
32034         log10f: Fix possible configuration problem.
32035         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
32036         $LOGF_LIBM.
32037         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
32039 2012-06-28  Bruno Haible  <bruno@clisp.org>
32041         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
32042         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
32043         not gl_cv_func_unlink_works.
32044         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
32046 2012-06-27  Eric Blake  <eblake@redhat.com>
32048         config: drop scripts that automake says are not independent
32049         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
32050         * build-aux/elisp-comp: Delete.
32051         * build-aux/missing: Likewise.
32052         * build-aux/ylwrap: Likewise.
32053         * modules/elisp-comp: Likewise.
32054         * MODULES.html.sh: Drop mention of elisp-comp.
32055         * NEWS: Mention this.
32057 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
32059         root-uid: new module
32060         This is for portability to Tandem's NonStop Kernel.
32061         * lib/root-uid.h, modules/root-uid: New files.
32062         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
32063         * lib/write-any-file.c, tests/test-sethostname2.c:
32064         Include "root-uid.h".
32065         * lib/euidaccess.c (euidaccess):
32066         * lib/pt_chown.c (main):
32067         * lib/unlinkdir.c (cannot_unlink_dir):
32068         * lib/write-any-file.c (can_write_any_file):
32069         * m4/mknod.m4 (gl_FUNC_MKNOD):
32070         * tests/test-sethostname2.c (geteuid, main):
32071         Don't assume ROOT_UID == 0.
32072         * modules/euidaccess (Depends-on):
32073         * modules/pt_chown (Depends-on):
32074         * modules/sethostname-tests (Depends-on):
32075         * modules/unlinkdir (Depends-on):
32076         * modules/write-any-file (Depends-on):
32077         Add root-uid.
32079         regex: use locale-independent comparison for codeset name
32080         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
32081         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
32082         for codeset name.
32083         * lib/regex_internal.h: Do not include <strings.h>, since we
32084         no longer use strcasecmp.
32085         * modules/regex (Depends-on): Remove strcase.
32087 2012-06-23  Bruno Haible  <bruno@clisp.org>
32089         getopt-posix: No longer guarantee that option processing is resettable.
32090         * doc/posix-functions/getopt.texi: Drop description of problem with
32091         internal state. Fix info about mingw and msvc9.
32092         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
32093         option processing by getopt(). Run three test programs instead of one.
32094         Simplify cross-compilation guess.
32095         * NEWS: Mention the change.
32096         Reported by Rich Felker <dalias@aerifal.cx>.
32098 2012-06-26  Bruno Haible  <bruno@clisp.org>
32100         argp, regex: Ensure strcasecmp gets declared.
32101         * lib/argp-help.c: Include <strings.h>.
32102         * lib/regex_internal.h: Likewise.
32103         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
32105 2012-06-24  Bruno Haible  <bruno@clisp.org>
32107         ptsname_r: Make it consistent with ptsname on AIX.
32108         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
32109         implementation as for OSF/1.
32110         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
32111         a pty master.
32113         ptsname_r: Make it consistent with ptsname on OSF/1.
32114         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
32115         OSF/1.
32117 2012-06-24  Bruno Haible  <bruno@clisp.org>
32119         ttyname_r: Fix result on OSF/1, Solaris.
32120         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
32122 2012-06-24  Bruno Haible  <bruno@clisp.org>
32124         ptsname_r: Add support for Solaris.
32125         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
32126         Solaris.
32128         ptsname_r: Fix test failure on native Windows.
32129         * modules/ptsname_r (Depends-on): Add isatty.
32131         ptsname_r: Fix test failures on IRIX, Solaris.
32132         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
32133         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
32134         accordingly.
32135         * lib/ptsname_r.c: Include <fcntl.h>.
32136         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
32137         set errno if fd is invalid.
32138         * tests/test-isatty.c (main): Update comments.
32140 2012-06-24  Bruno Haible  <bruno@clisp.org>
32142         ptsname test: Extend test.
32143         * tests/test-ptsname.c: Include <errno.h>.
32144         (main): Test behaviour with invalid file descriptor.
32146 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
32148         time: fix obsolete comment
32149         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
32150         reference to HAVE_STRUCT_TIMESPEC in comment.
32152 2012-06-23  Bruno Haible  <bruno@clisp.org>
32154         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
32155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
32156         does not handle abbreviated long options with equivalent
32157         disambiguations, set gl_replace_getopt to yes.
32158         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
32160 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
32162         time_r: fix typo that always overrode localtime_r decl
32163         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
32164         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
32165         not in a standard include.
32167 2012-06-22  Bruno Haible  <bruno@clisp.org>
32169         Write "Mac OS X" instead of "MacOS X".
32170         * README: Write "Mac OS X" instead of "MacOS X".
32171         * build-aux/bootstrap: Likewise.
32172         * build-aux/install-reloc: Likewise.
32173         * lib/acl-internal.h: Likewise.
32174         * lib/acl_entries.c: Likewise.
32175         * lib/argp-ba.c: Likewise.
32176         * lib/argp-pv.c: Likewise.
32177         * lib/config.charset: Likewise.
32178         * lib/copy-acl.c: Likewise.
32179         * lib/csharpexec.c: Likewise.
32180         * lib/euidaccess.c: Likewise.
32181         * lib/fbufmode.c: Likewise.
32182         * lib/fflush.c: Likewise.
32183         * lib/file-has-acl.c: Likewise.
32184         * lib/filemode.h: Likewise.
32185         * lib/fpurge.c: Likewise.
32186         * lib/freadable.c: Likewise.
32187         * lib/freadahead.c: Likewise.
32188         * lib/freading.c: Likewise.
32189         * lib/freadptr.c: Likewise.
32190         * lib/freadseek.c: Likewise.
32191         * lib/fseeko.c: Likewise.
32192         * lib/fseterr.c: Likewise.
32193         * lib/fsusage.c: Likewise.
32194         * lib/fwritable.c: Likewise.
32195         * lib/fwriting.c: Likewise.
32196         * lib/get-rusage-as.c: Likewise.
32197         * lib/get-rusage-data.c: Likewise.
32198         * lib/getdomainname.c: Likewise.
32199         * lib/idpriv-drop.c: Likewise.
32200         * lib/idpriv-droptemp.c: Likewise.
32201         * lib/localcharset.c: Likewise.
32202         * lib/locale.in.h: Likewise.
32203         * lib/localename.c: Likewise.
32204         * lib/mbsrtowcs-state.c: Likewise.
32205         * lib/nproc.c: Likewise.
32206         * lib/passfd.c: Likewise.
32207         * lib/posix_openpt.c: Likewise.
32208         * lib/printf-parse.c: Likewise.
32209         * lib/progreloc.c: Likewise.
32210         * lib/safe-read.h: Likewise.
32211         * lib/safe-write.h: Likewise.
32212         * lib/sched.in.h: Likewise.
32213         * lib/set-mode-acl.c: Likewise.
32214         * lib/signal.in.h: Likewise.
32215         * lib/stdint.in.h: Likewise.
32216         * lib/stdio-impl.h: Likewise.
32217         * lib/stdlib.in.h: Likewise.
32218         * lib/strtod.c: Likewise.
32219         * lib/sys_select.in.h: Likewise.
32220         * lib/tcgetsid.c: Likewise.
32221         * lib/unistd.in.h: Likewise.
32222         * lib/unlockpt.c: Likewise.
32223         * lib/vasnprintf.c: Likewise.
32224         * lib/vma-iter.c: Likewise.
32225         * lib/wcsrtombs-state.c: Likewise.
32226         * m4/acl.m4: Likewise.
32227         * m4/acosl.m4: Likewise.
32228         * m4/asinl.m4: Likewise.
32229         * m4/atanl.m4: Likewise.
32230         * m4/c-stack.m4: Likewise.
32231         * m4/cosl.m4: Likewise.
32232         * m4/expl.m4: Likewise.
32233         * m4/extensions.m4: Likewise.
32234         * m4/fdatasync.m4: Likewise.
32235         * m4/fmal.m4: Likewise.
32236         * m4/frexp.m4: Likewise.
32237         * m4/frexpf.m4: Likewise.
32238         * m4/frexpl.m4: Likewise.
32239         * m4/fsusage.m4: Likewise.
32240         * m4/getdomainname.m4: Likewise.
32241         * m4/getloadavg.m4: Likewise.
32242         * m4/getopt.m4: Likewise.
32243         * m4/gettext.m4: Likewise.
32244         * m4/gnulib-common.m4: Likewise.
32245         * m4/intdiv0.m4: Likewise.
32246         * m4/intlmacosx.m4: Likewise.
32247         * m4/largefile.m4: Likewise.
32248         * m4/ldexpl.m4: Likewise.
32249         * m4/link-follow.m4: Likewise.
32250         * m4/locale-ar.m4: Likewise.
32251         * m4/locale-fr.m4: Likewise.
32252         * m4/locale-ja.m4: Likewise.
32253         * m4/locale-tr.m4: Likewise.
32254         * m4/locale-zh.m4: Likewise.
32255         * m4/locale_h.m4: Likewise.
32256         * m4/lock.m4: Likewise.
32257         * m4/logl.m4: Likewise.
32258         * m4/mathfunc.m4: Likewise.
32259         * m4/minus-zero.m4: Likewise.
32260         * m4/mktime.m4: Likewise.
32261         * m4/mmap-anon.m4: Likewise.
32262         * m4/multiarch.m4: Likewise.
32263         * m4/nanosleep.m4: Likewise.
32264         * m4/nocrash.m4: Likewise.
32265         * m4/poll.m4: Likewise.
32266         * m4/printf-frexpl.m4: Likewise.
32267         * m4/printf.m4: Likewise.
32268         * m4/signbit.m4: Likewise.
32269         * m4/sinl.m4: Likewise.
32270         * m4/sqrtl.m4: Likewise.
32271         * m4/strerror_r.m4: Likewise.
32272         * m4/tanl.m4: Likewise.
32273         * m4/threadlib.m4: Likewise.
32274         * m4/ttyname_r.m4: Likewise.
32275         * m4/unlink.m4: Likewise.
32276         * m4/visibility.m4: Likewise.
32277         * m4/wcwidth.m4: Likewise.
32278         * tests/minus-zero.h: Likewise.
32279         * tests/test-alloca-opt.c: Likewise.
32280         * tests/test-copy-acl.sh: Likewise.
32281         * tests/test-copy-file.sh: Likewise.
32282         * tests/test-fdatasync.c: Likewise.
32283         * tests/test-file-has-acl.sh: Likewise.
32284         * tests/test-flock.c: Likewise.
32285         * tests/test-fsync.c: Likewise.
32286         * tests/test-localename.c: Likewise.
32287         * tests/test-malloca.c: Likewise.
32288         * tests/test-nonblocking-pipe.h: Likewise.
32289         * tests/test-nonblocking-socket.h: Likewise.
32290         * tests/test-openpty.c: Likewise.
32291         * tests/test-posix_openpt.c: Likewise.
32292         * tests/test-ptsname.c: Likewise.
32293         * tests/test-ptsname_r.c: Likewise.
32294         * tests/test-sameacls.c: Likewise.
32295         * tests/test-select.h: Likewise.
32296         * tests/test-set-mode-acl.sh: Likewise.
32297         * tests/test-snprintf-posix.h: Likewise.
32298         * tests/test-sprintf-posix.h: Likewise.
32299         * tests/test-strtod.c: Likewise.
32300         * tests/test-time.c: Likewise.
32301         * tests/test-vasnprintf-posix.c: Likewise.
32302         * tests/test-vasprintf-posix.c: Likewise.
32303         * doc/acl-resources.txt: Likewise.
32304         * doc/**/*.texi: Likewise.
32305         Reported by Max Horn <max@quendi.de>.
32307 2012-06-22  Bruno Haible  <bruno@clisp.org>
32309         grantpt: Relax requirement regarding invalid file descriptors.
32310         * lib/grantpt.c: Don't include <fcntl.h>.
32311         (grantpt): Don't verify the validity of the file descriptor.
32312         * modules/grantpt (Depends-on): Remove fcntl-h.
32313         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
32314         file descriptors.
32315         * doc/posix-functions/grantpt.texi: Document more platforms on which
32316         grantpt succeeds for invalid file descriptors.
32317         Reported by Rich Felker <dalias@aerifal.cx>.
32319 2012-06-22  Bruno Haible  <bruno@clisp.org>
32321         fbufmode test: Don't test unportable behaviour.
32322         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
32323         (main): Invoke it three times.
32324         Reported by Szabolcs Nagy <nsz@port70.net>
32325         and Rich Felker <dalias@aerifal.cx>.
32327 2012-06-21  Bruno Haible  <bruno@clisp.org>
32329         gnulib-tool: Refactor inctests variable.
32330         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
32331         (func_modules_transitive_closure,
32332         func_modules_transitive_closure_separately,
32333         func_import, func_create_testdir): Update.
32335         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
32336         * gnulib-tool: Accept option --without-tests.
32337         (func_usage): Document --without-tests option. Rearrange.
32338         (inctests): Normalize according to the mode.
32339         * NEWS: Mention the change.
32340         Suggested by Simon Josefsson.
32342 2012-06-21  Bruce Korb  <bkorb@gnu.org>
32344         parse-duration test: Avoid spurious output.
32345         * tests/test-parse-duration.sh: Reindent with leading tabs.
32347 2012-06-21  Jim Meyering  <meyering@redhat.com>
32349         maint: disable the strncpy prohibition
32350         * cfg.mk: Do not prohibit strncpy here.
32352 2012-06-21  Bruno Haible  <bruno@clisp.org>
32354         nonblocking: Avoid compilation error on mingw64.
32355         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
32356         fscanf.
32357         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
32358         * modules/vfscanf (configure.ac): Likewise.
32359         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
32360         definition only if stdio.h has prepared it.
32361         Reported by Daniel P. Berrange <berrange@redhat.com>.
32363 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
32365         gnulib-tool: Use readlink if it is available.
32366         * gnulib-tool (func_readlink): Choose function more appropriately.
32368 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
32370         posixtm-tests: port to buggy compiler
32371         Problem reported by Simon Josefsson in
32372         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
32373         * modules/posixtm-tests (Depends-on): Add stdint.
32374         * tests/test-posixtm.c (struct posixtm_test.t_expected):
32375         Now of type int_least64_t, not int64_t, both because that's
32376         what INT64_C returns and because int_least64_t works even
32377         on 72-bit hosts.
32378         (T): Use INT64_C on constants outside the traditional int range,
32379         to work around compiler bug noted by Simon.
32381         mktime: fix integer overflow in 'configure'-time test
32382         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
32383         after integer overflow.  Problem reported by Rich Felker in
32384         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
32385         Also, don't look for further instances of a bug if we've already
32386         found one instance; this helps 'configure' run faster.
32388 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
32390         tmpfile, clean-temp: Fix invocation of GetVersionEx.
32391         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
32392         GetVersionEx correctly.
32393         * lib/clean-temp.c (supports_delete_on_close): Likewise.
32395 2012-06-20  Bruno Haible  <bruno@clisp.org>
32397         fdopen: Allow implementations that don't reject invalid fd arguments.
32398         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
32399         succeeds.
32400         Reported by Rich Felker <dalias@aerifal.cx>.
32402 2012-06-20  Simon Josefsson  <simon@josefsson.org>
32404         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
32405         bring in LIBINTL.
32407 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
32409         init.sh: do not rely on autoupated PWD
32410         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
32411         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
32412         Although Nelson's bug was not necessarily fixed by this patch,
32413         it seems wise to make the change for safety.
32414         * tests/init.sh (path_prepend_): Do not rely on PWD updating
32415         automagically after 'cd'; this is not reliable on older shells.
32416         (setup_): Fail if we cannot cd to temporary directory.
32418 2012-06-19  Bruno Haible  <bruno@clisp.org>
32420         stat, fstat: Avoid warnings on mingw64.
32421         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
32422         redefining.
32423         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
32424         Reported by Daniel P. Berrange <berrange@redhat.com>.
32426 2012-06-19  Bruno Haible  <bruno@clisp.org>
32428         stdioext: Add support for musl libc.
32430         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
32431         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
32433         * m4/fseterr.m4: New file.
32434         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
32435         function exists.
32436         * modules/fseterr (Files): Add m4/fseterr.m4.
32437         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
32438         __fseterr does not exist.
32439         (Makefile.am): Remove fseterr.c from lib_SOURCES.
32441         * lib/freadable.h: Update comment.
32443         * lib/fwritable.h: Update comment.
32445         * lib/freading.h: Update comment.
32447         * lib/fwriting.h: Update comment.
32449         * m4/freadahead.m4: New file.
32450         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
32451         that function exists.
32452         * modules/freadahead (Files): Add m4/freadahead.m4.
32453         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
32454         __freadahead does not exist.
32455         (Makefile.am): Remove freadahead.c from lib_SOURCES.
32457         * m4/freadptr.m4: New file.
32458         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
32459         function exists.
32460         * modules/freadptr (Files): Add m4/freadptr.m4.
32461         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
32462         __freadptr does not exist.
32463         (Makefile.am): Remove freadptr.c from lib_SOURCES.
32465         * m4/freadseek.m4: New file.
32466         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
32467         exists.
32468         * modules/freadseek (Files): Add m4/freadseek.m4.
32469         (configure.ac): Invoke gl_FUNC_FREADSEEK.
32471         * lib/fpurge.c (fpurge): Update comment.
32473         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
32475 2012-06-19  Bruno Haible  <bruno@clisp.org>
32477         *printf-posix: Put more info into config.log.
32478         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
32479         exit code into config.log.
32481 2012-06-19  Bruno Haible  <bruno@clisp.org>
32483         getopt-gnu: Fix exit code overflow in autoconf test.
32484         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
32485         to keep them below < 128.
32487 2012-06-17  Jim Meyering  <meyering@redhat.com>
32489         maint.mk: fix typo in code to derive GPG key at release time
32490         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
32492 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
32494         regex: avoid warning when pointers are not long
32495         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
32496         and uintptr_t, not long, for portability to hosts where pointers and
32497         long have different sizes.  Issue noted by Daniel P. Berrange in
32498         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
32499         and fix suggested by Bruno Haible in
32500         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
32502 2012-06-17  Bruno Haible  <bruno@clisp.org>
32504         dummy: Relicense into the public domain.
32505         * modules/dummy (License): Set to "public domain".
32506         Suggested by Reuben Thomas.
32508 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
32510         announce-gen: VPATH issues
32511         * build-aux/announce-gen (--srcdir): New option, used to trim the
32512         $srcdir part of the path from $builddir to NEWS.
32513         * top/maint.mk (announcement): Adjust.
32515 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
32517         gnu-web-doc-update: VPATH builds
32518         * build-aux/gnu-web-doc-update (--builddir): New option.
32519         Revamp the handling of options.
32520         Prefer $(...) to `...`.
32521         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
32522         the template, and it is GNU mktemp specific.
32523         Prefer set -e to long series of &&.
32524         Restore the initial git branch, not "master".
32525         Properly initialize submodules (don't rely only on bootstrap).
32526         Do not reconfigure blindly, use config.status.
32527         * top/README-release: Update instructions for gnu-web-doc-update.
32529 2012-06-11  Jim Meyering  <meyering@redhat.com>
32531         maint.mk: revert most of the previous change re "all these"
32532         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
32533         For rationale, see the discussion at
32534         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
32536 2012-06-10  Karl Berry  <karl@gnu.org>
32538         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
32540         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
32542 2012-06-10  Bruce Korb  <bkorb@gnu.org>
32544         parse-duration: Relicense under LGPLv2+.
32545         * modules/parse-duration (License): Change to LGPLv2+.
32547 2012-06-10  Jim Meyering  <meyering@redhat.com>
32549         maint.mk: prohibit common grammar error: "all these"
32550         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
32551         the list of prohibited word sequences.  It should be "all of these".
32552         * lib/tempname.c (__gen_tempname): Fix one of them.
32554 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
32556         do-release-commit-and-tag: support VPATH builds
32557         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
32558         (noteworthy): Defined earlier to factor its value.
32559         (noteworthy_stub): New.
32560         Use it to factor.
32561         (help_version): Split into...
32562         (help, version): these.
32563         Adjust the option processing part.
32564         Support "--option=value" in addition to "--option value".
32565         (builddir): New.
32566         (--builddir): New option.
32567         * top/README-release: Document this.
32568         Reword slightly so that the reader cannot understand that he
32569         has to do these steps before calling do-release-commit-and-tag.
32571 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
32573         readme-release: also require announce-gen and maintainer-makefile
32574         * modules/readme-release (Depends-on): here.
32575         * modules/announce-gen, modules/do-release-commit-and-tag,
32576         modules/gnu-web-doc-update, modules/maintainer-makefile
32577         (Description): Point to readme-release.
32579 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
32581         maint.mk: fix VPATH issues.
32582         * top/maint.mk (news-check): GNU Make understand $< very well.
32583         (release-prep): NEWS is in $(srcdir).
32585 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
32587         readme-release: require the promoted modules.
32588         * modules/readme-release (Depends-on): Add
32589         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
32590         in this text.
32592 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
32593             Bruno Haible  <bruno@clisp.org>
32595         error, strerror-override: Support mingw64 from Fedora 17.
32596         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
32597         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
32598         EINPROGRESS.
32599         * lib/strerror-override.h (strerror_override): Test it.
32600         * lib/strerror-override.c (strerror_override): Likewise.
32601         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
32603 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
32604             Bruno Haible  <bruno@clisp.org>
32606         error, strerror-override: Support mingw64 from Fedora 17.
32607         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
32608         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
32609         * lib/strerror-override.h (strerror_override): Test it.
32610         * lib/strerror-override.c (strerror_override): Likewise.
32612 2012-06-03  Bruno Haible  <bruno@clisp.org>
32614         error, strerror-override: Support new errno values from POSIX:2008.
32615         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
32616         ENOTRECOVERABLE.
32617         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
32618         platforms.
32619         * lib/strerror-override.c (strerror_override): Conditionalize the
32620         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
32621         * lib/strerror-override.h (strerror_override): Declare also if
32622         GNULIB_defined_EOWNERDEAD is defined.
32623         * tests/test-errno.c (e130, e131): New variables.
32624         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
32625         ENOTRECOVERABLE.
32626         Reported by Paolo Bonzini.
32628 2012-05-31  Jim Meyering  <meyering@redhat.com>
32630         savewd: add missing dependency on sys_wait module
32631         * modules/savewd (Depends-on): Add sys_wait, needed at least
32632         for MSVC.  Report and suggested change by Michael Goffioul.
32634 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
32636         system-quote-tests: port to CentOS 5
32637         Problem reported by Tom G. Christensen in
32638         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
32639         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
32641 2012-05-29  Jim Meyering  <meyering@redhat.com>
32643         maint: fix typos in comments and ChangeLog
32644         Culprits identified and fixed mostly automatically using these commands:
32645         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
32646         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
32647         using http://github.com/lyda/misspell-check
32648         * ChangeLog: Fix typos.
32649         * doc/solaris-versions: Likewise.
32650         * lib/regexec.c (re_search_stub): Likewise.
32651         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
32653 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
32655         manywarnings: remove duplicate -Wmultichar entry
32656         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
32657         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
32658         so keep the entry marked as documented.
32660 2012-05-27  Karl Berry  <karl@gnu.org>
32662         * config/srclist.txt (mktime.c): remove last libc sync,
32663         perhaps just temporarily.
32665 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
32667         regex: don't assume uint64_t or uint32_t
32668         * lib/regcomp.c (init_word_char): Don't assume that the types
32669         uint64_t and uint32_t exist.  The C standard doesn't guarantee
32670         them, and on some 32-bit compilers there is no uint64_t.
32671         Problem reported by Gianluigi Tiesi in
32672         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
32674 2012-05-25  Jim Meyering  <meyering@redhat.com>
32676         maint.mk: add strncpy-prohibiting syntax-check rule
32677         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
32679 2012-05-24  Jim Meyering  <meyering@redhat.com>
32681         maint.mk: compute $(gpg_key_ID) more portably
32682         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
32683         That use of sed is not portable to some fringe systems.
32684         Reported by Paul Eggert in
32685         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
32687 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
32689         mktime: sync from glibc
32690         * config/srclist.txt: Uncomment mktime.c.
32691         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
32692         First, indent with tabs, since glibc uses tabs and doesn't want to
32693         change and we'd rather be identical to glibc.  Also, two small
32694         coding changes:
32695         (isdst_differ): Use &&, not &, as && is the usual style.
32696         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
32697         for clarity.
32699 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
32701         announce-gen: du -h is more portable than du --human
32702         * build-aux/announce-gen (sizes): Invoke du with -h instead
32703         of --human.  Accept leading white space in its output.
32705 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
32707         announce-gen: Improve diagnostics.
32708         * build-aux/announce-gen: When parsing command line options,
32709         prefer "announce-gen: option --release-type requires an argument"
32710         to "Option release-type requires an argument".
32712 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
32714         maint.mk: gpg_key_ID: use sed more portably
32715         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
32716         the closing brace.
32717         (refresh-po): Fuse two sed invocations into one.
32719 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
32721         gitlog-to-changelog: support the log message format used in Bison.
32722         * build-aux/gitlog-to-changelog: Support --strip-tab and
32723         --strip-cherry-picked.
32725 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
32727         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
32728         the rest of the current time slice to another thread in the current
32729         process. So if the thread that feeds the file decscriptor we're
32730         polling is not in the current process, we get busy-waiting.
32731         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
32732         Patch from Theodore Leblond.
32733         * lib/select.c: Split polling out of the loop that sets the output
32734         fd_sets.  Check for zero result and loop if the wait timeout is
32735         infinite.
32737 2012-05-21  Simon Josefsson  <simon@josefsson.org>
32739         select: Fix build error on IRIX 6.5.
32740         * lib/select.c: Include stddef.h for NULL.
32742 2012-05-21  Simon Josefsson  <simon@josefsson.org>
32744         gc: fix libgcrypt detection on older machines.
32745         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
32746         copyright years because the file has been distributed every year
32747         since it was created.
32749 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
32751         crypto: fix bug in large buffer handling
32752         Problem reported by Serge Belyshev for glibc in
32753         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
32754         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
32755         * lib/md4.c (md4_process_block):
32756         * lib/md5.c (md5_process_block):
32757         * lib/sha1.c (sha1_process_block):
32758         * lib/sha256.c (sha256_process_block):
32759         Don't assume the buffer length is less than 2**32.
32760         * lib/sha512.c (sha512_process_block): Likewise.
32761         Here, the bug is present only in the rare case where the host does
32762         not support uint64_t or where size_t is wider than 64 bits.
32763         Use u64size to work around the problems.
32764         * lib/u64.h (u64size): New macro.
32766 2012-05-15  Pádraig Brady  <P@draigBrady.com>
32768         fsusage: fix block size returned on older Linux 2.6
32770         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
32771         which is available since Linux 2.6.
32772         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
32773         when the member is available so it can be used as a fallback.
32774         * doc/posix-functions/statvfs.texi: Mention the hang issue
32775         on Linux < 2.6.36.
32777 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
32779         bootstrap: suppress stderr chatter
32780         * build-aux/bootstrap (insert_sorted_if_absent, main program):
32781         Omit unnecessary chatter to stderr.  The main program chatter
32782         was there only inadvertantly.
32784         bootstrap: .gitignore files created by autopoint, libtool
32785         I ran into this problem when bootstrapping the latest diffutils.
32786         After './bootstrap', 'git status' reported lots of untracked files
32787         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
32788         autopoint and do not need to be version-controlled.
32789         * build-aux/bootstrap: Put into .gitignore the files that
32790         autopoint and libtool create, by keeping track of files that exist
32791         after but not before these programs are run.
32792         (version_controlled_file): Move up.  2nd arg is now full file
32793         name, not base name; this is more convenient.  Put CVS at the end,
32794         as it's now somewhat deprecated.
32796 2012-05-14  Jim Meyering  <meyering@redhat.com>
32798         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
32799         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
32800         definition.  Reported by Bruno Haible.
32802 2012-05-13  Bruno Haible  <bruno@clisp.org>
32803             Paul Eggert  <eggert@cs.ucla.edu>
32805         binary-io: Define set_binary_mode function.
32806         * lib/binary-io.h (set_binary_mode): New function.
32807         (SET_BINARY): Define in terms of set_binary_mode.
32808         * modules/binary-io (configure.ac): Require AC_C_INLINE.
32809         * tests/test-binary-io.c (main): Accept an argument, and test either
32810         set_binary_mode or SET_BINARY depending on the argument.
32811         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
32812         argument. Clean up also t-bin-out0.tmp.
32814 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
32816         bootstrap: take advantage of POSIX shell features
32818         The 'bootstrap' script offered by Gnulib script already uses POSIX
32819         shell features (like $((...)) arithmetic expansions) that are not
32820         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
32821         means that bootstrap must already be run using a proper POSIX shell,
32822         which will thus provide more features, like ${var#pattern} parameter
32823         expansion or inversion of a command exit status with '!'.  We can
32824         thus use these features to improve the clarity and the performances
32825         of the bootstrap script.
32827         Suggested by Eric Blake.
32829         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
32830         of sed/expr plus command substitutions, to save some forks.  While
32831         we are at it, prefer the POSIX $(...) form of command substitution,
32832         rather than the legacy form `...` (since the former is visually
32833         clearer and interacts better with quoting), and prefer the idiom:
32834           "if ! CMD; then ACTION ..."
32835         over the idiom:
32836           "if CMD; then :; else ACTION ..."
32837         which was required by legacy Bourne shells not supporting '!'.
32839 2012-05-12  Bruno Haible  <bruno@clisp.org>
32841         system-quote: Add more comments.
32842         * lib/system-quote.h: Add more comments about wilcards and limitations.
32843         Suggested by Eli Zaretskii <eliz@gnu.org>.
32845         sh-quote, system-quote: Add comments about wildcards.
32846         * lib/sh-quote.h: Clarify what happens with wildcard characters.
32847         * lib/system-quote.h: Likewise.
32848         Reported by Eli Zaretskii <eliz@gnu.org>.
32850 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
32852         fsusage: check for GNU/Linux statvfs problem dynamically
32853         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
32854         Define STAT_STATFS2_BSIZE too, since in this case the code now
32855         checks dynamically whether statvfs is reliable, falling back on
32856         Linux-style statfs otherwise.
32857         (statvfs_works): New function, for dynamically testing statvfs.
32858         (get_fs_usage) [STAT_STATVFS]: Use it.
32859         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
32860         statvfs on GNU/Linux hosts, since it's now done dynamically.
32862 2012-05-10  Bruno Haible  <bruno@clisp.org>
32864         system-quote, execute, spawn-pipe: Escape '?' on Windows.
32865         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
32866         '?' character.
32867         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
32868         * tests/test-system-quote-main.c (check_all): Check also strings like
32869         "??????????".
32870         Reported by Eli Zaretskii <eliz@gnu.org>.
32872 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
32874         _Noreturn: port config.h to gcc -Wundef
32875         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
32876         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
32877         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
32879 2012-05-10  Bruno Haible  <bruno@clisp.org>
32881         system-quote: Refactor.
32882         * lib/system-quote.h (system_quote_copy): Fix comment.
32883         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
32884         New functions, extracted from system_quote_copy.
32885         (system_quote_length, system_quote_copy): Use these functions.
32886         Reported by Paul Eggert.
32888 2012-05-08  Bruno Haible  <bruno@clisp.org>
32890         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
32891         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
32893 2012-05-08  Bruno Haible  <bruno@clisp.org>
32895         Tests for module 'system-quote'.
32896         * modules/system-quote-tests: New file.
32897         * tests/test-system-quote.sh: New file.
32898         * tests/test-system-quote-main.c: New file.
32899         * tests/test-system-quote-child.c: New file.
32901         New module 'system-quote'.
32902         * lib/system-quote.h: New file.
32903         * lib/system-quote.c: New file.
32904         * modules/system-quote: New file.
32906 2012-05-08  Bruno Haible  <bruno@clisp.org>
32908         sh-quote: Make C++ safe and allow multiple inclusion.
32909         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
32910         declarations in extern "C".
32912 2012-05-08  Bruno Haible  <bruno@clisp.org>
32914         sh-quote tests: Make tests stricter.
32915         * tests/test-sh-quote.c (check_one): Check the return value of
32916         shell_quote_copy.
32917         (main): Check a string with a CR character. Check a string that
32918         contains UCHAR_MAX.
32920 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
32922         warnings.m4: provide a means to specify the program to compile.
32923         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
32924         (gl_WARN_ADD): here.
32925         Use gl_AS_VAR_APPEND.
32926         Support an argument to specify the program to compile.
32927         (gl_WARN_ADD): Accept an argument to specify the program to compile.
32928         AC_SUBST the WARN_CFLAGS when they are used.
32929         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
32930         leave this to gl_WARN_ADD.
32932 2012-05-08  Eric Blake  <eblake@redhat.com>
32934         doc: recommendations on gettext version
32935         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
32936         choice between versions.
32937         * DEPENDENCIES (gettext): Cover both approaches.
32939 2012-05-08  Jim Meyering  <meyering@redhat.com>
32941         init.sh: explain why EXEEXT support uses aliases rather than functions
32942         * tests/init.sh: Add a comment.
32944         init.sh: don't let bash aliases interfere with tests
32945         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
32946         is bash.  This avoids problems for those who alias standard commands to
32947         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
32948         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
32950 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
32952         stdint: be more consistent with glibc, SunOS libc
32953         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
32954         (gl_int_fast16_t, gl_uint_fast16_t)
32955         (gl_int_fast32_t, gl_uint_fast32_t)
32956         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
32957         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
32958         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
32959         Be consistent with glibc by default, and with SunOS 5.10 and later
32960         if __sun is defined.  This lessens the likelihood of clashes if
32961         code compiled for older hosts is combined with code compiled for
32962         newer ones.  Problem reported by Niels Möller in
32963         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
32965 2012-05-07  Eric Blake  <eblake@redhat.com>
32967         isatty: relax license to LGPLv2+
32968         * modules/isatty (License): Relax license.
32970 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
32972         stat-size: comment fix
32973         * lib/stat-size.h: Remove obsolete comment about indenting.
32975 2012-05-06  Bruno Haible  <bruno@clisp.org>
32977         Tests for module 'sh-quote'.
32978         * modules/sh-quote-tests: New file.
32979         * tests/test-sh-quote.c: New file.
32981 2012-05-06  Bruno Haible  <bruno@clisp.org>
32983         sh-quote: Improve shell_quote_argv's signature.
32984         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
32985         * lib/sh-quote.c (shell_quote_argv): Likewise.
32987 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
32989         stdint: document issues with int_fast8_t etc.
32990         * doc/posix-headers/stdint.texi (stdint.h): Say that other
32991         stdint.h substitutes may define these types differently.  See
32992         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
32994 2012-05-05  Bruno Haible  <bruno@clisp.org>
32996         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
32997         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
32998         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
32999         or 'guessing no (mishandles large arguments)'.
33001 2012-05-05  Bruno Haible  <bruno@clisp.org>
33003         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
33004         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
33005         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
33006         set gl_cv_func_link_follows_symlink to "guessing no".
33008 2012-05-05  Bruno Haible  <bruno@clisp.org>
33010         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
33011         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
33012         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
33013         "guessing no".
33014         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
33016 2012-05-05  Bruno Haible  <bruno@clisp.org>
33018         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
33019         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
33020         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
33021         set gl_cv_struct_dirent_d_ino to "guessing yes".
33023 2012-05-05  Bruno Haible  <bruno@clisp.org>
33025         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
33026         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
33027         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
33028         "guessing yes".
33030 2012-05-05  Bruno Haible  <bruno@clisp.org>
33032         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
33033         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
33034         compiling to a glibc system, set gl_cv_func_signbit and
33035         gl_cv_func_signbit_gcc to "guessing yes".
33037 2012-05-05  Bruno Haible  <bruno@clisp.org>
33039         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
33040         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
33041         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
33042         to "guessing yes".
33043         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
33044         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
33046 2012-05-05  Bruno Haible  <bruno@clisp.org>
33048         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
33049         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
33050         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
33051         gl_cv_func_realpath_works to "guessing yes".
33053 2012-05-05  Bruno Haible  <bruno@clisp.org>
33055         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
33056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
33057         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
33059 2012-05-04  Bruno Haible  <bruno@clisp.org>
33061         Tweak last commit.
33062         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
33063         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33065 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
33067         unistd_h: make it easier to avoid sys_types_h
33068         This is useful for Emacs, which has its own method of porting to
33069         Windows, and which therefore does not need the sys_types_h module.
33070         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
33071         code moved here from gl_SYS_TYPES_H.
33072         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
33073         using the code directly.
33074         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
33075         gl_SYS_TYPES_H.
33076         * modules/sys_types (Files):
33077         * modules/unistd (Files): Add m4/off_t.m4.
33079 2012-05-03  Bruno Haible  <bruno@clisp.org>
33081         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
33082         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
33083         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
33084         "guessing yes" or "guessing no".
33085         (gl_FUNC_LSTAT): Update.
33086         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
33087         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
33088         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
33090 2012-05-03  Bruno Haible  <bruno@clisp.org>
33092         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
33093         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
33094         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
33095         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
33096         cross-compiling, choose the first alternative on glibc systems.
33097         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
33099 2012-05-03  Bruno Haible  <bruno@clisp.org>
33101         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
33102         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
33103         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
33105 2012-05-03  Bruno Haible  <bruno@clisp.org>
33107         chown: Avoid "guessing no" when cross-compiling to glibc systems.
33108         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
33110 2012-05-03  Bruno Haible  <bruno@clisp.org>
33112         Avoid "guessing no" guesses when cross-compiling to glibc systems.
33113         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
33114         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
33115         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
33116         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
33117         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
33118         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
33119         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
33120         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
33121         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
33122         compiling to glibc systems, set gl_cv_func_chown_slash_works,
33123         gl_cv_func_chown_ctime_works to "guessing yes".
33124         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
33125         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
33126         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
33127         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
33128         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
33129         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
33130         compiling to glibc systems, set gl_cv_func_open_directory_works to
33131         "guessing yes".
33132         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
33133         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
33134         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
33135         "guessing yes".
33136         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
33137         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
33138         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
33139         compiling to glibc systems, set gl_cv_func_floorf_ieee to
33140         "guessing yes".
33141         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
33142         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
33143         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
33144         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
33145         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
33146         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
33147         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
33148         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
33149         "guessing yes".
33150         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
33151         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
33152         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
33153         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
33154         "guessing yes".
33155         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
33156         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
33157         "guessing yes".
33158         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
33159         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
33160         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
33161         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
33162         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
33163         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
33164         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
33165         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
33166         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
33167         compiling to glibc systems, set gl_cv_func_log10f_ieee to
33168         "guessing yes".
33169         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
33170         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
33171         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
33172         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
33173         "guessing yes".
33174         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
33175         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
33176         "guessing yes".
33177         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
33178         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
33179         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
33180         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
33181         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
33182         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
33183         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
33184         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
33185         compiling to glibc systems, set gl_cv_func_mkfifo_works to
33186         "guessing yes".
33187         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
33188         compiling to glibc systems, set gl_cv_func_mknod_works to
33189         "guessing yes".
33190         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
33191         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
33192         "guessing yes".
33193         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
33194         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
33195         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
33196         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
33197         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
33198         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
33199         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
33200         compiling to glibc systems, set gl_cv_func_svid_putenv to
33201         "guessing yes".
33202         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
33203         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
33204         "guessing yes".
33205         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
33206         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
33207         "guessing yes".
33208         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
33209         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
33210         to "guessing yes".
33211         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
33212         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
33213         to "guessing yes".
33214         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
33215         compiling to glibc systems, set gl_cv_func_rmdir_works to
33216         "guessing yes".
33217         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
33218         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
33219         gl_cv_func_unlink_parent_fails to "guessing yes".
33220         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
33221         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
33222         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
33223         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
33224         gl_cv_func_rename_dest_works to "guessing yes".
33225         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
33226         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
33227         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
33228         compiling to glibc systems, set gl_cv_func_roundf_ieee to
33229         "guessing yes".
33230         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
33231         compiling to glibc systems, set gl_cv_func_roundl_ieee to
33232         "guessing yes".
33233         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
33234         compiling to glibc systems, set gl_cv_func_setenv_works to
33235         "guessing yes".
33236         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
33237         compiling to glibc systems, set gl_cv_func_unsetenv_works to
33238         "guessing yes".
33239         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
33240         compiling to glibc systems, set gl_cv_func_sleep_works to
33241         "guessing yes".
33242         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
33243         compiling to glibc systems, set gl_cv_func_stat_file_slash to
33244         "guessing yes".
33245         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
33246         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
33247         "guessing yes".
33248         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
33249         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
33250         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
33251         compiling to glibc systems, set gl_cv_func_truncf_ieee to
33252         "guessing yes".
33253         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
33254         compiling to glibc systems, set gl_cv_func_truncl_ieee to
33255         "guessing yes".
33256         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
33257         compiling to glibc systems, set gl_cv_func_usleep_works to
33258         "guessing yes".
33259         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
33260         compiling to glibc systems, set gl_cv_func_futimesat_works to
33261         "guessing yes".
33263 2012-05-03  Bruno Haible  <bruno@clisp.org>
33265         Say "guessing yes" or "guessing no" when cross-compiling.
33266         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
33267         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
33268         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
33269         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
33270         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
33271         am_cv_func_working_getline to "guessing yes" or "guessing no".
33272         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
33273         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
33274         (gl_FUNC_MEMMEM): When cross-compiling, set
33275         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
33276         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
33277         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
33278         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
33279         set gl_cv_func_strcasestr_works_always to "guessing yes" or
33280         "guessing no".
33281         (gl_FUNC_STRCASESTR): When cross-compiling, set
33282         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
33283         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
33284         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
33285         (gl_FUNC_STRSTR): When cross-compiling, set
33286         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
33287         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
33288         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
33289         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
33290         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
33292 2012-05-01  Bruno Haible  <bruno@clisp.org>
33294         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
33295         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
33296         * build-aux/reloc-ldflags: Likewise.
33297         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
33299 2012-05-01  Bruno Haible  <bruno@clisp.org>
33301         gnulib-tool: Remove transitional code.
33302         * gnulib-tool: Don't warn about --import with 0 arguments any more.
33303         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
33305 2012-05-01  Bruno Haible  <bruno@clisp.org>
33307         getcwd: Fix misindentation.
33308         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
33310 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
33312         exclude: process exclude and include directives in order
33313         This restores the pre-2009 behavior, and is part of a fix of a
33314         grep bug reported by Quentin Arce in
33315         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
33316         * lib/exclude.c (struct exclude): Remove 'tail' member.
33317         (new_exclude_segment): Prepend the new segment instead of appending.
33318         Return void, since that's now more convenient.
33319         (file_pattern_matches): Renamed from excluded_file_pattern_p.
33320         (file_name_matches): Renamed from excluded_file_name_p.
33321         (file_pattern_matches, file_name_matches):
33322         Return true if the pattern matches, not if it excludes.
33323         All callers changed.
33324         (excluded_file_name): Process the list in reverse order;
33325         since the list is now reversed this restores the pre-2009 behavior.
33326         (add_exclude): Adjust to new reversed-order list.  Use local var
33327         rather than macro, for clarity.
33328         * tests/test-exclude7.sh: Adjust to corrected behavior.
33330         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
33331         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
33332         it's not possible here.  Handle the case of \ at end of pattern
33333         without dumping core.
33334         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
33336         _Noreturn: future-proof non-GNU and non-MSVC compilers
33337         * build-aux/snippet/_Noreturn.h (_Noreturn):
33338         * m4/gnulib-common.m4 (gl_COMMON_BODY):
33339         Do not define _Noreturn if __STDC_VERSION__ indicates this is
33340         C11 or later.  This is more likely to work with random future C
33341         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
33342         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
33344         exclude: handle wildcards with FNM_EXTMATCH
33345         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
33346         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
33347         comment that "has wildcards" really means "has or may have
33348         wildcards".  Simplify by avoiding the need to call strcspn.
33350 2012-04-29  Bruno Haible  <bruno@clisp.org>
33352         gnulib-tool: Fix list of authors.
33353         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
33355 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
33357         bootstrap: support Automake-NG in $buildreq
33358         * bootstrap (check_versions): Handle automake and aclocal from
33359         Automake-NG specially.  They can be specified as respectively
33360         the "automake-ng" and "aclocal-ng" requirements.
33362 2012-04-25  Eric Blake  <eblake@redhat.com>
33364         bootstrap: only force latest Makefile.in.in for gettext module
33365         * build-aux/bootstrap (with_gettext): Only install latest
33366         Makefile.in.in for projects requesting bleeding edge gettext.
33368 2012-04-22  Bruno Haible  <bruno@clisp.org>
33370         doc: Mention reason for replacement on glibc/Linux systems.
33371         * doc/posix-functions/dprintf.texi: Mention the problem with special
33372         'long double' values.
33373         * doc/posix-functions/fprintf.texi: Likewise.
33374         * doc/posix-functions/printf.texi: Likewise.
33375         * doc/posix-functions/snprintf.texi: Likewise.
33376         * doc/posix-functions/sprintf.texi: Likewise.
33377         * doc/posix-functions/vdprintf.texi: Likewise.
33378         * doc/posix-functions/vfprintf.texi: Likewise.
33379         * doc/posix-functions/vprintf.texi: Likewise.
33380         * doc/posix-functions/vsnprintf.texi: Likewise.
33381         * doc/posix-functions/vsprintf.texi: Likewise.
33382         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
33383         platforms with F_DUPFD_CLOEXEC problems.
33384         * doc/posix-functions/glob.texi: Mention which platforms are affected
33385         by the problem with symbolic links.
33386         * doc/posix-functions/linkat.texi: Mention the problem with
33387         AT_SYMLINK_FOLLOW on Linux.
33389 2012-04-22  Bruno Haible  <bruno@clisp.org>
33391         pwrite: Don't replace on all platforms.
33392         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
33394 2012-04-22  Bruno Haible  <bruno@clisp.org>
33396         rint* tests: Avoid gcc warnings.
33397         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
33398         * tests/test-rintf.c (INFINITY, NAN): Likewise.
33399         * tests/test-rintl.c (INFINITY, NAN): Likewise.
33401 2012-04-21  Bruno Haible  <bruno@clisp.org>
33403         users.txt: Update.
33404         * users.txt: Add freedink, wdiff. Update URLs for projects that have
33405         switched from CVS to git, bzr, or svn.
33407 2012-04-21  Bruno Haible  <bruno@clisp.org>
33409         Large File Support for native Windows platforms.
33411         * m4/largefile.m4 (gl_LARGEFILE): New macro.
33412         * modules/largefile (configure.ac): Require gl_LARGEFILE.
33414         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
33415         type.
33416         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
33417         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
33418         * doc/posix-headers/sys_types.texi: Mention the effect of the
33419         'largefile' module.
33421         * lib/fcntl.in.h: Add comments about off_t.
33422         * modules/fcntl-h (Depends-on): Add sys_types.
33424         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
33425         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
33426         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
33427         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
33428         * modules/unistd (Depends-on): Add sys_types.
33429         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
33431         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
33432         instead of lseek.
33433         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
33434         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
33435         * modules/lseek (Depends-on): Add sys_types.
33437         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
33438         msvc-nothrow.h.
33439         (SetFileSize): New function.
33440         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
33441         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
33442         if Large File Support is requested.
33443         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
33444         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
33446         * lib/stdio.in.h: Add comments about off_t.
33447         * modules/stdio (Depends-on): Add sys_types.
33449         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
33450         instead of ftello.
33451         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
33452         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
33453         (gl_PREREQ_FTELLO): New macro.
33454         * modules/ftello (Depends-on): Add sys_types.
33455         (configure.ac): Incoke gl_PREREQ_FTELLO.
33457         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
33458         instead of fseeko.
33459         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
33460         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
33461         (gl_PREREQ_FSEEKO): New macro.
33462         * modules/fseeko (Depends-on): Add sys_types.
33463         (configure.ac): Invoke gl_PREREQ_FSEEKO.
33465         * lib/sys_stat.in.h: Add comments about off_t.
33466         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
33467         64-bit integer for st_size in 'struct stat'.
33468         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
33469         Define _GL_WINDOWS_64_BIT_ST_SIZE.
33470         * modules/sys_stat (Depends-on): Add sys_types.
33471         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
33473         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
33474         instead of stat or _stat.
33476         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
33477         'struct _stati64' instead of fstat and 'struct stat'.
33478         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
33479         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
33481         Reported by Ray Satiro <raysatiro@yahoo.com>.
33483 2012-04-19  Eric Blake  <eblake@redhat.com>
33485         bootstrap: accommodate older libtool
33486         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
33487         Reported by Daniel P. Berrange.
33489 2012-04-19  Jim Meyering  <meyering@redhat.com>
33491         announce-gen: avoid failure due to lack of Digest::SHA1
33492         Even with the preferred Digest::SHA available, this script
33493         would fail when the backup module, Digest::SHA1, was not installed.
33494         * build-aux/announce-gen: Quote the conditional use of "use".
33495         Reported by Reuben Thomas in:
33496         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
33498         bootstrap: don't let a user's CDPATH setting affect this script
33499         When CDPATH is set, cd will sometimes generate output.
33500         When "cd" is run in a subshell whose output matters, that
33501         surprising-to-some output can cause malfunction.
33502         Unsetting CDPATH turns off this shell "feature."
33503         * build-aux/bootstrap (CDPATH): Unset.
33504         Reported by Reuben Thomas in:
33505         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
33506         and inspired by his patch here:
33507         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
33509 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
33510         and Jim Meyering  <meyering@redhat.com>
33512         maint.mk: catch "see @xref{}" and similar
33513         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
33514         prohibit "See also @xref{", "Also see @pxref{", and similar.
33516 2012-04-16  Jim Meyering  <meyering@redhat.com>
33518         bootstrap: really use gnulib's po/Makefile.in.in
33519         * build-aux/bootstrap: Correct the source file name in previous change.
33520         Reported by Akim Demaille.
33522         configmake: correct minor inconsistency in Makefile rule
33523         * modules/configmake (Makefile.am): All other rules like this one
33524         run the final "mv -f ..." in the same backslash-continued command
33525         as the one that does everything else.  This one put the mv -f ...
33526         command on a separate, non-backslash-continued line.
33527         Make it like the others.
33529         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
33530         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
33531         the one from gettext.  Reported by Akim Demaille.
33533 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
33535         Fix recursion of install-* into po directories.
33536         Bison's install-pdf bug reported by Hans Aberg at
33537         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
33538         * build-aux/po/Makefile.in.in (install-dvi, install-html)
33539         (install-info, install-pdf, install-ps): New targets.
33541 2012-04-16  Jim Meyering  <meyering@redhat.com>
33543         maint: avoid spurious "make sc_maint" failure
33544         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
33545         exempt all *.class file names, for lib/javaversion.class.
33547 2012-04-15  Bruno Haible  <bruno@clisp.org>
33549         lseek: Make configure test independent of environment.
33550         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
33551         Windows, we know that lseek() on pipes is broken; skip the runtime
33552         test.
33554 2012-04-14  Bruno Haible  <bruno@clisp.org>
33556         stat: Bypass buggy override in mingw64.
33557         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
33558         * lib/stat.c (stat) [mingw64]: Define to _stat.
33559         * doc/posix-functions/stat.texi: Mention mingw64 bug.
33561 2012-04-14  Bruno Haible  <bruno@clisp.org>
33563         pathmax: Fix compilation error on MSVC 9.
33564         * modules/pathmax (Depends-on): Add unistd.
33566 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33568         README: document pointer comparison assumption
33569         * README (Portability guidelines): Document assumption about
33570         pointer comparisons, in response to a recent bug-gnulib comment by
33571         Jeffrey Kegler.
33573 2012-04-12  Bruno Haible  <bruno@clisp.org>
33575         Tests for module 'getrusage'.
33576         * modules/getrusage-tests: New file.
33577         * tests/test-getrusage.c: New file.
33579         New module 'getrusage'.
33580         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
33581         warn-on-use.h.
33582         (getrusage): New declaration.
33583         * lib/getrusage.c: New file.
33584         * m4/getrusage.m4: New file.
33585         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
33586         is declared.
33587         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
33588         HAVE_GETRUSAGE.
33589         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
33590         snippet/c++defs, snippet/warn-on-use.
33591         (Makefile.am): Update generation of sys/resource.h. Substitute
33592         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
33593         * modules/getrusage: New file.
33594         * doc/posix-functions/getrusage.texi: Mention the new module.
33596 2012-04-12  Bruno Haible  <bruno@clisp.org>
33598         Tests for module 'sys_resource'.
33599         * modules/sys_resource-tests: New file.
33600         * tests/test-sys_resource.c: New file.
33602         New module 'sys_resource'.
33603         * lib/sys_resource.in.h: New file.
33604         * m4/sys_resource_h.m4: New file.
33605         * modules/sys_resource: New file.
33606         * doc/posix-headers/sys_resource.texi: Mention the new module.
33608 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
33610         ioctl: Fix compilation error on mingw.
33611         * lib/ioctl.c: Include <windows.h>.
33612         Also reported by Ray Satiro <raysatiro@yahoo.com>.
33614 2012-04-04  Jim Meyering  <meyering@redhat.com>
33616         regex: correct #pragma guard expression
33617         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
33618         not 4.3.  Correct its cpp guard expression.
33620 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
33622         regex: remove unnecessary type punning
33623         Problem reported by Vladimir Serbinenko in
33624         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
33625         * lib/regex.h (struct re_pattern_buffer): Change the type of
33626         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
33627         Fix comment to match code.
33628         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
33629         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
33630         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
33631         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
33632         (set_regs):
33633         Omit no-longer-necessary casts.
33635 2012-04-03  Bruno Haible  <bruno@clisp.org>
33637         Tests for module 'ilogbl'.
33638         * modules/ilogbl-tests: New file.
33639         * tests/test-ilogbl.c: New file.
33641         New module 'ilogbl'.
33642         * lib/math.in.h (ilogbl): New declaration.
33643         * lib/ilogbl.c: New file.
33644         * m4/ilogbl.m4: New file.
33645         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
33646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
33647         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
33648         Split sed invocation, to avoid the limit of 100 substitutions of
33649         HP-UX 'sed'.
33650         * modules/ilogbl: New file.
33651         * tests/test-math-c++.cc: Check the declaration of ilogbl.
33652         * doc/posix-functions/ilogbl.texi: Mention the new module.
33654 2012-04-03  Bruno Haible  <bruno@clisp.org>
33656         Tests for module 'ilogbf'.
33657         * modules/ilogbf-tests: New file.
33658         * tests/test-ilogbf.c: New file.
33660         New module 'ilogbf'.
33661         * lib/math.in.h (ilogbf): New declaration.
33662         * lib/ilogbf.c: New file.
33663         * m4/ilogbf.m4: New file.
33664         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
33665         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
33666         REPLACE_ILOGBF.
33667         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
33668         REPLACE_ILOGBF.
33669         * modules/ilogbf: New file.
33670         * tests/test-math-c++.cc: Check the declaration of ilogbf.
33671         * doc/posix-functions/ilogbf.texi: Mention the new module.
33673 2012-04-03  Bruno Haible  <bruno@clisp.org>
33675         Tests for module 'ilogb'.
33676         * modules/ilogb-tests: New file.
33677         * tests/test-ilogb.c: New file.
33678         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
33679         tests/test-logb-ieee.h.
33681         New module 'ilogb'.
33682         * lib/math.in.h (ilogb): New declaration.
33683         * lib/ilogb.c: New file.
33684         * m4/ilogb.m4: New file.
33685         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
33686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
33687         REPLACE_ILOGB.
33688         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
33689         REPLACE_ILOGB.
33690         * modules/ilogb: New file.
33691         * tests/test-math-c++.cc: Check the declaration of ilogb.
33692         * doc/posix-functions/ilogb.texi: Mention the new module.
33694 2012-04-03  Bruno Haible  <bruno@clisp.org>
33696         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
33697         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
33698         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
33699         (main): Check their values.
33700         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
33701         problem.
33703 2012-04-03  Bruno Haible  <bruno@clisp.org>
33705         Tests for module 'logbl-ieee'.
33706         * modules/logbl-ieee-tests: New file.
33707         * tests/test-logbl-ieee.c: New file.
33709         New module 'logbl-ieee'.
33710         * modules/logbl-ieee: New file.
33712         Tests for module 'logb-ieee'.
33713         * modules/logb-ieee-tests: New file.
33714         * tests/test-logb-ieee.c: New file.
33716         New module 'logb-ieee'.
33717         * modules/logb-ieee: New file.
33719         Tests for module 'logbf-ieee'.
33720         * modules/logbf-ieee-tests: New file.
33721         * tests/test-logbf-ieee.c: New file.
33722         * tests/test-logb-ieee.h: New file.
33724         New module 'logbf-ieee'.
33725         * modules/logbf-ieee: New file.
33727 2012-04-03  Bruno Haible  <bruno@clisp.org>
33729         Tests for module 'logbl'.
33730         * modules/logbl-tests: New file.
33731         * tests/test-logbl.c: New file.
33733         New module 'logbl'.
33734         * lib/math.in.h (logbl): New declaration.
33735         * lib/logbl.c: New file.
33736         * m4/logbl.m4: New file.
33737         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
33738         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
33739         REPLACE_LOGBL.
33740         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
33741         REPLACE_LOGBL.
33742         * modules/logbl: New file.
33743         * tests/test-math-c++.cc: Check the declaration of logbl.
33744         * doc/posix-functions/logbl.texi: Mention the new module.
33746 2012-04-02  Bruno Haible  <bruno@clisp.org>
33748         Tests for module 'logbf'.
33749         * modules/logbf-tests: New file.
33750         * tests/test-logbf.c: New file.
33752         New module 'logbf'.
33753         * lib/math.in.h (logbf): New declaration.
33754         * lib/logbf.c: New file.
33755         * m4/logbf.m4: New file.
33756         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
33757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
33758         REPLACE_LOGBF.
33759         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
33760         REPLACE_LOGBF.
33761         * modules/logbf: New file.
33762         * tests/test-math-c++.cc: Check the declaration of logbf.
33763         * doc/posix-functions/logbf.texi: Mention the new module.
33765 2012-04-02  Bruno Haible  <bruno@clisp.org>
33767         logb tests: More tests.
33768         * tests/test-logb.h: New file, based on tests/test-logb.c and
33769         tests/test-frexp.h.
33770         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
33771         (main): Just invoke test_function.
33772         * modules/logb-tests (Files): Add tests/test-logb.h,
33773         tests/minus-zero.h, tests/randomd.c.
33774         (Makefile.am): Add randomd.c to test_logb_SOURCES.
33776         logb: Provide replacement and workarounds.
33777         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
33778         is 1.
33779         * lib/logb.c: New file.
33780         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
33781         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
33782         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
33783         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
33784         * modules/logb (Files): Add lib/logb.c.
33785         (Depends-on): Add isfinite, frexp, isnand.
33786         (configure.ac): Compile the replacement code logb.c if needed.
33787         * tests/test-math-c++.cc: Check the declaration of logb.
33788         * doc/posix-functions/logb.texi: Mention the replacement and the bug
33789         with subnormal numbers.
33791 2012-04-02  Bruno Haible  <bruno@clisp.org>
33793         log10* tests: Speed up.
33794         * tests/test-log10.h (test_function): Reduce amount of random numbers
33795         to test.
33797 2012-04-01  Bruno Haible  <bruno@clisp.org>
33799         logf-ieee: Fix test whether logf works.
33800         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
33802 2012-04-01  Bruno Haible  <bruno@clisp.org>
33804         log10l: Work around log10l-ieee test failure on IRIX 6.5.
33805         * lib/log10l.c: Include <float.h>
33806         (log10l): On IRIX, normalize the +Infinity value.
33807         * modules/log10l (Depends-on): Add 'float'.
33808         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
33809         +Infinity.
33811         log10f-ieee: Work around test failure on NetBSD 5.1.
33812         * m4/log10f-ieee.m4: New file.
33813         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
33814         test whether log10f works with a negative argument. Replace it if not.
33815         * lib/log10f.c (log10f): For negative arguments, return NaN.
33816         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
33817         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
33818         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
33820         log10f-ieee: Work around test failure on Solaris 9.
33821         * modules/log10f-ieee (Depends-on): Add log10-ieee.
33822         (configure.ac): Require gl_FUNC_LOG10F.
33824         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
33825         * m4/log10-ieee.m4: New file.
33826         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
33827         whether log10 works with a negative argument. Replace it if not.
33828         * lib/log10.c (log10): For negative arguments, return NaN.
33829         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
33830         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
33831         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
33833         Tests for module 'log10l-ieee'.
33834         * modules/log10l-ieee-tests: New file.
33835         * tests/test-log10l-ieee.c: New file.
33837         New module 'log10l-ieee'.
33838         * modules/log10l-ieee: New file.
33840         Tests for module 'log10-ieee'.
33841         * modules/log10-ieee-tests: New file.
33842         * tests/test-log10-ieee.c: New file.
33844         New module 'log10-ieee'.
33845         * modules/log10-ieee: New file.
33847         Tests for module 'log10f-ieee'.
33848         * modules/log10f-ieee-tests: New file.
33849         * tests/test-log10f-ieee.c: New file.
33850         * tests/test-log10-ieee.h: New file.
33852         New module 'log10f-ieee'.
33853         * modules/log10f-ieee: New file.
33855 2012-04-01  Bruno Haible  <bruno@clisp.org>
33857         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
33858         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
33859         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
33860         workaround.
33861         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
33862         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
33863         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
33864         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
33865         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
33866         (Depends-on): Update conditions.
33867         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
33868         IRIX 6.5, OSF/1 5.1 problems.
33870 2012-04-01  Bruno Haible  <bruno@clisp.org>
33872         log10f: Work around OSF/1 5.1 bug.
33873         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
33874         * lib/log10f.c (log10f): If logf exists, use it and provide just the
33875         workaround.
33876         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
33877         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
33878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
33879         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
33880         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
33881         (Depends-on): Update conditions.
33882         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
33884 2012-04-01  Bruno Haible  <bruno@clisp.org>
33886         log10: Work around OSF/1 5.1 bug.
33887         * lib/math.in.h (log10): New declaration.
33888         * lib/log10.c: New file.
33889         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
33890         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
33891         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
33892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
33893         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
33894         * modules/log10 (Files): Add lib/log10.c.
33895         (Depends-on): Add math.
33896         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
33897         * tests/test-math-c++.cc: Check the declaration of log10.
33898         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
33900 2012-03-31  Bruno Haible  <bruno@clisp.org>
33902         log10l tests: More tests.
33903         * modules/log10l-tests (Files): Add tests/test-log10l.h,
33904         tests/minus-zero.h, tests/randoml.c.
33905         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
33906         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
33907         (main): Invoke test_function.
33909         log10f tests: More tests.
33910         * modules/log10f-tests (Files): Add tests/test-log10.h,
33911         tests/minus-zero.h, tests/randomf.c.
33912         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
33913         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
33914         (main): Invoke test_function.
33916         log10 tests: More tests.
33917         * tests/test-log10.h: New file.
33918         * modules/log10-tests (Files): Add tests/test-log10.h,
33919         tests/minus-zero.h, tests/randomd.c.
33920         (Makefile.am): Add randomd.c to test_log10_SOURCES.
33921         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
33922         (main): Invoke test_function.
33924 2012-03-31  Simon Josefsson  <simon@josefsson.org>
33926         fflush: Fix syntax error.
33927         * lib/fflush.c: Include unused-parameter.h, needed for
33928         _GL_UNUSED_PARAMETER.
33929         * modules/fflush (Depends-on): Add snippet/unused-parameter.
33931 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33933         regex: pacify GCC when compiling GRUB
33934         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
33935         a diagnostic.  Reported by Vladimir Serbinenko in
33936         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
33938 2012-03-29  Eric Blake  <eblake@redhat.com>
33940         stdio: don't assume gets any more
33941         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
33942         support.
33943         * modules/stdio (Makefile.am): Likewise.
33944         * lib/stdio-read.c (gets): Likewise.
33945         * tests/test-stdio-c++.cc: Likewise.
33946         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
33947         * lib/stdio.in.h (gets): Make warning occur in more places.
33948         * doc/posix-functions/gets.texi (gets): Update documentation.
33949         Reported by Christer Solskogen.
33951         maint.mk: fix syntax checks without exclusions
33952         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
33953         Reported by Daniel P. Berrange.
33955         strerror_r: avoid compiler warning
33956         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
33957         level.
33959         fflush: avoid compiler warning
33960         * lib/fflush.c (update_fpos_cache): Mark variables that are
33961         potentially unused.
33963 2012-03-25  Bruno Haible  <bruno@clisp.org>
33965         Tests for module 'localeconv'.
33966         * modules/localeconv-tests: New file.
33967         * tests/test-localeconv.c: New file.
33969         New module 'localeconv'.
33970         * lib/locale.in.h (localeconv): New declaration.
33971         * lib/localeconv.c: New file.
33972         * m4/localeconv.m4: New file.
33973         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
33974         REPLACE_LOCALECONV.
33975         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
33976         REPLACE_LOCALECONV.
33977         * modules/localeconv: New file.
33978         * modules/nl_langinfo (Depends-on): Add localeconv.
33979         * modules/human (Depends-on): Likewise.
33980         * doc/posix-functions/localeconv.texi: Mention the new module.
33982 2012-03-25  Bruno Haible  <bruno@clisp.org>
33984         locale: Provide a complete 'struct lconv'.
33985         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
33986         'struct lconv' does not contain int_p_cs_precedes.
33987         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
33988         * doc/posix-headers/locale.texi: Update.
33990         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
33991         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
33992         * doc/posix-headers/locale.texi: Update.
33994         locale: Provide a working 'struct lconv'.
33995         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
33996         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
33997         'struct lconv' does not even contain decimal_point.
33998         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
33999         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
34000         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
34001         * doc/posix-headers/locale.texi: Mention the problems with
34002         'struct lconv'.
34003         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
34005 2012-03-24  Bruno Haible  <bruno@clisp.org>
34007         Enable common subexpression optimization in GCC.
34008         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
34009         macros.
34010         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
34011         GCC attribute 'const'.
34012         (uc_locale_language): Declare with GCC attribute 'pure'.
34013         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
34014         with GCC attribute 'const'.
34015         * lib/unictype.in.h (uc_is_general_category_withtable,
34016         uc_combining_class, uc_combining_class_name,
34017         uc_combining_class_long_name, uc_bidi_class_name,
34018         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
34019         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
34020         uc_decimal_value, uc_digit_value, uc_numeric_value,
34021         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
34022         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
34023         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
34024         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
34025         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
34026         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
34027         Declare with GCC attribute 'const'.
34028         (uc_general_category_name, uc_general_category_long_name,
34029         uc_general_category_byname, uc_general_category,
34030         uc_is_general_category, uc_combining_class_byname,
34031         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
34032         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
34033         Declare with GCC attribute 'pure'.
34034         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
34035         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
34036         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
34037         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
34038         with GCC attribute 'pure'.
34039         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
34040         'const'.
34041         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
34042         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
34043         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
34044         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
34045         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
34046         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
34047         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
34048         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
34049         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
34050         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
34051         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
34052         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
34053         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
34054         GCC attribute 'pure'.
34055         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
34056         'const'.
34057         * lib/uniwidth.in.h (uc_width): Simplify declaration.
34058         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
34059         u32_strwidth): Declare with GCC attribute 'pure'.
34061         Enable common subexpression optimization in GCC.
34062         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
34063         (alphasort): Declare with GCC attribute 'pure'.
34064         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
34065         (atoll): Declare with GCC attribute 'pure'.
34066         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34067         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34068         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
34069         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
34070         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
34071         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
34072         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
34074 2012-03-24  Bruno Haible  <bruno@clisp.org>
34076         gnulib-tool: Avoid unintended error output from 'cmp'.
34077         * gnulib-tool (func_add_file, func_update_file, func_import): Use
34078         "cmp -s", not "cmp > /dev/null".
34080 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
34082         gnulib-tool: fix imprecise comments w.r.t. an automake bug
34084         It's not just Automake versions < 1.9b that creates an empty
34085         pkgdatadir at installation time if pkgdata_DATA is specified
34086         to empty; modern automake versions do this as well, at least
34087         until automake 1.11.4 (not yet released at the moment of writing,
34088         but soon to appear).  That behaviour was generally considered a
34089         feature rather than a bug, at least until this discussion:
34090         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
34092         See also automake bugs #10997 and #11030.
34094         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
34095         reference to relevant automake bug numbers.
34096         (func_emit_tests_Makefile_am): Likewise.
34098 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
34100         announce-gen: use Digest::SHA when possible
34101         * build-aux/announce-gen: Use Digest::SHA when possible, falling
34102         back to Digest::SHA1 if necessary.
34104 2012-03-20  Jim Meyering  <meyering@redhat.com>
34106         tests: avoid gcc warnings about argv vs. const initializers
34107         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
34108         warnings about discarding 'const' qualifier from pointer target type.
34109         * tests/test-posix_spawn2.c (main): Likewise.
34111 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
34113         README-release: simplify slightly
34114         * top/README-release: Run "git checkout master" only once.
34116 2012-03-15  Mark Wielaard  <mark@klomp.org>
34118         git-merge-changelog: add specific example on how to use with hg.
34119         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
34121 2012-03-18  Mark Wielaard  <mark@klomp.org>
34123         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
34125 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
34127         git-version-gen: don't let "prefix" envvar cause trouble
34128         * build-aux/git-version-gen (prefix): Initialize properly,
34129         so as not to use a value specified via the environment.
34130         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
34132 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
34134         regex: diagnose too-large repeat counts in EREs
34135         Previously, the code did not diagnose the too-large repeat count
34136         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
34137         as if it were 'b\{1000000000}', which is unexpected.
34138         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
34139         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
34140         is a reasonable one for this problem.  Another option would be to
34141         create a new REG_OVERFLOW error for repeat counts that are too large.
34142         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
34143         count is too large, so that the caller can distinguish the two cases.
34144         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
34145         "Too large" return code, and that repeat counts are one example of this.
34147 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
34149         doc: some glibc x32 integer width issues
34150         * doc/posix-headers/sys_types.texi (sys/types.h):
34151         * doc/posix-headers/time.texi (time.h):
34152         Mention that glibc x32 does not conform to POSIX in a couple of
34153         areas related to integer widths.
34155 2012-03-15  Bruno Haible  <bruno@clisp.org>
34157         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
34158         * lib/fma.c (VOLATILE): New macro.
34159         (FUNC): Use it to work around a GCC compiler bug.
34161 2012-03-13  Bruno Haible  <bruno@clisp.org>
34163         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
34164         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
34165         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
34166         REPLACE_HYPOTL to 1.
34167         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
34169 2012-03-13  Bruno Haible  <bruno@clisp.org>
34171         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
34172         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
34173         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
34174         REPLACE_REMAINDERL to 1.
34175         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
34176         bug.
34178 2012-03-13  Bruno Haible  <bruno@clisp.org>
34180         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
34181         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
34182         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
34183         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
34184         too big rounding errors.
34185         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
34186         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
34187         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
34188         (Depends-on): Update conditions.
34189         * tests/test-sqrtl.c (my_ldexpl): New function.
34190         (main): Add test of a particular value.
34191         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
34193 2012-03-13  Pádraig Brady  <P@draigBrady.com>
34195         doc: Update timer_* platform portability notes.
34196         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
34197         that always return ENOSYS.
34198         * doc/posix-functions/timer_delete.texi: Likewise.
34199         * doc/posix-functions/timer_gettime.texi: Likewise.
34200         * doc/posix-functions/timer_settime.texi: Likewise.
34202 2012-03-13  Bruno Haible  <bruno@clisp.org>
34204         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
34205         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
34206         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
34207         REPLACE_CBRTL to 1.
34208         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
34210 2012-03-13  Bruno Haible  <bruno@clisp.org>
34212         remainderl: Avoid compilation error on AIX >= 5.2.
34213         * lib/math.in.h (remainderl): Undefine macro from the system header.
34215 2012-03-13  Bruno Haible  <bruno@clisp.org>
34217         Avoid compilation errors with MSVC option -fp:strict.
34218         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
34219         * lib/cbrtf.c: Likewise.
34220         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
34222 2012-03-12  Bruno Haible  <bruno@clisp.org>
34224         uninorm: Don't crash in out-of-memory conditions.
34225         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
34226         gracefully.
34227         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
34228         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
34230 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
34232         quote: fix syntax-check
34233         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
34234         also exports quote_quoting_options.
34236 2012-03-12  Simon Josefsson  <simon@josefsson.org>
34238         Collapse list of copyright years to ranges.  See
34239         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
34240         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
34241         build-aux/csharpexec.sh.in, build-aux/gnupload,
34242         build-aux/install-reloc, build-aux/javacomp.sh.in,
34243         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
34244         build-aux/move-if-change, build-aux/reloc-ldflags,
34245         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
34247 2012-03-11  Bruno Haible  <bruno@clisp.org>
34249         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
34250         * m4/log2f-ieee.m4: New file.
34251         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
34252         whether log2f works with a minus zero argument. Replace it if not.
34253         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
34254         (Depends-on): Add log2-ieee.
34255         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
34256         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
34258         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
34259         * m4/log2-ieee.m4: New file.
34260         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
34261         whether log2 works with a minus zero argument. Replace it if not.
34262         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
34263         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
34264         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
34266         Tests for module 'log2l-ieee'.
34267         * modules/log2l-ieee-tests: New file.
34268         * tests/test-log2l-ieee.c: New file.
34270         New module 'log2l-ieee'.
34271         * modules/log2l-ieee: New file.
34273         Tests for module 'log2-ieee'.
34274         * modules/log2-ieee-tests: New file.
34275         * tests/test-log2-ieee.c: New file.
34277         New module 'log2-ieee'.
34278         * modules/log2-ieee: New file.
34280         Tests for module 'log2f-ieee'.
34281         * modules/log2f-ieee-tests: New file.
34282         * tests/test-log2f-ieee.c: New file.
34283         * tests/test-log2-ieee.h: New file.
34285         New module 'log2f-ieee'.
34286         * modules/log2f-ieee: New file.
34288 2012-03-11  Bruno Haible  <bruno@clisp.org>
34290         Tests for module 'log2l'.
34291         * modules/log2l-tests: New file.
34292         * tests/test-log2l.c: New file.
34294         New module 'log2l'.
34295         * lib/math.in.h (log2l): New declaration.
34296         * lib/log2l.c: New file.
34297         * m4/log2l.m4: New file.
34298         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
34299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
34300         REPLACE_LOG2L.
34301         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
34302         REPLACE_LOG2L.
34303         * modules/log2l: New file.
34304         * tests/test-math-c++.cc: Check the declaration of log2l.
34305         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
34306         and OSF/1 problems.
34308 2012-03-11  Bruno Haible  <bruno@clisp.org>
34310         Tests for module 'log2f'.
34311         * modules/log2f-tests: New file.
34312         * tests/test-log2f.c: New file.
34314         New module 'log2f'.
34315         * lib/math.in.h (log2f): New declaration.
34316         * lib/log2f.c: New file.
34317         * m4/log2f.m4: New file.
34318         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
34319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
34320         REPLACE_LOG2F.
34321         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
34322         REPLACE_LOG2F.
34323         * modules/log2f: New file.
34324         * tests/test-math-c++.cc: Check the declaration of log2f.
34325         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
34326         and OSF/1 and Cygwin problems.
34328 2012-03-11  Bruno Haible  <bruno@clisp.org>
34330         Tests for module 'log2'.
34331         * modules/log2-tests: New file.
34332         * tests/test-log2.c: New file.
34333         * tests/test-log2.h: New file.
34335         New module 'log2'.
34336         * lib/math.in.h (log2): New declaration.
34337         * lib/log2.c: New file.
34338         * m4/log2.m4: New file.
34339         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
34340         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
34341         REPLACE_LOG2.
34342         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
34343         REPLACE_LOG2.
34344         * modules/log2: New file.
34345         * tests/test-math-c++.cc: Check the declaration of log2.
34346         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
34347         and OSF/1 and Cygwin problems.
34349 2012-03-11  Bruno Haible  <bruno@clisp.org>
34351         exp2* tests: More tests.
34352         * tests/test-exp2.h (test_function): Test all integral arguments that
34353         don't need to overflow or denormalized numbers.
34354         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
34355         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
34356         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
34358 2012-03-10  Bruno Haible  <bruno@clisp.org>
34360         log1pl-ieee: Work around test failure on AIX 7.1.
34361         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
34363         log1pl-ieee: Work around test failure on IRIX 6.5.
34364         * m4/log1pl-ieee.m4: New file.
34365         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
34366         test whether log1pl works with a minus zero argument. Replace it if
34367         not.
34368         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
34369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
34370         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
34371         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
34372         (Depends-on): Update conditions.
34373         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
34374         m4/signbit.m4.
34375         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
34376         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
34378         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
34379         * m4/log1pf-ieee.m4: New file.
34380         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
34381         test whether log1pf works with a minus zero argument. Replace it if
34382         not.
34383         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
34384         m4/signbit.m4.
34385         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
34386         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
34388         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
34389         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
34390         (configure.ac): Require gl_FUNC_LOG1PF.
34392         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
34393         * m4/log1p-ieee.m4: New file.
34394         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
34395         whether log1p works with a minus zero argument. Replace it if not.
34396         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
34397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
34398         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
34399         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
34400         (Depends-on): Update conditions.
34401         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
34402         m4/signbit.m4.
34403         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
34404         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
34406         Tests for module 'log1pl-ieee'.
34407         * modules/log1pl-ieee-tests: New file.
34408         * tests/test-log1pl-ieee.c: New file.
34410         New module 'log1pl-ieee'.
34411         * modules/log1pl-ieee: New file.
34413         Tests for module 'log1p-ieee'.
34414         * modules/log1p-ieee-tests: New file.
34415         * tests/test-log1p-ieee.c: New file.
34417         New module 'log1p-ieee'.
34418         * modules/log1p-ieee: New file.
34420         Tests for module 'log1pf-ieee'.
34421         * modules/log1pf-ieee-tests: New file.
34422         * tests/test-log1pf-ieee.c: New file.
34423         * tests/test-log1p-ieee.h: New file.
34425         New module 'log1pf-ieee'.
34426         * modules/log1pf-ieee: New file.
34428 2012-03-10  Bruno Haible  <bruno@clisp.org>
34430         Tests for module 'log1pl'.
34431         * modules/log1pl-tests: New file.
34432         * tests/test-log1pl.c: New file.
34434         New module 'log1pl'.
34435         * lib/math.in.h (log1pl): New declaration.
34436         * lib/log1pl.c: New file.
34437         * m4/log1pl.m4: New file.
34438         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
34439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
34440         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
34441         * modules/log1pl: New file.
34442         * tests/test-math-c++.cc: Check the declaration of log1pl.
34443         * doc/posix-functions/log1pl.texi: Mention the new module.
34445 2012-03-10  Bruno Haible  <bruno@clisp.org>
34447         Tests for module 'log1pf'.
34448         * modules/log1pf-tests: New file.
34449         * tests/test-log1pf.c: New file.
34451         New module 'log1pf'.
34452         * lib/math.in.h (log1pf): New declaration.
34453         * lib/log1pf.c: New file.
34454         * m4/log1pf.m4: New file.
34455         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
34456         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
34457         REPLACE_LOG1PF.
34458         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
34459         REPLACE_LOG1PF.
34460         * modules/log1pf: New file.
34461         * tests/test-math-c++.cc: Check the declaration of log1pf.
34462         * doc/posix-functions/log1pf.texi: Mention the new module.
34464 2012-03-10  Bruno Haible  <bruno@clisp.org>
34466         log1p tests: More tests.
34467         * tests/test-log1p.h: New file.
34468         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
34469         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
34470         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
34471         (main): Invoke test_function.
34473         log1p: Provide replacement for Minix and MSVC.
34474         * lib/math.in.h (log1p): New declaration.
34475         * lib/log1p.c: New file.
34476         * m4/log1p.m4: New file.
34477         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
34478         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
34479         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
34480         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
34481         (Depends-on): Add math, isnand, log, round.
34482         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
34483         HAVE_LOG1P is 0.
34484         * tests/test-math-c++.cc: Check the declaration of log1p.
34485         * doc/posix-functions/log1p.texi: Mention the replacement.
34487 2012-03-10  Bruno Haible  <bruno@clisp.org>
34489         math tests: Small simplification.
34490         * tests/test-exp.h (test_function): Use the same err_bound for
34491         'double' on platforms with sizeof (long double) == sizeof (double)
34492         than on platforms with sizeof (long double) > sizeof (double).
34493         * tests/test-exp2.h (test_function): Likewise.
34494         * tests/test-expm1.h (test_function): Likewise.
34495         * tests/test-log.h (test_function): Likewise.
34497 2012-03-10  Bruno Haible  <bruno@clisp.org>
34499         Fix some comments.
34500         * lib/expl.c: Fix an ambiguous comment.
34501         * lib/expm1.c: Likewise.
34502         * lib/expm1l.c: Likewise.
34503         * lib/exp2.c: Likewise.
34504         * lib/exp2l.c: Likewise.
34506 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
34508         regex: allow inclusion of <regex.h> before <limits.h>
34509         Without this patch, portable programs had to include <limits.h> before
34510         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
34511         I ran into this problem with a test version of GNU grep on Solaris 8.
34512         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
34513         This is done conditionally so that this change can be merged
34514         back to glibc.
34515         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
34516         using the included regex.
34518         fts: depend on fdopendir
34519         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
34520         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
34521         problem was introduced when fdopendir was split out.
34523 2012-03-10  Bruno Haible  <bruno@clisp.org>
34525         Remove unused variables.
34526         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
34527         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
34529 2012-03-10  Bruno Haible  <bruno@clisp.org>
34531         isnanf-nolibm: Fix last commit.
34532         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
34534         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
34535         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
34537 2012-03-10  Bruno Haible  <bruno@clisp.org>
34539         logf-ieee: Work around test failure on NetBSD 5.1.
34540         * m4/logf-ieee.m4: New file.
34541         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
34542         whether logf works with a negative argument. Replace it if not.
34543         * lib/logf.c (logf): For negative arguments, return NaN.
34544         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
34545         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
34546         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
34548         logf-ieee: Work around test failure on Solaris 9.
34549         * modules/logf-ieee (Depends-on): Add log-ieee.
34550         (configure.ac): Require gl_FUNC_LOGF.
34552         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
34553         * m4/log-ieee.m4: New file.
34554         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
34555         log works with a negative argument. Replace it if not.
34556         * lib/log.c (log): For negative arguments, return NaN.
34557         * modules/log-ieee (Files): Add m4/log-ieee.m4.
34558         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
34559         * doc/posix-functions/log.texi: Mention the log-ieee module.
34561         Tests for module 'logl-ieee'.
34562         * modules/logl-ieee-tests: New file.
34563         * tests/test-logl-ieee.c: New file.
34565         New module 'logl-ieee'.
34566         * modules/logl-ieee: New file.
34568         Tests for module 'log-ieee'.
34569         * modules/log-ieee-tests: New file.
34570         * tests/test-log-ieee.c: New file.
34572         New module 'log-ieee'.
34573         * modules/log-ieee: New file.
34575         Tests for module 'logf-ieee'.
34576         * modules/logf-ieee-tests: New file.
34577         * tests/test-logf-ieee.c: New file.
34578         * tests/test-log-ieee.h: New file.
34580         New module 'logf-ieee'.
34581         * modules/logf-ieee: New file.
34583 2012-03-10  Bruno Haible  <bruno@clisp.org>
34585         log: Fix bug introduced on 2012-03-09.
34586         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
34588 2012-03-10  Pádraig Brady  <P@draigBrady.com>
34590         timer-time: link explicitly with pthreads on glibc
34591         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
34592         to support static linking, when newer glibc is
34593         detected, as that contains pthread emulation of
34594         POSIX timer functions where required.
34595         * modules/timer-time: Depend on threadlib to
34596         pull in the appropriate library to link.
34598 2012-03-10  Bruno Haible  <bruno@clisp.org>
34600         log* tests: More tests.
34601         * tests/test-log.h: New file.
34602         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
34603         (main): Invoke test_function.
34604         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
34605         (main): Invoke test_function.
34606         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
34607         (main): Invoke test_function.
34608         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
34609         tests/randomd.c.
34610         (Makefile.am): Add randomd.c to test_log_SOURCES.
34611         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
34612         tests/randomf.c.
34613         (Makefile.am): Add randomf.c to test_logf_SOURCES.
34614         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
34615         tests/randoml.c.
34616         (Depends-on): Add 'float'.
34617         (Makefile.am): Add randoml.c to test_logl_SOURCES.
34619 2012-03-09  Bruno Haible  <bruno@clisp.org>
34621         logl: Work around OSF/1 5.1 bug.
34622         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
34623         * lib/logl.c (logl): If logl exists, use it and provide just the
34624         workaround.
34625         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
34626         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
34627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
34628         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
34629         * modules/logl (configure.ac): Consider REPLACE_LOGL.
34630         (Depends-on): Update conditions.
34631         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
34633 2012-03-09  Bruno Haible  <bruno@clisp.org>
34635         logf: Work around OSF/1 5.1 bug.
34636         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
34637         * lib/logf.c (logf): If logf exists, use it and provide just the
34638         workaround.
34639         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
34640         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
34641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
34642         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
34643         * modules/logf (configure.ac): Consider REPLACE_LOGF.
34644         (Depends-on): Update conditions.
34645         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
34647 2012-03-09  Bruno Haible  <bruno@clisp.org>
34649         log: Work around OSF/1 5.1 bug.
34650         * lib/math.in.h (log): New declaration.
34651         * lib/log.c: New file.
34652         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
34653         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
34654         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
34655         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
34656         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
34657         * modules/log (Files): Add lib/log.c.
34658         (Depends-on): Add math.
34659         (configure.ac): If REPLACE_LOG is 1, compile an override.
34660         * tests/test-math-c++.cc: Check the declaration of log.
34661         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
34663 2012-03-09  Jim Meyering  <meyering@redhat.com>
34665         readtokens.c: adjust wording in a comment
34666         * lib/readtokens.c: Insert omitted "that" in a comment.
34668 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34670         modechange: add notations +40, 00440, etc.
34671         * lib/modechange.c (mode_compile): Support new notations
34672         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
34674 2012-03-08  Bruno Haible  <bruno@clisp.org>
34676         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
34677         * m4/exp2l-ieee.m4: New file.
34678         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
34679         test whether exp2l works with a NaN argument and with a negative
34680         infinity argument. Replace it if not.
34681         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
34682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
34683         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
34684         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
34685         (Depends-on): Update conditions.
34686         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
34687         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
34688         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
34690         Tests for module 'exp2l-ieee'.
34691         * modules/exp2l-ieee-tests: New file.
34692         * tests/test-exp2l-ieee.c: New file.
34694         New module 'exp2l-ieee'.
34695         * modules/exp2l-ieee: New file.
34697         Tests for module 'exp2-ieee'.
34698         * modules/exp2-ieee-tests: New file.
34699         * tests/test-exp2-ieee.c: New file.
34701         New module 'exp2-ieee'.
34702         * modules/exp2-ieee: New file.
34704         Tests for module 'exp2f-ieee'.
34705         * modules/exp2f-ieee-tests: New file.
34706         * tests/test-exp2f-ieee.c: New file.
34707         * tests/test-exp2-ieee.h: New file.
34709         New module 'exp2f-ieee'.
34710         * modules/exp2f-ieee: New file.
34712 2012-03-08  Bruno Haible  <bruno@clisp.org>
34714         Tests for module 'exp2l'.
34715         * modules/exp2l-tests: New file.
34716         * tests/test-exp2l.c: New file.
34718         New module 'exp2l'.
34719         * lib/math.in.h (exp2l): New declaration.
34720         * lib/exp2l.c: New file.
34721         * lib/expl-table.c: New file, extracted from lib/expl.c.
34722         * lib/expl.c (gl_expl_table): New declaration.
34723         (expl): Remove expl_table. Update reference.
34724         * m4/exp2l.m4: New file.
34725         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
34726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
34727         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
34728         * modules/exp2l: New file.
34729         * modules/expl (Files): Add lib/expl-table.c.
34730         (configure.ac): Compile also expl-table.c.
34731         * tests/test-math-c++.cc: Check the declaration of exp2l.
34732         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
34733         problem.
34735 2012-03-08  Bruno Haible  <bruno@clisp.org>
34737         Tests for module 'exp2f'.
34738         * modules/exp2f-tests: New file.
34739         * tests/test-exp2f.c: New file.
34741         New module 'exp2f'.
34742         * lib/math.in.h (exp2f): New declaration.
34743         * lib/exp2f.c: New file.
34744         * m4/exp2f.m4: New file.
34745         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
34746         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
34747         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
34748         * modules/exp2f: New file.
34749         * tests/test-math-c++.cc: Check the declaration of exp2f.
34750         * doc/posix-functions/exp2f.texi: Mention the new module and the
34751         IRIX problem.
34753 2012-03-08  Bruno Haible  <bruno@clisp.org>
34755         Tests for module 'exp2'.
34756         * modules/exp2-tests: New file.
34757         * tests/test-exp2.c: New file.
34758         * tests/test-exp2.h: New file.
34760         New module 'exp2'.
34761         * lib/math.in.h (exp2): New declaration.
34762         * lib/exp2.c: New file.
34763         * m4/exp2.m4: New file.
34764         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
34765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
34766         REPLACE_EXP2.
34767         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
34768         REPLACE_EXP2.
34769         * modules/exp2: New file.
34770         * tests/test-math-c++.cc: Check the declaration of exp2.
34771         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
34772         and OpenBSD problems.
34774 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34776         savedir: fix comment typo
34777         * lib/savedir.c (savedirstream): Fix typo in comment.
34779 2012-03-08  Bruno Haible  <bruno@clisp.org>
34781         test-readtokens.c: use const; remove unwarranted cast
34782         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
34784 2012-03-08  Bruno Haible  <bruno@clisp.org>
34786         fmal: Avoid compilation error on AIX.
34787         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
34788         AIX 5.2..7.1.
34790 2012-03-08  Bruno Haible  <bruno@clisp.org>
34792         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
34793         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
34794         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
34795         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
34796         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
34797         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
34798         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
34800 2012-03-08  Bruno Haible  <bruno@clisp.org>
34802         remainderf: Override buggy system function on IRIX 6.5.
34803         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
34804         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
34805         when it exists.
34806         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
34808 2012-03-08  Jim Meyering  <meyering@redhat.com>
34810         test-readtokens.c: avoid const-related compilation warnings
34811         * tests/test-readtokens.c: Avoid const-related compilation warnings.
34813 2012-03-07  Jim Meyering  <meyering@redhat.com>
34814             Bruno Haible  <bruno@clisp.org>
34816         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
34817         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
34818         tests/randomd.c.
34819         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
34820         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
34821         tests/randoml.c.
34822         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
34824 2012-03-07  Bruno Haible  <bruno@clisp.org>
34826         expm1l: Avoid compilation error on AIX.
34827         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
34828         AIX 5.2..7.1.
34830 2012-03-07  Bruno Haible  <bruno@clisp.org>
34832         expm1l: Don't override undeclared system function on IRIX 6.5.
34833         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
34834         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
34835         it exists. Set HAVE_DECL_EXPM1L.
34836         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
34837         HAVE_EXPM1L.
34838         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
34839         HAVE_EXPM1L.
34840         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
34842 2012-03-07  Bruno Haible  <bruno@clisp.org>
34844         remainderl: Don't override undeclared system function on IRIX 6.5.
34845         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
34846         HAVE_REMAINDERL.
34847         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
34848         declared when it exists. Set HAVE_DECL_REMAINDERL.
34849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
34850         not HAVE_REMAINDERL.
34851         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
34852         HAVE_REMAINDERL.
34853         * doc/posix-functions/remainderl.texi: Mention missing declaration
34854         problem.
34856 2012-03-07  Bruno Haible  <bruno@clisp.org>
34858         rintf: Don't override undeclared system function on IRIX 6.5.
34859         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
34860         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
34861         exists. Set HAVE_DECL_RINTF.
34862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
34863         HAVE_RINTF.
34864         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
34865         HAVE_RINTF.
34866         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
34868 2012-03-07  Bruno Haible  <bruno@clisp.org>
34870         roundl: Avoid compilation error on AIX.
34871         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
34872         AIX 5.2..7.1.
34874 2012-03-07  Bruno Haible  <bruno@clisp.org>
34876         roundl: Don't override undeclared system function on IRIX 6.5.
34877         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
34878         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
34879         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
34880         * modules/roundl (configure.ac): For replacement code, test
34881         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
34882         (Depends-on): Update conditions.
34883         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
34885 2012-03-07  Bruno Haible  <bruno@clisp.org>
34887         roundf: Don't override undeclared system function on IRIX 6.5.
34888         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
34889         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
34890         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
34891         * modules/roundf (configure.ac): For replacement code, test
34892         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
34893         (Depends-on): Update conditions.
34894         * modules/roundf-ieee (Depends-on): Update conditions.
34895         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
34897 2012-03-07  Bruno Haible  <bruno@clisp.org>
34899         round: Don't override undeclared system function on IRIX 6.5.
34900         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
34901         argument.
34902         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
34903         also when it is not declared. Set HAVE_ROUND. For replacement code,
34904         test HAVE_ROUND, not HAVE_DECL_ROUND.
34905         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
34906         not HAVE_DECL_ROUND.
34907         (Depends-on): Update conditions.
34908         * modules/round-ieee (Depends-on): Update conditions.
34909         * doc/posix-functions/round.texi: Mention the IRIX problem.
34911 2012-03-07  Bruno Haible  <bruno@clisp.org>
34913         copysignf: Don't override undeclared system function on IRIX 6.5.
34914         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
34915         HAVE_COPYSIGNF.
34916         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
34917         declared when it exists. Set HAVE_DECL_COPYSIGNF.
34918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
34919         not HAVE_COPYSIGNF.
34920         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
34921         HAVE_COPYSIGNF.
34922         * doc/posix-functions/copysignf.texi: Mention missing declaration
34923         problem.
34925 2012-03-07  Jim Meyering  <meyering@redhat.com>
34927         readtokens: add tests
34928         * modules/readtokens-tests: New file.
34929         * tests/test-readtokens.c: New file.
34931 2012-03-07  Jim Meyering  <meyering@redhat.com>
34933         quotearg: the module must now include quote.h
34934         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
34935         So must the module.
34936         * modules/quotearg (Files): Add quote.h.
34938 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
34940         readtokens: avoid core dumps with unusual calling patterns
34941         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
34942         * lib/readtokens.c: Include limits.h.
34943         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
34944         (readtoken): Don't cache the delimiters; the cache code was buggy
34945         if !delim && saved_delim, or if the new n_delim differs from the old.
34946         Also, it wasn't thread-safe.
34948 2012-03-07  Bruno Haible  <bruno@clisp.org>
34950         quote: Adhere to common module description layout.
34951         * modules/quote (Makefile.am): Add back empty section.
34953 2012-03-06  Akim Demaille  <demaille@gostai.com>
34955         quote: fuse into quotearg
34956         This patch is made for the benefit of Bison.
34957         quote does not leave the choice of the quoting style to the user.
34958         quoting_style provides poor customizability, yet quoting_options,
34959         which is very rich, is hidden inside quotearg.c.  So in order to
34960         allow quote customization, move its implementation to quotearg.c.
34961         * lib/quote.c: Remove.
34962         * modules/quote: Adjust.
34963         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
34964         warning: provide all the members of literal structs.
34965         (quote_quoting_options): New.
34966         (quote, quote_n): Import implementation from quote.c.
34967         * lib/quote.h: Import the comments from quote.c.
34968         (quote_quoting_options): New.
34970 2012-03-06  Bruno Haible  <bruno@clisp.org>
34972         Tests for module 'expm1l-ieee'.
34973         * modules/expm1l-ieee-tests: New file.
34974         * tests/test-expm1l-ieee.c: New file.
34976         New module 'expm1l-ieee'.
34977         * modules/expm1l-ieee: New file.
34979         Tests for module 'expm1f-ieee'.
34980         * modules/expm1f-ieee-tests: New file.
34981         * tests/test-expm1f-ieee.c: New file.
34983         New module 'expm1f-ieee'.
34984         * modules/expm1f-ieee: New file.
34986         Tests for module 'expm1-ieee'.
34987         * modules/expm1-ieee-tests: New file.
34988         * tests/test-expm1-ieee.c: New file.
34989         * tests/test-expm1-ieee.h: New file.
34991         New module 'expm1-ieee'.
34992         * modules/expm1-ieee: New file.
34993         * m4/expm1-ieee.m4: New file.
34994         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
34995         whether expm1 works with a minus zero argument. Replace it if not.
34996         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
34997         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
34998         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
34999         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
35000         (Depends-on): Update conditions.
35001         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
35002         AIX problem.
35004 2012-03-06  Bruno Haible  <bruno@clisp.org>
35006         Work around expm1f bug on IRIX 6.5.
35007         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
35008         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
35009         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
35010         not work.
35011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
35012         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
35013         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
35014         (Depends-on): Update conditions.
35015         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
35017 2012-03-06  Bruno Haible  <bruno@clisp.org>
35019         Tests for module 'expm1l'.
35020         * modules/expm1l-tests: New file.
35021         * tests/test-expm1l.c: New file.
35023         New module 'expm1l'.
35024         * lib/math.in.h (expm1l): New declaration.
35025         * lib/expm1l.c: New file.
35026         * m4/expm1l.m4: New file.
35027         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
35028         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
35029         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
35030         * modules/expm1l: New file.
35031         * tests/test-math-c++.cc: Check the declaration of expm1l.
35032         * doc/posix-functions/expm1l.texi: Mention the new module.
35034 2012-03-06  Bruno Haible  <bruno@clisp.org>
35036         Tests for module 'expm1f'.
35037         * modules/expm1f-tests: New file.
35038         * tests/test-expm1f.c: New file.
35040         New module 'expm1f'.
35041         * lib/math.in.h (expm1f): New declaration.
35042         * lib/expm1f.c: New file.
35043         * m4/expm1f.m4: New file.
35044         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
35045         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
35046         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
35047         * modules/expm1f: New file.
35048         * tests/test-math-c++.cc: Check the declaration of expm1f.
35049         * doc/posix-functions/expm1f.texi: Mention the new module.
35051 2012-03-06  Bruno Haible  <bruno@clisp.org>
35053         Tests for module 'expm1'.
35054         * modules/expm1-tests: New file.
35055         * tests/test-expm1.c: New file.
35056         * tests/test-expm1.h: New file.
35058         New module 'expm1'.
35059         * lib/math.in.h (expm1): New declaration.
35060         * lib/expm1.c: New file.
35061         * m4/expm1.m4: New file.
35062         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
35063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
35064         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
35065         * modules/expm1: New file.
35066         * tests/test-math-c++.cc: Check the declaration of expm1.
35067         * doc/posix-functions/expm1.texi: Mention the new module.
35069 2012-03-06  Bruno Haible  <bruno@clisp.org>
35071         math: Ensure declarations of math functions.
35072         * modules/acosf (Depends-on): Add 'extensions'.
35073         * modules/asinf (Depends-on): Likewise.
35074         * modules/atan2f (Depends-on): Likewise.
35075         * modules/atanf (Depends-on): Likewise.
35076         * modules/cbrt (Depends-on): Likewise.
35077         * modules/cbrtf (Depends-on): Likewise.
35078         * modules/cbrtl (Depends-on): Likewise.
35079         * modules/copysignf (Depends-on): Likewise.
35080         * modules/copysignl (Depends-on): Likewise.
35081         * modules/cosf (Depends-on): Likewise.
35082         * modules/coshf (Depends-on): Likewise.
35083         * modules/expf (Depends-on): Likewise.
35084         * modules/fabsf (Depends-on): Likewise.
35085         * modules/fabsl (Depends-on): Likewise.
35086         * modules/fmaf (Depends-on): Likewise.
35087         * modules/fmal (Depends-on): Likewise.
35088         * modules/fmodf (Depends-on): Likewise.
35089         * modules/fmodl (Depends-on): Likewise.
35090         * modules/frexpf (Depends-on): Likewise.
35091         * modules/frexpl (Depends-on): Likewise.
35092         * modules/hypot (Depends-on): Likewise.
35093         * modules/hypotf (Depends-on): Likewise.
35094         * modules/hypotl (Depends-on): Likewise.
35095         * modules/ldexpf (Depends-on): Likewise.
35096         * modules/ldexpl (Depends-on): Likewise.
35097         * modules/log10f (Depends-on): Likewise.
35098         * modules/log10l (Depends-on): Likewise.
35099         * modules/log1p (Depends-on): Likewise.
35100         * modules/logb (Depends-on): Likewise.
35101         * modules/logf (Depends-on): Likewise.
35102         * modules/modff (Depends-on): Likewise.
35103         * modules/modfl (Depends-on): Likewise.
35104         * modules/powf (Depends-on): Likewise.
35105         * modules/remainderf (Depends-on): Likewise.
35106         * modules/remainderl (Depends-on): Likewise.
35107         * modules/rintf (Depends-on): Likewise.
35108         * modules/rintl (Depends-on): Likewise.
35109         * modules/sinf (Depends-on): Likewise.
35110         * modules/sinhf (Depends-on): Likewise.
35111         * modules/sqrtf (Depends-on): Likewise.
35112         * modules/tanf (Depends-on): Likewise.
35113         * modules/tanhf (Depends-on): Likewise.
35114         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
35115         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
35116         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
35117         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
35118         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
35119         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
35120         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
35121         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
35122         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
35123         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
35124         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
35125         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
35126         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
35127         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
35128         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
35129         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
35130         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
35131         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
35132         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
35133         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
35134         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
35135         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
35136         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
35137         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
35138         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
35139         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
35140         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
35141         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
35142         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
35143         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
35144         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
35145         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
35146         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
35147         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
35148         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
35149         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
35150         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
35151         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
35152         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
35153         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
35154         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
35156 2012-03-06  Bruno Haible  <bruno@clisp.org>
35158         math: Update module names in warnings.
35159         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35160         tanl): Use specific module name in warn-on-use warning.
35162 2012-03-06  Bruno Haible  <bruno@clisp.org>
35164         expl: Simplify computation.
35165         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
35167 2012-03-05  Bruno Haible  <bruno@clisp.org>
35169         exp* tests: More tests.
35170         * tests/test-exp.h: New file.
35171         * tests/test-exp.c: Include <float.h> and test-exp.h.
35172         (main): Invoke test_function.
35173         * tests/test-expf.c: Include <float.h> and test-exp.h.
35174         (main): Invoke test_function.
35175         * tests/test-expl.c: Include <float.h> and test-exp.h.
35176         (main): Invoke test_function.
35177         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
35178         (Makefile.am): Add randomd.c to test_exp_SOURCES.
35179         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
35180         (Makefile.am): Add randomf.c to test_expf_SOURCES.
35181         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
35182         (Depends-on): Add 'float'.
35183         (Makefile.am): Add randoml.c to test_expl_SOURCES.
35185         expl: Fix precision of computed result.
35186         * lib/expl.c: Completely rewritten.
35187         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
35188         (Maintainer): Add me.
35189         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
35191 2012-03-05  Bruno Haible  <bruno@clisp.org>
35193         cbrt* tests: More tests.
35194         * tests/test-cbrt.h: New file.
35195         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
35196         (main): Invoke test_function.
35197         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
35198         (main): Invoke test_function.
35199         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
35200         (main): Invoke test_function.
35201         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
35202         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
35203         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
35204         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
35205         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
35206         (Depends-on): Add 'float'.
35207         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
35209 2012-03-05  Bruno Haible  <bruno@clisp.org>
35211         hypot* tests: More tests.
35212         * tests/test-hypot.h: New file, partially extracted from
35213         tests/test-hypotl.c.
35214         * tests/test-hypot.c: Include test-hypot.h.
35215         (main): Invoke test_function.
35216         * tests/test-hypotf.c: Include test-hypot.h.
35217         (main): Invoke test_function.
35218         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
35219         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
35220         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
35221         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
35222         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
35223         tests/randomf.c.
35224         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
35225         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
35226         tests/randoml.c.
35227         (Depends-on): Add 'fpucw', 'float'.
35228         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
35230 2012-03-05  Bruno Haible  <bruno@clisp.org>
35232         fpucw: Doc about FreeBSD.
35233         * lib/fpucw.h: Mention FreeBSD in comments.
35235 2012-03-04  Bruno Haible  <bruno@clisp.org>
35237         sqrt* tests: More tests.
35238         * tests/test-sqrt.h: New file.
35239         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
35240         (main): Invoke test_function.
35241         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
35242         (main): Invoke test_function.
35243         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
35244         (main): Invoke test_function.
35245         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
35246         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
35247         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
35248         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
35249         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
35250         (Depends-on): Add 'float'.
35251         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
35253 2012-03-04  Bruno Haible  <bruno@clisp.org>
35255         remainder* tests: More tests.
35256         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
35257         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
35258         (main): Invoke test_function.
35259         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
35260         (main): Invoke test_function.
35261         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
35262         (main): Invoke test_function.
35263         * modules/remainder-tests (Files): Add tests/test-remainder.h,
35264         tests/randomd.c.
35265         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
35266         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
35267         tests/randomf.c.
35268         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
35269         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
35270         tests/randoml.c.
35271         (Depends-on): Add 'float'.
35272         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
35274 2012-03-04  Bruno Haible  <bruno@clisp.org>
35276         remainder, remainderf, remainderl: Fix computation for large quotients.
35277         * lib/remainder.c: Completely rewritten.
35278         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
35279         USE_FLOAT.
35280         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
35281         USE_LONG_DOUBLE.
35282         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
35283         isnand, isinf. Remove round, fma.
35284         * modules/remainderf (Files): Add lib/remainder.c.
35285         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
35286         Remove roundf, fmaf.
35287         * modules/remainderl (Files): Add lib/remainder.c.
35288         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
35289         isinf. Remove roundl, fmal.
35290         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
35291         REMAINDER_LIBM.
35292         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
35293         REMAINDERF_LIBM.
35294         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
35295         REMAINDERL_LIBM.
35297 2012-03-04  Bruno Haible  <bruno@clisp.org>
35299         fmod* tests: More tests.
35300         * tests/test-fmod.h (my_ldexp): New function.
35301         (test_function): Reduce amount of random numbers to test. Add tests
35302         of very large quotients x / y.
35303         * tests/test-fmod.c (MAX_EXP): New macro.
35304         * tests/test-fmodf.c (MAX_EXP): Likewise.
35305         * tests/test-fmodl.c (MAX_EXP): Likewise.
35307 2012-03-04  Bruno Haible  <bruno@clisp.org>
35309         fmod, fmodl: Fix computation for large quotients x / y.
35310         * lib/fmod.c: Completely rewritten.
35311         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
35312         USE_LONG_DOUBLE.
35313         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
35314         isnand. Remove fma.
35315         * modules/fmodl (Files): Add lib/fmod.c.
35316         (Depends-on): Add float, isfinite, signbit, fabsl,
35317         frexpl, ldexpl, isnanl. Remove fma.
35318         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
35319         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
35321 2012-03-03  Bruno Haible  <bruno@clisp.org>
35323         fmod* tests: More tests.
35324         * tests/test-fmod.h: New file.
35325         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
35326         (main): Invoke test_function.
35327         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
35328         (main): Invoke test_function.
35329         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
35330         (main): Invoke test_function.
35331         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
35332         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
35333         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
35334         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
35335         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
35336         (Depends-on): Add 'float'.
35337         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
35339 2012-03-03  Bruno Haible  <bruno@clisp.org>
35341         rint* tests: More tests.
35342         * tests/test-rint.h: New file, partially extracted from
35343         tests/test-rintl.c.
35344         * tests/test-rint.c: Include test-rint.h.
35345         (main): Invoke test_function.
35346         * tests/test-rintf.c: Include test-rint.h.
35347         (main): Invoke test_function.
35348         * tests/test-rintl.c: Include test-rint.h.
35349         (main): Invoke test_function.
35350         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
35351         (Makefile.am): Add randomd.c to test_rint_SOURCES.
35352         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
35353         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
35354         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
35355         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
35357 2012-03-03  Bruno Haible  <bruno@clisp.org>
35359         modf* tests: More tests.
35360         * tests/test-modf.h: New file.
35361         * tests/test-modf.c: Include <float.h> and test-modf.h.
35362         (main): Invoke test_function.
35363         * tests/test-modff.c: Include <float.h> and test-modf.h.
35364         (main): Invoke test_function.
35365         * tests/test-modfl.c: Include <float.h> and test-modf.h.
35366         (main): Invoke test_function.
35367         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
35368         (Makefile.am): Add randomd.c to test_modf_SOURCES.
35369         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
35370         (Makefile.am): Add randomf.c to test_modff_SOURCES.
35371         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
35372         (Depends-on): Add 'float'.
35373         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
35375 2012-03-03  Bruno Haible  <bruno@clisp.org>
35377         fabs* tests: More tests.
35378         * tests/test-fabs.h: New file, partially extracted from
35379         tests/test-fabsl.c.
35380         * tests/test-fabs.c (RANDOM): New macro.
35381         * tests/test-fabsf.c (RANDOM): New macro.
35382         * tests/test-fabsl.c (RANDOM): New macro.
35383         * modules/fabs-tests (Files): Add tests/randomd.c.
35384         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
35385         * modules/fabsf-tests (Files): Add tests/randomf.c.
35386         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
35387         * modules/fabsl-tests (Files): Add tests/randoml.c.
35388         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
35390 2012-03-03  Bruno Haible  <bruno@clisp.org>
35392         ldexp* tests: More tests.
35393         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
35394         * tests/test-ldexp.c (RANDOM): New macro.
35395         * tests/test-ldexpf.c (RANDOM): New macro.
35396         * tests/test-ldexpl.c (RANDOM): New macro.
35397         * modules/ldexp-tests (Files): Add tests/randomd.c.
35398         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
35399         * modules/ldexpf-tests (Files): Add tests/randomf.c.
35400         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
35401         * modules/ldexpl-tests (Files): Add tests/randoml.c.
35402         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
35404 2012-03-03  Bruno Haible  <bruno@clisp.org>
35406         frexp* tests: More tests.
35407         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
35408         * tests/test-frexp.c (RANDOM): New macro.
35409         * tests/test-frexpf.c (RANDOM): New macro.
35410         * tests/test-frexpl.c (RANDOM): New macro.
35411         * modules/frexp-tests (Files): Add tests/randomd.c.
35412         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
35413         * modules/frexpf-tests (Files): Add tests/randomf.c.
35414         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
35415         * modules/frexpl-tests (Files): Add tests/randoml.c.
35416         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
35418 2012-03-03  Bruno Haible  <bruno@clisp.org>
35420         Support for pseudo-random numbers in tests.
35421         * tests/randomf.c: New file.
35422         * tests/randomd.c: New file.
35423         * tests/randoml.c: New file.
35424         * tests/macros.h (randomf, randomd, randoml): New declarations.
35426 2012-03-03  Bruno Haible  <bruno@clisp.org>
35428         frexp* tests: Refactor.
35429         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
35430         * tests/test-frexp.c: Include and use it.
35431         * tests/test-frexpf.c: Likewise.
35432         * tests/test-frexpl.c: Likewise.
35433         * modules/frexp-tests (Files): Add tests/test-frexp.h.
35434         * modules/frexpf-tests (Files): Likewise.
35435         * modules/frexpl-tests (Files): Likewise.
35437 2012-03-02  Jim Meyering  <meyering@redhat.com>
35439         maint: don't specify XZ_OPT=-9ev in dist-related rule
35440         Using xz's -9 option is warranted only if you have a very large
35441         tarball (see xz's documentation for the sizes vs. presets), and
35442         requires 64MiB of memory at decompression time.
35443         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
35444         Automake's default of just "-e" is fine.  Override on a
35445         per-package basis by setting XZ_OPT e.g., in cfg.mk.
35447 2012-03-01  Eric Blake  <eblake@redhat.com>
35449         maint.mk: allow announcement for non-gnulib project
35450         * maint.mk (announcement): Skip gnulib version if not used.
35452 2012-03-01  Jim Meyering  <meyering@redhat.com>
35454         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
35455         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
35456         envvar settings cannot interfere.  Otherwise, setting envvars like
35457         prohibit=foo require=bar, etc. would cause spurious test failures.
35459 2012-03-01  Eric Blake  <eblake@redhat.com>
35461         maint.mk: add per-line exclusions to prohibitions
35462         * maint.mk (_sc_search_regexp): Add $exclude parameter.
35463         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
35464         (sc_const_long_option): Use it.
35466 2012-03-01  Bruno Haible  <bruno@clisp.org>
35468         Tests for module 'expl-ieee'.
35469         * modules/expl-ieee-tests: New file.
35470         * tests/test-expl-ieee.c: New file.
35472         New module 'expl-ieee'.
35473         * modules/expl-ieee: New file.
35475         Tests for module 'exp-ieee'.
35476         * modules/exp-ieee-tests: New file.
35477         * tests/test-exp-ieee.c: New file.
35479         New module 'exp-ieee'.
35480         * modules/exp-ieee: New file.
35482         Tests for module 'expf-ieee'.
35483         * modules/expf-ieee-tests: New file.
35484         * tests/test-expf-ieee.c: New file.
35485         * tests/test-exp-ieee.h: New file.
35487         New module 'expf-ieee'.
35488         * modules/expf-ieee: New file.
35490 2012-02-29  Bruno Haible  <bruno@clisp.org>
35492         cbrtl-ieee: Work around test failure on IRIX 6.5.
35493         * m4/cbrtl-ieee.m4: New file.
35494         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
35495         test whether cbrtl works with a minus zero argument. Replace it if not.
35496         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
35497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
35498         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
35499         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
35500         (Depends-on): Update conditions.
35501         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
35502         m4/signbit.m4.
35503         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
35504         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
35505         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
35507         Tests for module 'cbrtl-ieee'.
35508         * modules/cbrtl-ieee-tests: New file.
35509         * tests/test-cbrtl-ieee.c: New file.
35511         New module 'cbrtl-ieee'.
35512         * modules/cbrtl-ieee: New file.
35514         Tests for module 'cbrt-ieee'.
35515         * modules/cbrt-ieee-tests: New file.
35516         * tests/test-cbrt-ieee.c: New file.
35518         New module 'cbrt-ieee'.
35519         * modules/cbrt-ieee: New file.
35521         Tests for module 'cbrtf-ieee'.
35522         * modules/cbrtf-ieee-tests: New file.
35523         * tests/test-cbrtf-ieee.c: New file.
35524         * tests/test-cbrt-ieee.h: New file.
35526         New module 'cbrtf-ieee'.
35527         * modules/cbrtf-ieee: New file.
35529 2012-02-29  Bruno Haible  <bruno@clisp.org>
35531         cbrtf: Work around bug in IRIX 6.5 system function.
35532         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
35533         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
35534         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
35535         work.
35536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
35537         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
35538         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
35539         (Depends-on): Update conditions.
35540         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
35542 2012-02-29  Bruno Haible  <bruno@clisp.org>
35544         Tests for module 'cbrtl'.
35545         * modules/cbrtl-tests: New file.
35546         * tests/test-cbrtl.c: New file.
35548         New module 'cbrtl'.
35549         * lib/math.in.h (cbrtl): New declaration.
35550         * lib/cbrtl.c: New file.
35551         * m4/cbrtl.m4: New file.
35552         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
35553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
35554         HAVE_DECL_CBRTL.
35555         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
35556         HAVE_DECL_CBRTL.
35557         * modules/cbrtl: New file.
35558         * tests/test-math-c++.cc: Check the declaration of cbrtl.
35559         * doc/posix-functions/cbrtl.texi: Mention the new module.
35561 2012-02-29  Bruno Haible  <bruno@clisp.org>
35563         Tests for module 'cbrtf'.
35564         * modules/cbrtf-tests: New file.
35565         * tests/test-cbrtf.c: New file.
35567         New module 'cbrtf'.
35568         * lib/math.in.h (cbrtf): New declaration.
35569         * lib/cbrtf.c: New file.
35570         * m4/cbrtf.m4: New file.
35571         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
35572         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
35573         HAVE_DECL_CBRTF.
35574         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
35575         HAVE_DECL_CBRTF.
35576         * modules/cbrtf: New file.
35577         * tests/test-math-c++.cc: Check the declaration of cbrtf.
35578         * doc/posix-functions/cbrtf.texi: Mention the new module.
35580 2012-02-29  Bruno Haible  <bruno@clisp.org>
35582         cbrt: Provide replacement on MSVC and Minix.
35583         * lib/math.in.h (cbrt): New declaration.
35584         * lib/cbrt.c: New file.
35585         * m4/cbrt.m4: New file.
35586         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
35587         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
35588         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
35589         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
35590         (Depends-on): Add dependencies.
35591         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
35592         * tests/test-math-c++.cc: Check the declaration of cbrt.
35593         * doc/posix-functions/cbrt.texi: Mention that the module provides a
35594         replacement.
35596 2012-02-29  Bruno Haible  <bruno@clisp.org>
35598         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
35599         * m4/hypotl-ieee.m4: New file.
35600         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
35601         test whether hypotl works with mixed NaN and Infinity arguments.
35602         Replace it if not.
35603         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
35604         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
35605         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
35606         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
35607         (Depends-on): Update conditions.
35608         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
35609         (Depends-on): Add hypot-ieee.
35610         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
35611         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
35613         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
35614         * m4/hypotf-ieee.m4: New file.
35615         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
35616         test whether hypotf works with mixed NaN and Infinity arguments.
35617         Replace it if not.
35618         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
35619         (Depends-on): Add hypot-ieee.
35620         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
35621         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
35623         hypot-ieee: Work around test failure on OSF/1 and native Windows.
35624         * lib/math.in.h (hypot): New declaration.
35625         * lib/hypot.c: New file.
35626         * m4/hypot-ieee.m4: New file.
35627         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
35628         whether hypot works with mixed NaN and Infinity arguments. Replace it
35629         if not.
35630         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
35631         REPLACE_HYPOT.
35632         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
35633         * modules/hypot (Files): Add lib/hypot.c.
35634         (Depends-on): Add dependencies.
35635         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
35636         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
35637         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
35638         * tests/test-math-c++.cc: Check the declaration of hypot.
35639         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
35641         Tests for module 'hypotl-ieee'.
35642         * modules/hypotl-ieee-tests: New file.
35643         * tests/test-hypotl-ieee.c: New file.
35645         New module 'hypotl-ieee'.
35646         * modules/hypotl-ieee: New file.
35648         Tests for module 'hypot-ieee'.
35649         * modules/hypot-ieee-tests: New file.
35650         * tests/test-hypot-ieee.c: New file.
35652         New module 'hypot-ieee'.
35653         * modules/hypot-ieee: New file.
35655         Tests for module 'hypotf-ieee'.
35656         * modules/hypotf-ieee-tests: New file.
35657         * tests/test-hypotf-ieee.c: New file.
35658         * tests/test-hypot-ieee.h: New file.
35660         New module 'hypotf-ieee'.
35661         * modules/hypotf-ieee: New file.
35663 2012-02-29  Bruno Haible  <bruno@clisp.org>
35665         Remove unused variables.
35666         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
35667         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
35668         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
35669         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
35671 2012-02-29  Eric Blake  <eblake@redhat.com>
35673         termios: fix pid_t always, not just for tcgetsid
35674         * doc/posix-headers/termios.texi (termios.h): Mention problem.
35675         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
35676         just when building tcgetsid.
35678 2012-02-29  Bruno Haible  <bruno@clisp.org>
35680         Tests for module 'hypotl'.
35681         * modules/hypotl-tests: New file.
35682         * tests/test-hypotl.c: New file.
35684         New module 'hypotl'.
35685         * lib/math.in.h (hypotl): New declaration.
35686         * lib/hypotl.c: New file.
35687         * m4/hypotl.m4: New file.
35688         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
35689         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
35690         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
35691         * modules/hypotl: New file.
35692         * tests/test-math-c++.cc: Check the hypotl declaration.
35693         * doc/posix-functions/hypotl.texi: Mention the new module.
35695 2012-02-29  Eric Blake  <eblake@redhat.com>
35697         tcgetsid: fix cygwin header bug
35698         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
35700         docs: update cygwin progress
35701         * doc/posix-functions/llround.texi (llround): Added in cygwin
35702         1.7.8.
35703         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
35704         * doc/glibc-functions/program_invocation_name.texi
35705         (program_invocation_name): Likewise.
35706         * doc/glibc-functions/program_invocation_short_name.texi
35707         (program_invocation_short_name): Likewise.
35708         * doc/glibc-functions/madvise.texi (madvise): Likewise.
35709         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
35710         Likewise.
35711         * doc/posix-functions/pthread_spin_destroy.texi
35712         (pthread_spin_destroy): Added in cygwin 1.7.10.
35713         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
35714         Likewise.
35715         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
35716         Likewise.
35717         * doc/posix-functions/pthread_spin_trylock.texi
35718         (pthread_spin_trylock): Likewise.
35719         * doc/posix-functions/pthread_spin_unlock.texi
35720         (pthread_spin_unlock): Likewise.
35721         * doc/posix-functions/pthread_setschedprio.texi
35722         (pthread_setschedprio): Likewise.
35723         * doc/posix-functions/pthread_attr_getstack.texi
35724         (pthread_attr_getstack): Likewise.
35725         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
35726         (pthread_attr_getstackaddr): Likewise.
35727         * doc/glibc-functions/pthread_getattr_np.texi
35728         (pthread_getattr_np): Likewise.
35729         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
35730         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
35731         * doc/posix-functions/clock_settime.texi (clock_settime):
35732         Likewise.
35733         * doc/posix-functions/pthread_attr_getguardsize.texi
35734         (pthread_attr_getguardsize): Likewise.
35735         * doc/posix-functions/pthread_attr_setguardsize.texi
35736         (pthread_attr_setguardsize): Likewise.
35737         * doc/posix-functions/pthread_attr_setstack.texi
35738         (pthread_attr_setstack): Likewise.
35739         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
35740         (pthread_attr_setstackaddr): Likewise.
35741         * doc/posix-functions/clock_getcpuclockid.texi
35742         (clock_getcpuclockid): Likewise.
35743         * doc/posix-functions/pthread_getcpuclockid.texi
35744         (pthread_getcpuclockid): Likewise.
35745         * doc/glibc-functions/error.texi (error): Likewise.
35746         * doc/glibc-functions/error_at_line.texi (error_at_line):
35747         Likewise.
35748         * doc/glibc-functions/error_message_count.texi
35749         (error_message_count): Likewise.
35750         * doc/glibc-functions/error_one_per_line.texi
35751         (error_one_per_line): Likewise.
35752         * doc/glibc-functions/error_print_progname.texi
35753         (error_print_progname): Likewise.
35754         * doc/posix-functions/pthread_condattr_getclock.texi
35755         (pthread_condattr_getclock): Likewise.
35756         * doc/posix-functions/pthread_condattr_setclock.texi
35757         (pthread_condattr_setclock): Likewise.
35758         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
35759         Likewise.
35760         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
35761         * doc/glibc-functions/getpt.texi (getpt): Likewise.
35762         * doc/glibc-functions/get_current_dir_name.texi
35763         (get_current_dir_name): Likewise.
35764         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
35765         Likewise.
35766         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
35767         wrong return type.
35768         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
35769         1.7.11.
35771 2012-02-29  Bruno Haible  <bruno@clisp.org>
35773         Tests for module 'hypotf'.
35774         * modules/hypotf-tests: New file.
35775         * tests/test-hypotf.c: New file.
35777         New module 'hypotf'.
35778         * lib/math.in.h (hypotf): New declaration.
35779         * lib/hypotf.c: New file.
35780         * m4/hypotf.m4: New file.
35781         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
35782         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
35783         REPLACE_HYPOTF.
35784         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
35785         REPLACE_HYPOTF.
35786         * modules/hypotf: New file.
35787         * tests/test-math-c++.cc: Check the hypotf declaration.
35788         * doc/posix-functions/hypotf.texi: Mention the new module.
35790         hypot: Prepare for hypotf module.
35791         * m4/hypot.m4: New file.
35792         * modules/hypot (Files): Add m4/hypot.m4.
35793         (configure.ac): Invoke gl_FUNC_HYPOT.
35795 2012-02-29  Bruno Haible  <bruno@clisp.org>
35797         hypot tests: More tests.
35798         * tests/test-hypot.c: Include <float.h>.
35799         (main): Add tests about overflow and underflow.
35801 2012-02-29  Bruno Haible  <bruno@clisp.org>
35803         math code: Add comments.
35804         * lib/acosl.c: Add comment about related glibc source files.
35805         * lib/asinl.c: Likewise.
35806         * lib/atanl.c: Likewise.
35807         * lib/expl.c: Likewise.
35808         * lib/logl.c: Likewise.
35809         * lib/sincosl.c: Likewise.
35810         * lib/sinl.c: Likewise.
35811         * lib/tanl.c: Likewise.
35812         * lib/trigl.c: Likewise.
35813         * lib/cosl.c: Likewise. Fix comments.
35815 2012-02-28  Bruno Haible  <bruno@clisp.org>
35817         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
35818         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
35819         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
35820         HUGE_VALL are defined.
35821         (numeric_equald): Renamed from numeric_equal.
35822         (numeric_equalf, numeric_equall): New functions.
35823         (main): Check also HUGE_VALF, HUGE_VALL.
35824         * modules/math-tests (Files): Add tests/macros.h.
35825         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
35826         HUGE_VALL.
35828 2012-02-28  Bruno Haible  <bruno@clisp.org>
35830         doc: Move ISO C11 feature notes into POSIX chapters.
35831         * doc/posix-functions/aligned_alloc.texi: Renamed from
35832         doc/glibc-functions/aligned_alloc.texi.
35833         * doc/posix-functions/quick_exit.texi: Renamed from
35834         doc/glibc-functions/quick_exit.texi.
35835         * doc/posix-headers/uchar.texi: Renamed from
35836         doc/glibc-headers/uchar.texi.
35837         * doc/posix-functions/c16rtomb.texi: Renamed from
35838         doc/glibc-functions/c16rtomb.texi.
35839         * doc/posix-functions/c32rtomb.texi: Renamed from
35840         doc/glibc-functions/c32rtomb.texi.
35841         * doc/posix-functions/mbrtoc16.texi: Renamed from
35842         doc/glibc-functions/mbrtoc16.texi.
35843         * doc/posix-functions/mbrtoc32.texi: Renamed from
35844         doc/glibc-functions/mbrtoc32.texi.
35845         * doc/gnulib.texi: Update.
35846         (Glibc uchar.h): Remove section.
35847         Suggested by Eric Blake.
35849 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
35851         stdnoreturn: port to MSVC better
35852         MSVC standard headers use __declspec(noreturn), so #define noreturn
35853         to empty on that platform.  Reported by Bruno Haible in
35854         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
35855         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
35856         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
35858 2012-02-28  Bruno Haible  <bruno@clisp.org>
35860         doc: Mention new glibc headers and functions.
35861         * doc/glibc-headers/uchar.texi: New file.
35862         * doc/glibc-functions/aligned_alloc.texi: New file.
35863         * doc/glibc-functions/c16rtomb.texi: New file.
35864         * doc/glibc-functions/c32rtomb.texi: New file.
35865         * doc/glibc-functions/clock_adjtime.texi: New file.
35866         * doc/glibc-functions/fanotify_init.texi: New file.
35867         * doc/glibc-functions/fanotify_mark.texi: New file.
35868         * doc/glibc-functions/inet6_opt_append.texi: New file.
35869         * doc/glibc-functions/inet6_opt_find.texi: New file.
35870         * doc/glibc-functions/inet6_opt_finish.texi: New file.
35871         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
35872         * doc/glibc-functions/inet6_opt_init.texi: New file.
35873         * doc/glibc-functions/inet6_opt_next.texi: New file.
35874         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
35875         * doc/glibc-functions/inet6_rth_add.texi: New file.
35876         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
35877         * doc/glibc-functions/inet6_rth_init.texi: New file.
35878         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
35879         * doc/glibc-functions/inet6_rth_segments.texi: New file.
35880         * doc/glibc-functions/inet6_rth_space.texi: New file.
35881         * doc/glibc-functions/login.texi: New file.
35882         * doc/glibc-functions/mbrtoc16.texi: New file.
35883         * doc/glibc-functions/mbrtoc32.texi: New file.
35884         * doc/glibc-functions/name_to_handle_at.texi: New file.
35885         * doc/glibc-functions/ntp_gettimex.texi: New file.
35886         * doc/glibc-functions/open_by_handle_at.texi: New file.
35887         * doc/glibc-functions/prlimit.texi: New file.
35888         * doc/glibc-functions/process_vm_readv.texi: New file.
35889         * doc/glibc-functions/process_vm_writev.texi: New file.
35890         * doc/glibc-functions/recvmmsg.texi: New file.
35891         * doc/glibc-functions/scandirat.texi: New file.
35892         * doc/glibc-functions/sendmmsg.texi: New file.
35893         * doc/glibc-functions/setns.texi: New file.
35894         * doc/glibc-functions/timespec_get.texi: New file.
35895         * doc/gnulib.texi: Include them.
35896         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
35897         sections.
35898         Reported by Eric Blake.
35900 2012-02-28  Bruno Haible  <bruno@clisp.org>
35902         Avoid compilation errors with MSVC option -fp:strict.
35903         * lib/floor.c: Use MSVC specific pragma fenv_access.
35904         * lib/ceil.c: Likewise.
35905         * lib/trunc.c: Likewise.
35906         * lib/round.c: Likewise.
35907         * lib/rint.c: Likewise.
35908         * lib/fma.c: Likewise.
35909         * lib/integer_length.c: Likewise.
35910         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35911         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35912         * tests/test-floor2.c: Likewise.
35913         * tests/test-floorf2.c: Likewise.
35914         * tests/test-ceil2.c: Likewise.
35915         * tests/test-ceilf2.c: Likewise.
35916         * tests/test-trunc2.c: Likewise.
35917         * tests/test-truncf2.c: Likewise.
35918         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
35920 2012-02-27  Bruno Haible  <bruno@clisp.org>
35922         Tests for module 'sqrtl-ieee'.
35923         * modules/sqrtl-ieee-tests: New file.
35924         * tests/test-sqrtl-ieee.c: New file.
35926         New module 'sqrtl-ieee'.
35927         * modules/sqrtl-ieee: New file.
35929         Tests for module 'sqrt-ieee'.
35930         * modules/sqrt-ieee-tests: New file.
35931         * tests/test-sqrt-ieee.c: New file.
35933         New module 'sqrt-ieee'.
35934         * modules/sqrt-ieee: New file.
35936         Tests for module 'sqrtf-ieee'.
35937         * modules/sqrtf-ieee-tests: New file.
35938         * tests/test-sqrtf-ieee.c: New file.
35939         * tests/test-sqrt-ieee.h: New file.
35941         New module 'sqrtf-ieee'.
35942         * modules/sqrtf-ieee: New file.
35944 2012-02-27  Bruno Haible  <bruno@clisp.org>
35946         remainderl-ieee: Work around test failure on OSF/1.
35947         * m4/remainderl-ieee.m4: New file.
35948         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
35949         present, test whether remainderl works with a zero second argument.
35950         Replace it if not.
35951         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
35952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
35953         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
35954         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
35955         (Depends-on): Update conditions.
35956         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
35957         (Depends-on): Add remainder-ieee.
35958         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
35959         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
35960         module.
35962         remainderf-ieee: Work around test failure on OSF/1.
35963         * m4/remainderf-ieee.m4: New file.
35964         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
35965         present, test whether remainderf works with a zero second argument.
35966         Replace it if not.
35967         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
35968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
35969         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
35970         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
35971         (Depends-on): Update conditions.
35972         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
35973         (Depends-on): Add remainder-ieee.
35974         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
35975         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
35976         module.
35978         remainder-ieee: Work around test failure on OSF/1.
35979         * m4/remainder-ieee.m4: New file.
35980         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
35981         present, test whether remainder works with a zero second argument.
35982         Replace it if not.
35983         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
35984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
35985         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
35986         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
35987         (Depends-on): Update dependencies.
35988         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
35989         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
35990         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
35992         Tests for module 'remainderl-ieee'.
35993         * modules/remainderl-ieee-tests: New file.
35994         * tests/test-remainderl-ieee.c: New file.
35996         New module 'remainderl-ieee'.
35997         * modules/remainderl-ieee: New file.
35999         Tests for module 'remainder-ieee'.
36000         * modules/remainder-ieee-tests: New file.
36001         * tests/test-remainder-ieee.c: New file.
36003         New module 'remainder-ieee'.
36004         * modules/remainder-ieee: New file.
36006         Tests for module 'remainderf-ieee'.
36007         * modules/remainderf-ieee-tests: New file.
36008         * tests/test-remainderf-ieee.c: New file.
36009         * tests/test-remainder-ieee.h: New file.
36011         New module 'remainderf-ieee'.
36012         * modules/remainderf-ieee: New file.
36014 2012-02-27  Bruno Haible  <bruno@clisp.org>
36016         modff, modfl: Fix configure syntax error.
36017         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
36018         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
36020 2012-02-27  Bruno Haible  <bruno@clisp.org>
36022         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
36023         * m4/fmodl-ieee.m4: New file.
36024         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
36025         whether fmodl works with zero arguments. Replace it if not.
36026         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
36027         (Depends-on): Add fmod-ieee.
36028         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
36029         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
36031         fmodf-ieee: Work around test failure on OSF/1.
36032         * m4/fmodf-ieee.m4: New file.
36033         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
36034         whether fmodf works with zero arguments. Replace it if not.
36035         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
36036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
36037         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
36038         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
36039         (Depends-on): Update dependencies.
36040         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
36041         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
36042         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
36044         fmodf-ieee: Work around test failure on MSVC 9.
36045         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
36046         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
36048         fmod-ieee: Work around test failures on OSF/1, mingw.
36049         * m4/fmod-ieee.m4: New file.
36050         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
36051         whether fmod works with zero arguments. Replace it if not.
36052         * lib/math.in.h (fmod): New declaration.
36053         * lib/fmod.c: New file.
36054         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
36055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
36056         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
36057         * modules/fmod (Files): Add lib/fmod.c.
36058         (Depends-on): Add math, isinf, trunc, fma.
36059         (configure.ac): Arrange to compile lib/fmod.c if needed.
36060         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
36061         m4/signbit.m4.
36062         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
36063         * tests/test-math-c++.cc: Check the declaration of fmod.
36064         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
36066         fmodl-ieee: Fix test failures.
36067         * lib/fmodl.c (fmodl): Treat Inf specially.
36068         * modules/fmodl (Depends-on): Add isinf.
36070         Tests for module 'fmodl-ieee'.
36071         * modules/fmodl-ieee-tests: New file.
36072         * tests/test-fmodl-ieee.c: New file.
36074         New module 'fmodl-ieee'.
36075         * modules/fmodl-ieee: New file.
36077         Tests for module 'fmod-ieee'.
36078         * modules/fmod-ieee-tests: New file.
36079         * tests/test-fmod-ieee.c: New file.
36081         New module 'fmod-ieee'.
36082         * modules/fmod-ieee: New file.
36084         Tests for module 'fmodf-ieee'.
36085         * modules/fmodf-ieee-tests: New file.
36086         * tests/test-fmodf-ieee.c: New file.
36087         * tests/test-fmod-ieee.h: New file.
36089         New module 'fmodf-ieee'.
36090         * modules/fmodf-ieee: New file.
36092 2012-02-27  Bruno Haible  <bruno@clisp.org>
36094         Tests for module 'rintl-ieee'.
36095         * modules/rintl-ieee-tests: New file.
36096         * tests/test-rintl-ieee.c: New file.
36098         New module 'rintl-ieee'.
36099         * modules/rintl-ieee: New file.
36101         Tests for module 'rint-ieee'.
36102         * modules/rint-ieee-tests: New file.
36103         * tests/test-rint-ieee.c: New file.
36105         New module 'rint-ieee'.
36106         * modules/rint-ieee: New file.
36108         Tests for module 'rintf-ieee'.
36109         * modules/rintf-ieee-tests: New file.
36110         * tests/test-rintf-ieee.c: New file.
36111         * tests/test-rint-ieee.h: New file.
36113         New module 'rintf-ieee'.
36114         * modules/rintf-ieee: New file.
36116 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
36118         regex: re_search etc. should return -2 when memory exhausted
36119         This bug was uncovered when testing 'grep'.  Without the fix,
36120         re_search and friends return -1 when memory is exhausted, but -1
36121         means no match, and this causes grep to falsely report no-match
36122         instead of memory-exhaustion.  See
36123         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
36124         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
36125         trouble; this can occur if re_search_internal ran out of memory.
36127 2012-02-26  Bruno Haible  <bruno@clisp.org>
36129         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
36130         * m4/modfl-ieee.m4: New file.
36131         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
36132         whether modfl works with Inf. Replace it if not.
36133         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
36134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
36135         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
36136         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
36137         (Depends-on): Update dependencies.
36138         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
36139         m4/signbit.m4.
36140         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
36141         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
36143         modfl-ieee: Fix dependencies.
36144         * modules/modfl-ieee (Depends-on): Add modf-ieee.
36146         modfl-ieee: Fix test failures.
36147         * lib/modfl.c (modfl): Treat NaN and Inf specially.
36148         * modules/modfl (Depends-on): Add isfinite, isinf.
36150         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
36151         * m4/modff-ieee.m4: New file.
36152         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
36153         whether modff works with NaN and Inf. Replace it if not.
36154         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
36155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
36156         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
36157         * modules/modff (configure.ac): Consider REPLACE_MODFF.
36158         (Depends-on): Update dependencies.
36159         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
36160         m4/signbit.m4.
36161         (Depends-on): Add modf-ieee.
36162         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
36163         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
36165         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
36166         * m4/modf-ieee.m4: New file.
36167         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
36168         whether modf works with NaN and Inf. Replace it if not.
36169         * lib/math.in.h (modf): New declaration.
36170         * lib/modf.c: New file.
36171         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
36172         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
36173         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
36174         * modules/modf (Files): Add lib/modf.c.
36175         (Depends-on): Add math, isfinite, trunc, isinf.
36176         (configure.ac): Addrange to compile lib/modf.c if needed.
36177         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
36178         m4/signbit.m4.
36179         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
36180         * tests/test-math-c++.cc: Check the declaration of modf.
36181         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
36183         Tests for module 'modfl-ieee'.
36184         * modules/modfl-ieee-tests: New file.
36185         * tests/test-modfl-ieee.c: New file.
36187         New module 'modfl-ieee'.
36188         * modules/modfl-ieee: New file.
36190         Tests for module 'modf-ieee'.
36191         * modules/modf-ieee-tests: New file.
36192         * tests/test-modf-ieee.c: New file.
36194         New module 'modf-ieee'.
36195         * modules/modf-ieee: New file.
36197         Tests for module 'modff-ieee'.
36198         * modules/modff-ieee-tests: New file.
36199         * tests/test-modff-ieee.c: New file.
36200         * tests/test-modf-ieee.h: New file.
36202         New module 'modff-ieee'.
36203         * modules/modff-ieee: New file.
36205 2012-02-26  Bruno Haible  <bruno@clisp.org>
36207         Tests for module 'fabsl-ieee'.
36208         * modules/fabsl-ieee-tests: New file.
36209         * tests/test-fabsl-ieee.c: New file.
36211         New module 'fabsl-ieee'.
36212         * modules/fabsl-ieee: New file.
36214         Tests for module 'fabs-ieee'.
36215         * modules/fabs-ieee-tests: New file.
36216         * tests/test-fabs-ieee.c: New file.
36218         New module 'fabs-ieee'.
36219         * modules/fabs-ieee: New file.
36221         Tests for module 'fabsf-ieee'.
36222         * modules/fabsf-ieee-tests: New file.
36223         * tests/test-fabsf-ieee.c: New file.
36224         * tests/test-fabs-ieee.h: New file.
36226         New module 'fabsf-ieee'.
36227         * modules/fabsf-ieee: New file.
36229 2012-02-26  Bruno Haible  <bruno@clisp.org>
36231         Tests for module 'fmal-ieee'.
36232         * modules/fmal-ieee-tests: New file.
36233         * tests/test-fmal-ieee.c: New file.
36235         New module 'fmal-ieee'.
36236         * modules/fmal-ieee: New file.
36238         Tests for module 'fma-ieee'.
36239         * modules/fma-ieee-tests: New file.
36240         * tests/test-fma-ieee.c: New file.
36242         New module 'fma-ieee'.
36243         * modules/fma-ieee: New file.
36245         Tests for module 'fmaf-ieee'.
36246         * modules/fmaf-ieee-tests: New file.
36247         * tests/test-fmaf-ieee.c: New file.
36248         * tests/test-fma-ieee.h: New file.
36250         New module 'fmaf-ieee'.
36251         * modules/fmaf-ieee: New file.
36253 2012-02-26  Bruno Haible  <bruno@clisp.org>
36255         Tests for module 'ldexpl-ieee'.
36256         * modules/ldexpl-ieee-tests: New file.
36257         * tests/test-ldexpl-ieee.c: New file.
36259         New module 'ldexpl-ieee'.
36260         * modules/ldexpl-ieee: New file.
36262         Tests for module 'ldexp-ieee'.
36263         * modules/ldexp-ieee-tests: New file.
36264         * tests/test-ldexp-ieee.c: New file.
36266         New module 'ldexp-ieee'.
36267         * modules/ldexp-ieee: New file.
36269         Tests for module 'ldexpf-ieee'.
36270         * modules/ldexpf-ieee-tests: New file.
36271         * tests/test-ldexpf-ieee.c: New file.
36272         * tests/test-ldexp-ieee.h: New file.
36274         New module 'ldexpf-ieee'.
36275         * modules/ldexpf-ieee: New file.
36277 2012-02-26  Bruno Haible  <bruno@clisp.org>
36279         Refactor frexp*-ieee tests.
36280         * tests/test-frexp-ieee.h: New file.
36281         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
36282         (main): Just call test_function.
36283         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
36284         (main): Just call test_function.
36285         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
36286         (main): Just call test_function.
36287         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
36288         * modules/frexp-ieee-tests (Files): Likewise.
36289         * modules/frexpl-ieee-tests (Files): Likewise.
36291         Tests for module 'frexpl-ieee'.
36292         * modules/frexpl-ieee-tests: New file.
36293         * tests/test-frexpl-ieee.c: New file.
36295         New module 'frexpl-ieee'.
36296         * modules/frexpl-ieee: New file.
36298         Tests for module 'frexp-ieee'.
36299         * modules/frexp-ieee-tests: New file.
36300         * tests/test-frexp-ieee.c: New file.
36302         New module 'frexp-ieee'.
36303         * modules/frexp-ieee: New file.
36305         Tests for module 'frexpf-ieee'.
36306         * modules/frexpf-ieee-tests: New file.
36307         * tests/test-frexpf-ieee.c: New file.
36309         New module 'frexpf-ieee'.
36310         * modules/frexpf-ieee: New file.
36312 2012-02-26  Bruno Haible  <bruno@clisp.org>
36314         roundl-ieee tests: More tests.
36315         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
36316         (main): Add tests for [MX] shaded specification in POSIX.
36317         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36318         (Depends-on): Add isnanl-nolibm.
36320         round-ieee tests: More tests.
36321         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
36322         (main): Add tests for [MX] shaded specification in POSIX.
36323         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36324         (Depends-on): Add isnand-nolibm.
36326         roundf-ieee tests: More tests.
36327         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
36328         (main): Add tests for [MX] shaded specification in POSIX.
36329         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36330         (Depends-on): Add isnanf-nolibm.
36332         truncl-ieee tests: More tests.
36333         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
36334         (main): Add tests for [MX] shaded specification in POSIX.
36335         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36336         (Depends-on): Add isnanl-nolibm.
36338         trunc-ieee tests: More tests.
36339         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
36340         (main): Add tests for [MX] shaded specification in POSIX.
36341         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36342         (Depends-on): Add isnand-nolibm.
36344         truncf-ieee tests: More tests.
36345         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
36346         (main): Add tests for [MX] shaded specification in POSIX.
36347         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36348         (Depends-on): Add isnanf-nolibm.
36350         ceill-ieee tests: More tests.
36351         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
36352         (main): Add tests for [MX] shaded specification in POSIX.
36353         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36354         (Depends-on): Add isnanl-nolibm.
36356         ceil-ieee tests: More tests.
36357         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
36358         (main): Add tests for [MX] shaded specification in POSIX.
36359         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36360         (Depends-on): Add isnand-nolibm.
36362         ceilf-ieee tests: More tests.
36363         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
36364         (main): Add tests for [MX] shaded specification in POSIX.
36365         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36366         (Depends-on): Add isnanf-nolibm.
36368         floorl-ieee tests: More tests.
36369         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
36370         (main): Add tests for [MX] shaded specification in POSIX.
36371         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36372         (Depends-on): Add isnanl-nolibm.
36374         floor-ieee tests: More tests.
36375         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
36376         (main): Add tests for [MX] shaded specification in POSIX.
36377         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36378         (Depends-on): Add isnand-nolibm.
36380         floorf-ieee tests: More tests.
36381         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
36382         (main): Add tests for [MX] shaded specification in POSIX.
36383         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
36384         (Depends-on): Add isnanf-nolibm.
36386 2012-02-26  Bruno Haible  <bruno@clisp.org>
36388         fpieee: More comments.
36389         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
36391 2012-02-25  Bruno Haible  <bruno@clisp.org>
36393         Tests for module 'log10l'.
36394         * modules/log10l-tests: New file.
36395         * tests/test-log10l.c: New file.
36396         * tests/test-math-c++.cc: Check the declaration of log10l.
36398         New module 'log10l'.
36399         * lib/math.in.h (log10l): New declaration.
36400         * lib/log10l.c: New file.
36401         * m4/log10l.m4: New file.
36402         * modules/log10l: New file.
36403         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
36404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
36405         HAVE_DECL_LOG10L.
36406         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
36407         HAVE_DECL_LOG10L.
36408         * doc/posix-functions/log10l.texi: Mention the new module.
36410 2012-02-25  Bruno Haible  <bruno@clisp.org>
36412         fmodl, remainder*: Avoid wrong results due to rounding errors.
36413         * lib/fmodl.c (fmodl): Correct the result if it is not within the
36414         expected bounds.
36415         * lib/remainderf.c (remainderf): Likewise.
36416         * lib/remainder.c (remainder): Likewise.
36417         * lib/remainderl.c (remainderl): Likewise.
36419 2012-02-25  Bruno Haible  <bruno@clisp.org>
36421         Tests for module 'remainderl'.
36422         * modules/remainderl-tests: New file.
36423         * tests/test-remainderl.c: New file.
36424         * tests/test-math-c++.cc: Check the declaration of remainderl.
36426         New module 'remainderl'.
36427         * lib/math.in.h (remainderl): New declaration.
36428         * lib/remainderl.c: New file.
36429         * m4/remainderl.m4: New file.
36430         * modules/remainderl: New file.
36431         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
36432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
36433         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
36434         HAVE_REMAINDERL.
36435         * doc/posix-functions/remainderl.texi: Mention the new module.
36437 2012-02-25  Bruno Haible  <bruno@clisp.org>
36439         Tests for module 'remainderf'.
36440         * modules/remainderf-tests: New file.
36441         * tests/test-remainderf.c: New file.
36442         * tests/test-math-c++.cc: Check the declaration of remainderf.
36444         New module 'remainderf'.
36445         * lib/math.in.h (remainderf): New declaration.
36446         * lib/remainderf.c: New file.
36447         * m4/remainderf.m4: New file.
36448         * modules/remainderf: New file.
36449         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
36450         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
36451         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
36452         HAVE_REMAINDERF.
36453         * doc/posix-functions/remainderf.texi: Mention the new module.
36455 2012-02-25  Bruno Haible  <bruno@clisp.org>
36457         remainder: Support for MSVC.
36458         * lib/math.in.h (remainder): New declaration.
36459         * lib/remainder.c: New file.
36460         * m4/remainder.m4: New file.
36461         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
36462         (Depends-on): Add math, round, fma.
36463         (configure.ac): Use results of gl_FUNC_REMAINDER.
36464         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
36465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
36466         HAVE_DECL_REMAINDER.
36467         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
36468         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
36469         * tests/test-math-c++.cc: Check the declaration of remainder.
36470         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
36471         problems are fixed.
36473 2012-02-25  Bruno Haible  <bruno@clisp.org>
36475         Tests for module 'fmodl'.
36476         * modules/fmodl-tests: New file.
36477         * tests/test-fmodl.c: New file.
36478         * tests/test-math-c++.cc: Check the declaration of fmodl.
36480         New module 'fmodl'.
36481         * lib/math.in.h (fmodl): New declaration.
36482         * lib/fmodl.c: New file.
36483         * m4/fmodl.m4: New file.
36484         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
36485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
36486         REPLACE_FMODL.
36487         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
36488         REPLACE_FMODL.
36489         * modules/fmodl: New file.
36490         * doc/posix-functions/fmodl.texi: Mention the new module.
36492 2012-02-25  Bruno Haible  <bruno@clisp.org>
36494         Tests for module 'modfl'.
36495         * modules/modfl-tests: New file.
36496         * tests/test-modfl.c: New file.
36497         * tests/test-math-c++.cc: Check the declaration of modfl.
36499         New module 'modfl'.
36500         * lib/math.in.h (modfl): New declaration.
36501         * lib/modfl.c: New file.
36502         * m4/modfl.m4: New file.
36503         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
36504         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
36505         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
36506         * modules/modfl: New file.
36507         * doc/posix-functions/modfl.texi: Mention the new module.
36509 2012-02-25  Bruno Haible  <bruno@clisp.org>
36511         Tests for module 'fabsl'.
36512         * modules/fabsl-tests: New file.
36513         * tests/test-fabsl.c: New file.
36514         * tests/test-math-c++.cc: Check the declaration of fabsl.
36516         New module 'fabsl'.
36517         * lib/math.in.h (fabsl): New declaration.
36518         * lib/fabsl.c: New file.
36519         * m4/fabsl.m4: New file.
36520         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
36521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
36522         REPLACE_FABSL.
36523         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
36524         REPLACE_FABSL.
36525         * modules/fabsl: New file.
36526         * doc/posix-functions/fabsl.texi: Mention the new module.
36528 2012-02-25  Bruno Haible  <bruno@clisp.org>
36530         fabs tests: More tests.
36531         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
36532         (zero): New variable.
36533         (main): Add tests for signed zero.
36534         * modules/fabs-tests (Files): Add tests/minus-zero.h.
36536         fabsf tests: More tests.
36537         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
36538         (zero): New variable.
36539         (main): Add tests for signed zero.
36540         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
36542 2012-02-24  Bruno Haible  <bruno@clisp.org>
36544         atanl: Provide function definition on MSVC.
36545         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
36546         function pointer.
36547         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
36549 2012-02-24  Bruno Haible  <bruno@clisp.org>
36551         acosl: Provide function definition on MSVC.
36552         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
36553         function pointer.
36554         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
36556 2012-02-24  Bruno Haible  <bruno@clisp.org>
36558         asinl: Provide function definition on MSVC.
36559         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
36560         function pointer.
36561         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
36563 2012-02-24  Bruno Haible  <bruno@clisp.org>
36565         tanl: Provide function definition on MSVC.
36566         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
36567         function pointer.
36568         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
36570 2012-02-24  Bruno Haible  <bruno@clisp.org>
36572         cosl: Provide function definition on MSVC.
36573         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
36574         function pointer.
36575         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
36577 2012-02-24  Bruno Haible  <bruno@clisp.org>
36579         sinl: Provide function definition on MSVC.
36580         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
36581         function pointer.
36582         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
36584 2012-02-24  Bruno Haible  <bruno@clisp.org>
36586         logl: Provide function definition on MSVC.
36587         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
36588         function pointer.
36589         * lib/math.in.h (logl): Undefine if it does not exist as a function.
36591 2012-02-24  Bruno Haible  <bruno@clisp.org>
36593         expl: Provide function definition on MSVC.
36594         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
36595         function pointer.
36596         * lib/math.in.h (expl): Undefine if it does not exist as a function.
36598 2012-02-24  Bruno Haible  <bruno@clisp.org>
36600         sqrtl: Provide function definition on MSVC.
36601         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
36602         a function pointer.
36603         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
36605 2012-02-24  Bruno Haible  <bruno@clisp.org>
36607         ceill: Provide function definition on MSVC.
36608         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
36609         used as a function pointer.
36610         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
36612 2012-02-24  Bruno Haible  <bruno@clisp.org>
36614         floorl: Provide function definition on MSVC.
36615         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
36616         used as a function pointer.
36617         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
36619 2012-02-24  Bruno Haible  <bruno@clisp.org>
36621         ceilf: Provide function definition on MSVC.
36622         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
36623         used as a function pointer.
36624         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
36626 2012-02-24  Bruno Haible  <bruno@clisp.org>
36628         floorf: Provide function definition on MSVC.
36629         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
36630         used as a function pointer.
36631         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
36633 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
36635         stdnoreturn: new module
36636         This implements a replacement for C11's <stdnoreturn.h>.
36637         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
36638         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
36639         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
36640         * tests/test-stdnoreturn.c: New files.
36642 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
36644         regex: fix false multibyte matches in some regular expressions
36645         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
36646         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
36647         * lib/regex_internal.c (re_string_skip_chars):
36648         Fix miscomputation of remain_len that may cause incomplete
36649         multi-byte character and false match.
36651 2012-02-24  Jim Meyering  <meyering@redhat.com>
36653         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
36654         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
36655         uses with "==" *before* the call, e.g., 0 == strcmp (...)
36656         Remove now-unnecessary str''cmp obfuscation.
36657         Suggested by Akim Demaille.
36659 2012-02-24  Bruno Haible  <bruno@clisp.org>
36661         streq: Rename macro.
36662         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
36663         * NEWS: Mention the change.
36664         * lib/mbrtowc.c (mbrtowc): Update.
36665         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
36666         * lib/wcwidth.c (wcwidth): Update.
36667         Suggested by Akim Demaille and Jim Meyering.
36669 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36671         regex: fix typo in definition of MIN
36672         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
36673         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
36675 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36676             Bruno Haible  <bruno@clisp.org>
36678         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
36679         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
36680         entries into a stack-allocated buffer directly.
36681         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
36683 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36684             Bruno Haible  <bruno@clisp.org>
36686         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
36688          - There were several instances of this pattern:
36690              for (;;) {
36691                n = acl (f, GETACLCNT, 0, NULL);
36692                [ allocate an array A of size N ]
36693                if (acl (f, GETACL, n, a) == n)
36694                  break;
36695              }
36697            This loop might never terminate if some other process is constantly
36698            manipulating the file's ACL.  The loop should be rewritten to
36699            terminate.
36701          - The acl (... GETACLNT ...) call is merely an optimization; its value
36702            is merely a hint as to how big to make the array.  A better
36703            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
36704            and just guess a reasonably-big size, growing the size and trying
36705            again if it's not large enough.  This guarantees termination, and
36706            saves a system call.
36708         * lib/acl-internal.h: Include <limits.h>.
36709         (MIN, SIZE_MAX): New macros.
36710         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
36711         a stack-allocated buffer, and use malloc if it does not fit. Don't
36712         use GETACLCNT.
36713         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
36715 2012-02-19  Bruno Haible  <bruno@clisp.org>
36717         acl: Fix endless loop on Solaris with vxfs.
36718         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
36719         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
36720         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
36721         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
36722         * tests/test-sameacls.c (main)[Solaris]: Likewise.
36723         Reported by Bill Jones in
36724         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
36726 2012-02-19  Bruno Haible  <bruno@clisp.org>
36728         acl: Fix copy-acl test failure on Solaris 11.0.
36729         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
36730         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
36731         that this function returns 0 in some more cases.
36733 2012-02-19  Bruno Haible  <bruno@clisp.org>
36735         acl: Update doc references.
36736         * doc/acl-resources.txt: Update links to Solaris documentation.
36738 2012-02-19  Bruno Haible  <bruno@clisp.org>
36740         Fix test failure in many locales on Solaris 11.
36741         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
36742         'tr' arguments.
36743         * tests/test-pipe-filter-ii1.c (main): Likewise.
36744         * build-aux/bootstrap (check_versions): Run 'tr' command with range
36745         expressions in the C locale.
36746         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
36747         * m4/host-os.m4 (gl_HOST_OS): Likewise.
36749 2012-02-19  Bruno Haible  <bruno@clisp.org>
36751         gnulib-tool: Improve usage message.
36752         * gnulib-tool (func_usage): Move doc of --help and --version to the
36753         section "Operation modes".
36755 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
36757         README-release: make it easier to execute commands
36758         * top/README-release: break commands out on to separate lines.
36760 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
36762         GNUmakefile: simplify detection of unconfigured trees
36763         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
36764         whether the tree make is being run from is already configured or
36765         not.  Related simplifications.
36767 2012-02-13  Simon Josefsson  <simon@josefsson.org>
36769         * gnulib-tool (func_usage): Document --help and --version.
36771 2012-02-11  Jim Meyering  <meyering@redhat.com>
36773         bootstrap: don't exit 0 upon gnulib-tool failure
36774         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
36775         its exit status, not 0.
36777 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
36779         README-release: various improvements
36780         * top/README-release: Give a command to push changes for the
36781         release.  Add "distcheck" to list of other pre-release checks.
36782         Fix instance of "make stable" which should be "make TYPE".
36784 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
36786         maint: replace FSF snail-mail addresses with URLs
36787         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
36788         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
36789         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
36790         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
36791         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
36792         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
36793         * lib/check-version.c, lib/check-version.h, lib/config.charset:
36794         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
36795         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
36796         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
36797         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
36798         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
36799         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
36800         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
36801         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
36802         * lib/glthread/thread.c, lib/glthread/thread.h:
36803         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
36804         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
36805         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
36806         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
36807         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
36808         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
36809         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
36810         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
36811         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
36812         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
36813         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
36814         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
36815         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
36816         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
36817         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
36818         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
36819         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
36820         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
36821         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
36822         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
36823         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
36824         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
36825         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
36826         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
36827         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
36828         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
36829         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
36830         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
36831         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
36832         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
36833         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
36834         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
36835         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
36836         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
36837         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
36838         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
36839         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
36840         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
36841         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
36842         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
36843         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
36844         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
36845         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
36846         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
36847         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
36848         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
36849         * tests/test-poll.c, tests/test-quotearg-simple.c:
36850         * tests/test-quotearg.c, tests/test-quotearg.h:
36851         * tests/test-round-ieee.c, tests/test-round1.c:
36852         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
36853         * tests/test-roundl-ieee.c, tests/test-roundl.c:
36854         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
36855         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
36856         * tests/test-strerror.c, tests/test-strerror_r.c:
36857         * tests/test-strsignal.c, tests/test-strverscmp.c:
36858         * tests/test-xmemdup0.c:
36859         Replace FSF snail mail addresses with URLs, as per GNU coding
36860         standards.  See glibc bug
36861         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
36863 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
36865         README-release: capitalize a word and split a line
36866         * top/README-release: Fix punctuation and spacing.
36868 2012-02-08  Akim Demaille  <demaille@gostai.com>
36870         fatal-signal: use C prototypes (with explicit void).
36871         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36872         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
36874 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36876         regex: spelling fix
36877         * lib/regexec.c: spelling fix
36879         regex: rely on stdint.h for SIZE_MAX
36880         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
36882 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36884         regex: merge glibc changes
36886         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
36887         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
36888         (init_word_char): Work even if bitset words are not exactly 32 or
36889         64 bits wide.  Don't assume there are no padding bits.
36890         * lib/regex.c [_LIBC]: Do not include <config.h>.
36891         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
36892         and -Wtype-limits.
36893         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
36894         needless disagreement with glibc.  All uses changed.  Define it to
36895         1 only if _GNU_SOURCE, to match glibc.
36896         (_REG_RM_NAME): Remove; no longer needed, since the names in
36897         question are now all protected by __USE_GNU.
36898         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
36899         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
36900         * lib/regex_internal.h (MIN): New macro.
36902         2012-01-03 Ulrich Drepper <drepper@gmail.com>
36903         * lib/regcomp.c (init_word_char): Optimize regex a bit.
36905         2011-12-30 Jakub Jelinek <jakub@redhat.com>
36906         * lib/regex_internal.c (re_string_fetch_byte_case):
36907         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
36908         is miscompiled, and it turns out it is because of an incorrect
36909         attribute on re_string_fetch_byte_case.  Unlike
36910         re_string_peek_byte_case, this one is really not pure, it modifies
36911         memory (increments pstr->cur_idx), and with the pure attribute GCC
36912         assumed it doesn't and it cached the presumed value of
36913         regexp->cur_idx in a variable across the
36914          for (;; ++i)
36915            {
36916              if (i >= BRACKET_NAME_BUF_SIZE)
36917                return REG_EBRACK;
36918              if (token->type == OP_OPEN_CHAR_CLASS)
36919                ch = re_string_fetch_byte_case (regexp);
36920              else
36921                ch = re_string_fetch_byte (regexp);
36922              if (re_string_eoi(regexp))
36923                return REG_EBRACK;
36924              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
36925                break;
36926              elem->opr.name[i] = ch;
36927            }
36929         2011-11-29 Andreas Schwab <schwab@redhat.com>
36930         * lib/regcomp.c (build_equiv_class):
36931         Fix access after end of search string in regex matcher.
36933         2011-11-12 Ulrich Drepper <drepper@redhat.com>
36934         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
36936         2011-10-12 Ulrich Drepper <drepper@redhat.com>
36937         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
36939         2011-10-11 Ulrich Drepper <drepper@redhat.com>
36940         * lib/regcomp.c (parse_branch, parse_sub_exp):
36941         More regex memory leak fixes and tests.
36942         (parse_sub_exp, parse_bracket_exp):
36943         Fix memory leak for some invalid regular expressions.
36945         2011-05-28 Ulrich Drepper <drepper@gmail.com>
36946         * lib/regex_internal.c, lib/regexec.c:
36947         Fix unnecessary overallocation due to incomplete character.  When
36948         incomplete characters are found at the end of a string the code
36949         ran amok and allocated lots of memory.  Stricter limits are now in
36950         place.
36952         2011-05-20 Reuben Thomas <rrt@sc3d.org>
36953         * lib/regex.h: Update documentation.
36955         2011-05-16 Aharon Robbins <arnold@skeeve.com>
36956         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
36958         2010-05-05 Andreas Schwab <schwab@redhat.com>
36959         * lib/regexec.c (find_collation_sequence_value):
36960         Fix lookup of collation sequence value during regexp matching.
36962         2010-01-22 Ulrich Drepper <drepper@redhat.com>
36963         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
36965         2008-01-16 Ulrich Drepper <drepper@redhat.com>
36966         * lib/regex.h: Cleanup namespace.
36968         2007-11-26 Ulrich Drepper <drepper@redhat.com>
36969         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
36971         2007-08-26 Ulrich Drepper <drepper@redhat.com>
36972         * lib/regex_internal.h: Prevent some declarations and definitions
36973         to be seen when used in tests.
36975         2005-05-06 Ulrich Drepper <drepper@redhat.com>
36976         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
36977         __libc_lock_* macros if not _LIBC.
36978         (struct re_dfa_t): Add lock.
36980 2012-02-07  Eric Blake  <eblake@redhat.com>
36982         maint.mk: also prohibit lower-case @var@
36983         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
36984         lower case, like @top_srcdir@.
36986 2012-02-04  Eric Blake  <eblake@redhat.com>
36988         canonicalize: avoid uninitialized memory use
36989         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
36990         random '/' left in dest.
36991         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
36993 2012-02-04  Bruno Haible  <bruno@clisp.org>
36995         isatty: Fix test failure of ptsname_r on native Windows.
36996         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
36997         and don't set errno.
36998         (isatty): Test first whether fd is valid. Set errno when returning 0.
37000 2012-02-04  Bruno Haible  <bruno@clisp.org>
37002         spawn-pipe tests: Fix a NULL program name in a diagnostic.
37003         * tests/test-spawn-pipe-main.c: Include progname.h.
37004         (main): Invoke set_program_name.
37005         * modules/spawn-pipe-tests (Depends-on): Add progname.
37007         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
37008         * tests/test-nonblocking-socket-main.c: Include progname.h.
37009         (main): Invoke set_program_name.
37010         * modules/nonblocking-socket-tests (Depends-on): Add progname.
37012         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
37013         * tests/test-nonblocking-pipe-main.c: Include progname.h.
37014         (main): Invoke set_program_name.
37015         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
37017 2012-02-04  Eric Blake  <eblake@redhat.com>
37019         canonicalize-lgpl: fix // handling
37020         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
37022         canonicalize: fix // handling
37023         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
37024         /// to //, since only // is special.
37026 2012-02-04  Bruno Haible  <bruno@clisp.org>
37028         ioctl: Fix test failure on native Windows.
37029         * lib/ioctl.c: Include msvc-nothrow.h.
37030         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
37032 2012-02-04  Bruno Haible  <bruno@clisp.org>
37034         fsync: Avoid test failure on native Windows.
37035         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
37036         read-only.
37038 2012-02-04  Bruno Haible  <bruno@clisp.org>
37040         sys_select: Avoid syntax error on OpenBSD 5.0.
37041         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
37042         currently being included, just include the system's <sys/select.h>.
37044 2012-02-04  Bruno Haible  <bruno@clisp.org>
37046         sys_select: Avoid syntax error on OpenBSD 5.0.
37047         * lib/sys_select.in.h: Include <signal.h> only after the include_next
37048         <sys/select.h>, not before.
37049         Reported by Jiri B <jirib@devio.us>.
37051 2012-02-04  Bruno Haible  <bruno@clisp.org>
37053         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
37054         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
37055         global variables.
37056         * tests/test-get-rusage-data.c (main): Likewise.
37057         Reported by Jim Meyering.
37059 2012-02-04  Bruno Haible  <bruno@clisp.org>
37061         stdioext: Fix last commit.
37062         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
37064 2012-02-03  Bruno Haible  <bruno@clisp.org>
37066         stdioext: Add tentative support for Plan9.
37067         * lib/stdio-impl.h: Include <errno.h>.
37068         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
37069         * lib/freadable.c (freadable): Likewise.
37070         * lib/fwritable.c (fwritable): Likewise.
37071         * lib/fbufmode.c (fbufmode): Likewise.
37072         * lib/freading.c (freading): Likewise.
37073         * lib/fwriting.c (fwriting): Likewise.
37074         * lib/freadptr.c (freadptr): Likewise.
37075         * lib/freadseek.c (freadptrinc): Likewise.
37076         * lib/freadahead.c (freadahead): Likewise.
37077         * lib/fpurge.c (fpurge): Likewise.
37078         * lib/fseeko.c (rpl_fseeko): Likewise.
37079         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
37080         Reported by Jens Staal <staal1978@gmail.com>.
37082 2012-02-02  Jim Meyering  <meyering@redhat.com>
37084         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
37085         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
37086         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
37087         not even to try to add the attribute.  Instead, add a pragma to suppress
37088         the suggestion/warning.
37090 2012-01-31  Karl Berry  <karl@gnu.org>
37092         setstate doc: typo.
37093         * doc/posix-functions/setstate.texi (setstate): { not (.
37095 2012-01-31  Bruno Haible  <bruno@clisp.org>
37097         popen: Make more robust on Windows.
37098         * lib/popen.c: On native Windows, use the _popen based code even if
37099         HAVE_POPEN is set.
37100         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
37101         environment variable on native Windows.
37103 2012-01-30  Bruno Haible  <bruno@clisp.org>
37105         pclose: Fix typo.
37106         * lib/stdio.in.h (pclose): Fix typo in warning message.
37108 2012-01-30  Bruno Haible  <bruno@clisp.org>
37110         doc about getlogin_r, setstate.
37111         * doc/posix-functions/getlogin_r.texi: List the incompatible
37112         declaration problem under "not fixed by gnulib".
37113         * doc/posix-functions/setstate.texi: Mention incompatible declaration
37114         problem on Solaris 11 and other platforms.
37116 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
37117             Bruno Haible  <bruno@clisp.org>
37119         poll tests: Make test more robust.
37120         * tests/test-poll.c: Include macros.h.
37121         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
37122         return value of various I/O operations.
37123         * modules/poll-tests (Files): Add tests/macros.h.
37125 2012-01-30  Bruno Haible  <bruno@clisp.org>
37127         sys_stat: Fix support for mingw64 and MSVC.
37128         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
37129         header files already do it.
37130         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
37131         stat itself.
37132         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
37134 2012-01-30  Bruno Haible  <bruno@clisp.org>
37136         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
37137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
37138         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
37140 2012-01-29  Bruno Haible  <bruno@clisp.org>
37142         quotearg: Fix test failure on MacOS X 10.5.
37143         * tests/test-quotearg-simple.c: Include localcharset.h.
37144         (main): If the locale encoding is not ASCII, bypass the tests of
37145         locale_quoting_style and clocale_quoting_style.
37146         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
37148 2012-01-29  Jim Meyering  <meyering@redhat.com>
37150         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
37151         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
37152         detect uses of canonicalize_file_name.
37154 2012-01-28  Bruno Haible  <bruno@clisp.org>
37156         test-framework-sh: Fix test failure with AIX 7.1 diff.
37157         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
37158         in column 1, like 'diff -c' does.
37159         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
37160         whether 'diff -u' is used. Instead, test whether the output contains
37161         some '@' character.
37163 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
37165         strtoimax: eliminate need for stdint.h, inttypes.h checks
37166         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
37167         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
37168         the prerequisites for a recently-introduced strtoimax test.
37169         I guess this might cause strtoimax to be replaced when not
37170         strictly necessary on older hosts, but this shouldn't introduce
37171         any bugs and it should make Emacs 'configure' faster on typical
37172         modern hosts.  Problem discovered when importing the latest gnulib
37173         to an Emacs test version.
37174         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
37176 2012-01-28  Bruno Haible  <bruno@clisp.org>
37178         sys_time: Override 'struct timeval' on some native Windows platforms.
37179         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
37180         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
37181         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
37182         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
37183         needs to be overridden.
37184         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
37185         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
37186         * tests/test-sys_select.c: Check that the tv_sec member has the same
37187         size as a 'time_t'.
37188         * tests/test-sys_time.c: Likewise.
37189         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
37190         is set, set also REPLACE_GETTIMEOFDAY.
37191         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
37192         convert the resulting 'struct timeval' before returning.
37193         * lib/select.c: Include <sys/time.h>.
37194         (select, timeval): Undefine at the right place.
37195         * modules/select (Depends-on): Add sys_time.
37196         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
37197         some Windows platforms.
37198         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
37200 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
37202         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
37203         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
37204         an integer.
37205         * lib/fcntl.c (dupfd): Likewise.
37206         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
37208 2012-01-28  Bruno Haible  <bruno@clisp.org>
37210         fcntl: Avoid compilation error on native Windows.
37211         * modules/fcntl (Depends-on): Add 'close'.
37213 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
37215         select, poll, isatty: Avoid warnings on x86_64 mingw64.
37216         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
37217         pointer to an integer.
37218         * lib/poll.c (IsConsoleHandle): Likewise.
37219         * lib/isatty.c (IsConsoleHandle): Likewise.
37221 2012-01-28  Jim Meyering  <meyering@redhat.com>
37223         doc: clarify README-release
37224         * top/README-release: Clarify: you should make a point to have
37225         the latest stable versions of build tools in your PATH, and the
37226         reference to buildreq is solely for its list of tool names, not
37227         for its minimal-functional version numbers.
37228         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
37230         maint.mk: use more readable (yet functionally equivalent) quoting
37231         It is common to quote a single quote in a single quoted string like
37232         this:  '...'\''...'.  Unless you know the idiom, that looks like
37233         gibberish, so prefer to double-quote the string when possible.
37234         Then you can use a more readable, lone single quote: "...'..."
37235         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
37236         "don't" is more readable than the equivalent 'don'\''t'.
37237         (sc_cast_of_x_alloc_return_value): Likewise.
37238         (sc_cast_of_alloca_return_value): Likewise.
37239         (sc_makefile_path_separator_check): Similar: use ":" in '...',
37240         rather than '\'':'\''.
37242 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
37244         stdalign: relax _Alignof and tighten _Alignas test
37245         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
37246         as it was too strict: alignof must divide offsetof, but it need
37247         not equal offsetof.  Inspired by Joseph S. Myers's comment
37248         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
37249         Conversely, tighten the _Alignas test a bit, as the resulting
37250         alignment must be exactly 8.
37252 2012-01-27  Bruno Haible  <bruno@clisp.org>
37254         stdalign: Document the last change.
37255         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
37257 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
37259         stdalign: check that alignof and offsetof are consistent
37260         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
37261         Problem reported for gnulib by Richard W.M. Jones in
37262         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
37264 2012-01-27  Jim Meyering  <meyering@redhat.com>
37266         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
37267         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
37268         convert a sequence with gaps to the minimal containing range.
37269         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
37270         * tests/test-update-copyright.sh: Test for this.
37271         The FSF confirmed it is ok to do this, assuming there is at
37272         least one significant change per year in the affected range:
37273         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
37275 2012-01-26  Bruno Haible  <bruno@clisp.org>
37277         pipe2: refine doc about thread-safety
37278         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
37279         multithread-safety problem.
37280         * doc/glibc-functions/accept4.texi: Likewise.
37282 2012-01-26  Bruno Haible  <bruno@clisp.org>
37284         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
37285         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
37286         In the test program, include <fcntl.h>, for O_RDONLY.
37288 2012-01-26  Eric Blake  <eblake@redhat.com>
37290         pipe2: document lack of thread-safety in replacement
37291         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
37292         issue in replacement.
37293         * doc/glibc-functions/accept4.texi (accept4): Likewise.
37294         Based on a report by Eric Wong.
37296 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
37297             Bruno Haible  <bruno@clisp.org>
37299         malloca: Avoid warnings on x86_64 mingw64.
37300         * lib/malloca.c: Include <stdint.h>.
37301         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
37302         * modules/malloca (Depends-on): Add stdint.
37303         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
37305 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
37307         obstack: remove __STDC__ conditionals
37308         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
37309         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
37310         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
37311         m4/include_next.m4 as the only gnulib-maintained places that still
37312         refer to __STDC__.
37314 2012-01-24  Bruno Haible  <bruno@clisp.org>
37316         havelib: Modern quoting.
37317         * build-aux/config.rpath: Quote 'like this', not `like this', as per
37318         the recent change to the GNU coding standards.
37320 2012-01-24  Bruno Haible  <bruno@clisp.org>
37322         stdint: Improve support for Android.
37323         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
37324         Reported by Simon Josefsson <simon@josefsson.org>.
37326 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
37328         doc: omit trailing empty lines from INSTALL etc.
37329         * doc/Makefile (INSTALL): Omit trailing empty lines.
37330         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
37331         omit trailing empty lines.  This simplifies the build procedure.
37333 2012-01-23  Jim Meyering  <meyering@redhat.com>
37335         tests: avoid spurious warnings about gl_sockets_startup
37336         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
37337         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
37338         reporting a "statement with no effect".
37339         * tests/test-accept.c (main): Mark as "(void)".
37340         * tests/test-accept4.c (main): Likewise.
37341         * tests/test-bind.c (main): Likewise.
37342         * tests/test-connect.c (main): Likewise.
37343         * tests/test-getpeername.c (main): Likewise.
37344         * tests/test-getsockname.c (main): Likewise.
37345         * tests/test-getsockopt.c (main): Likewise.
37346         * tests/test-listen.c (main): Likewise.
37347         * tests/test-recv.c (main): Likewise.
37348         * tests/test-recvfrom.c (main): Likewise.
37349         * tests/test-send.c (main): Likewise.
37350         * tests/test-sendto.c (main): Likewise.
37351         * tests/test-setsockopt.c (main): Likewise.
37352         * tests/test-shutdown.c (main): Likewise.
37354 2012-01-21  Bruno Haible  <bruno@clisp.org>
37356         locale-fr.m4: Fix for Android.
37357         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
37358         failure of the test program on Bionic libc.
37360 2012-01-21  Jim Meyering  <meyering@redhat.com>
37362         bootstrap: fail when bootstrap_post_import_hook fails
37363         Otherwise, it's far too easy to miss diagnostics emitted
37364         between gnulib-tool's output and that of running configure.
37365         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
37367 2012-01-17  Jim Meyering  <meyering@redhat.com>
37369         maint: enable sc_trailing_blank
37370         * build-aux/pmccabe.css: Remove trailing blanks.
37371         * doc/acl-cygwin.txt: Likewise.
37372         * doc/gnu-oids.texi: Likewise
37373         * cfg.mk: Enable sc_trailing_blank.
37374         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
37376 2012-01-17  Jim Meyering  <meyering@redhat.com>
37378         maint: enable sc_prohibit_openat_without_use
37379         * cfg.mk: Enable sc_prohibit_openat_without_use.
37380         Exempt lib/selinux-at.c.
37382 2012-01-17  Jim Meyering  <meyering@redhat.com>
37384         maint: enable sc_prohibit_cloexec_without_use
37385         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
37386         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
37388 2012-01-17  Jim Meyering  <meyering@redhat.com>
37390         maint: enable sc_prohibit_intprops_without_use
37391         * cfg.mk: Enable sc_prohibit_intprops_without_use
37392         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
37394 2012-01-17  Jim Meyering  <meyering@redhat.com>
37396         maint: enable sc_prohibit_hash_pjw_without_use
37397         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
37398         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
37399         to match any use of \<hash_pjw\>, i.e., not necessarily with a
37400         following " (".
37402 2012-01-17  Jim Meyering  <meyering@redhat.com>
37404         maint: enable double-word-prohibiting rule
37405         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
37406         Exempt three files.
37408 2012-01-17  Jim Meyering  <meyering@redhat.com>
37410         maint: remove empty lines at EOF, but excluding modules/*
37411         Apply syntax rules at home as well as abroad.  Most changes
37412         were induced by running this:
37413           make srcdir=. _build-aux=build-aux -f top/maint.mk \
37414             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
37415             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
37416         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
37417         Exempt modules/* and two binary files.
37418         Also exempt doc/INSTALL*, per request from Bruno Haible.
37419         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
37420         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
37421         * doc/Copyright/request-assign.future: Likewise.
37422         * doc/Copyright/request-disclaim.changes: Likewise.
37423         * doc/INSTALL: Likewise.
37424         * doc/INSTALL.ISO: Likewise.
37425         * doc/INSTALL.UTF-8: Likewise.
37426         * doc/acl-cygwin.txt: Likewise.
37427         * doc/acl-resources.txt: Likewise.
37428         * doc/fdl-1.2.texi: Likewise.
37429         * doc/fdl-1.3.texi: Likewise.
37430         * doc/fdl.texi: Likewise.
37431         * lib/argp-pin.c: Likewise.
37432         * lib/round.c: Likewise.
37433         * lib/unicase/u16-totitle.c: Likewise.
37434         * lib/unictype/block_test.c: Likewise.
37435         * lib/uninorm/canonical-decomposition.c: Likewise.
37436         * m4/README: Likewise.
37437         * m4/relocatable-lib.m4: Likewise.
37438         * tests/test-isnand-nolibm.c: Likewise.
37439         * tests/test-isnand.c: Likewise.
37440         * tests/uninorm/NormalizationTest.txt: Likewise.
37442 2012-01-17  Jim Meyering  <meyering@redhat.com>
37444         maint: add framework to run syntax-check rules against gnulib sources
37445         * cfg.mk: New file, to disable all currently-failing tests.
37446         We'll enable them one by one, as they are made to pass.
37447         * Makefile (sc_maint): New rule.
37449 2012-01-21  Bruno Haible  <bruno@clisp.org>
37451         stdint: Add support for Android.
37452         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
37453         include the system's <stdint.h>.
37454         Reported by Simon Josefsson <simon@josefsson.org>.
37456 2012-01-19  Jim Meyering  <meyering@redhat.com>
37458         bootstrap: add bootstrap_post_import_hook
37459         Bison does still need something like the gnulib_mk_hook whose
37460         invocation I had to remove along with slurp in commit 767ccd40.
37461         Technically, we could get along without it, but doing so would
37462         have required living with a warning and a mandatory post-bootstrap
37463         automake rerun.
37464         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
37465         (bootstrap_post_import_hook): New function.
37466         Invoke it after gnulib-tool --import and before autoreconf.
37468 2012-01-18  Jim Meyering  <meyering@redhat.com>
37470         gitlog-to-changelog: don't use "no_"-prefixed variable name
37471         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
37472         to enable both --cluster and --no-cluster.  Change variable name,
37473         s/\$no_cluster/$cluster/, and reverse usage to match.
37475         gitlog-to-changelog: use "||", not "or" in expressions
37476         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
37477         expressions.
37479 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
37481         gitlog-to-changelog: new option --no-cluster
37482         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
37483         clustering of adjacent commit messages.
37485 2012-01-17  Jim Meyering  <meyering@redhat.com>
37487         maint: spell file systems with two words, not one
37488         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
37489         two words, not one.
37491 2012-01-16  Jim Meyering  <meyering@redhat.com>
37493         bootstrap: add a FIXME comment to ensure we eventually remove the hack
37494         * build-aux/bootstrap (gnulib_tool_options): Add comment.
37496 2012-01-16  Eric Blake  <eblake@redhat.com>
37498         bootstrap: cater to autoconf 2.59
37499         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
37500         is not available.
37502         bootstrap: properly check for libtool
37503         * build-aux/bootstrap (libtoolize): Also run libtool when older
37504         usage is detected.
37506 2012-01-15  Bruno Haible  <bruno@clisp.org>
37508         Improve support for MSVC 9.
37509         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
37510         clashes on MSVC.
37511         * lib/fcntl.in.h: Likewise.
37512         * lib/stdlib.in.h: Likewise.
37513         * lib/sys_stat.in.h: Likewise.
37515 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
37517         gnupload: we hold the master copy of this script now
37518         For motivation and more information, see:
37519         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
37520         * build-aux/gnupload: Make it clear in the heading comments that the
37521         master copy of this file is maintained by gnulib.  Since we are at
37522         it, bump its copyright year and ...
37523         ($scriptversion): ... the date in its version.
37524         ($usage): Patches and bug reports should be sent to the gnulib list,
37525         not the automake one.
37526         * config/srclist.txt: Don't try to sync 'gnupload' from automake
37527         anymore.
37529 2012-01-15  Bruno Haible  <bruno@clisp.org>
37531         Fix module 'random'.
37532         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
37533         initstate, setstate are declared.
37535 2012-01-14  Bruno Haible  <bruno@clisp.org>
37537         Tests for module 'random'.
37538         * modules/random-tests: New file.
37539         * tests/test-random.c: New file, based on tests/test-random_r.c.
37541         New module 'random'.
37542         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
37543         declarations.
37544         * lib/random.c: New file, based on glibc/stdlib/random.c.
37545         * m4/random.m4: New file.
37546         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
37547         HAVE_RANDOM.
37548         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
37549         * modules/random: New file.
37550         * config/srclist.txt: Add an entry for random.c.
37551         * doc/posix-functions/random.texi: Mention the 'random' module.
37552         * doc/posix-functions/initstate.texi: Likewise.
37553         * doc/posix-functions/setstate.texi: Likewise.
37554         * doc/posix-functions/srandom.texi: Likewise.
37556 2012-01-12  Bruno Haible  <bruno@clisp.org>
37558         random_r: Use common idioms.
37559         * lib/random_r.c: Include <stdlib.h> first.
37561         random_r: Override incompatible API on AIX, OSF/1.
37562         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
37563         Override the system function if REPLACE_RANDOM_R is 1.
37564         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
37565         and OSF/1, set REPLACE_RANDOM_R.
37566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
37567         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
37568         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
37569         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
37570         * doc/glibc-functions/random_r.texi: Likewise.
37571         * doc/glibc-functions/setstate_r.texi: Likewise.
37573         random_r: Support for MSVC 9.
37574         * lib/random_r.c: Include stdint.h, not inttypes.h.
37576 2012-01-12  Eric Blake  <eblake@redhat.com>
37578         inet_ntop: guard extra work by IF_LINT
37579         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
37580         better code generation when not checking for warnings.
37581         Suggested by Paul Eggert and Jim Meyering.
37583         strptime: fix regression on mingw
37584         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
37585         Fix regression.  Reported by Bruno Haible.
37587 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
37588             Bruno Haible  <bruno@clisp.org>
37590         copy-file: add error-code-returning variant.
37591         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
37592         (qcopy_file_preserving): New declaration.
37593         * lib/copy-file.c (qcopy_file_preserving): Renamed from
37594         copy_file_preserving. Change return type to 'int'. Don't emit an error
37595         message here.
37596         (copy_file_preserving): New function.
37597         * tests/test-copy-file.c: Include <stdlib.h>.
37598         (main): Test qcopy_file_preserving if the environment variable
37599         NO_STDERR_OUTPUT is set.
37600         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
37601         with NO_STDERR_OUTPUT
37602         * tests/test-copy-file-2.sh: Likewise.
37604 2012-01-10  Bruno Haible  <bruno@clisp.org>
37606         copy-file: Use 'quote' module consistently.
37607         * lib/copy-file.c (copy_file_preserving): Use quote().
37609         copy-file: Refactor.
37610         * lib/copy-file.c: Include quote.h.
37611         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
37612         message here.
37613         * modules/copy-file (Depends-on): Add quote.
37615         acl: Export qcopy_acl.
37616         * lib/acl.h (qcopy_acl): New declaration.
37617         * lib/copy-acl.c (qcopy_acl): Make non-static.
37619         acl: Rename a local variable.
37620         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
37622         acl: Align return values of copy_acl and qcopy_acl.
37623         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
37624         maybe < -1.
37626 2012-01-11  Eric Blake  <eblake@redhat.com>
37628         strptime: silence gcc warnings
37629         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
37630         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
37631         Reported by Daniel P. Berrange.
37633         inet_ntop: silence gcc warning
37634         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
37635         Reported by Daniel P. Berrange.
37637 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
37639         getloadavg test: skip the test on GNU/Linux without /proc mounted
37640         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
37641         file.  When /proc is not mounted, it always fails with ENOENT.
37642         * tests/test-getloadavg.c (main): Treat ENOENT return code from
37643         getloadavg(3) the same way as ENOSYS and ENOTSUP.
37645 2012-01-10  Bruno Haible  <bruno@clisp.org>
37647         regex: Avoid link error on MSVC 9.
37648         * modules/regex (Depends-on): Add wctype.
37650 2012-01-10  Bruno Haible  <bruno@clisp.org>
37652         doc: Mention --with-tests option.
37653         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
37654         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
37655         --with-tests.
37656         Reported by Reuben Thomas.
37658 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
37660         users.txt: order package names lexicographically.
37661         * users.txt: Order package names lexicographically.
37663 2012-01-10  Jim Meyering  <meyering@redhat.com>
37665         maint.mk: fix description in comment
37666         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
37668         ignore-value: remove deprecated ignore_ptr function
37669         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
37670         * NEWS: Note this.
37672 2012-01-09  Jim Meyering  <meyering@redhat.com>
37674         test-init.sh: avoid a subshell
37675         * tests/test-init.sh: Remove protective subshell.
37676         Suggested by Bernhard Voelker.  While a subshell is normally
37677         required to protect against older shells (Solaris, FreeBSD) that
37678         warn about a missing program before performing redirection, the
37679         shell-selection tests performed by init.sh probably exclude any
37680         offending shell.
37682 2012-01-08  Bruno Haible  <bruno@clisp.org>
37684         setlocale tests: Avoid test failure on Solaris 11.0.
37685         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
37686         variable.
37688 2012-01-08  Bruno Haible  <bruno@clisp.org>
37690         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
37691         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
37692         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
37693         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
37694         macro.
37695         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
37696         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
37697         * lib/spawn_faction_addopen.c: Add workaround implementation if
37698         HAVE_WORKING_POSIX_SPAWN.
37699         * modules/spawn (Makefile): Substitute
37700         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
37701         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
37702         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
37703         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
37704         (Depends-on): Update conditions.
37705         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
37706         the Solaris 11 bug.
37708 2012-01-08  Bruno Haible  <bruno@clisp.org>
37710         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
37711         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
37712         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
37713         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
37714         macro.
37715         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
37716         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
37717         * lib/spawn_faction_adddup2.c: Add workaround implementation if
37718         HAVE_WORKING_POSIX_SPAWN.
37719         * modules/spawn (Makefile): Substitute
37720         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
37721         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
37722         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
37723         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
37724         (Depends-on): Update conditions.
37725         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
37726         the Solaris 11 bug.
37728 2012-01-08  Bruno Haible  <bruno@clisp.org>
37730         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
37731         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
37732         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
37733         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
37734         HAVE_WORKING_POSIX_SPAWN.
37735         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
37736         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
37737         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
37738         * lib/spawn_faction_addclose.c: Add workaround implementation if
37739         HAVE_WORKING_POSIX_SPAWN.
37740         * modules/spawn (Makefile): Substitute
37741         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
37742         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
37743         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
37744         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
37745         (Depends-on): Update conditions.
37746         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
37747         the Solaris 11 bug.
37749 2012-01-08  Bruno Haible  <bruno@clisp.org>
37751         doc: Update for Solaris 11.0.
37752         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
37753         * m4/printf.m4: Update comments.
37755 2012-01-08  Bruno Haible  <bruno@clisp.org>
37757         mktime: Avoid compilation error on Solaris 11.
37758         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
37760 2012-01-08  Bruno Haible  <bruno@clisp.org>
37762         doc: Small fix.
37763         * doc/posix-headers/nl_types.texi: Correct platforms list.
37765 2012-01-08  Simon Josefsson  <simon@josefsson.org>
37767         Add lgpl-3.0 module.
37768         * MODULES.html.sh (Support for building documentation): Add
37769         lgpl-3.0.
37770         * modules/lgpl-3.0: New file.
37772 2012-01-08  Jim Meyering  <meyering@redhat.com>
37774         select.c: indent with spaces, not TABs
37775         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
37777 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
37779         quotearg: do not use grave accent for left quote
37780         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
37781         locale_quoting_style.
37782         (quotearg_buffer_restyled): Fix example.
37783         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
37785 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
37787         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
37788         Most programs do not have translation catalogs for English and much
37789         less separate catalogs for British and American English.  Drop the
37790         suggestion to translators about these two, and provide it
37791         automatically for Unicode locales.  Like most programs, even those
37792         using American English, we use single quotation marks.  This conflicts
37793         with the American typographic convention, but works better when you
37794         cite the entire error message within double quotes.  It also tries not
37795         to clash with established practice and with what non-gnulib programs
37796         will usually do.
37797         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
37798         using an UTF-8 or GB-18030 locale.  The list of other locales with
37799         quotes was provided by Bruno Haible.
37800         (quotearg_buffer_restyled): Adjust instructions to translators.
37801         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
37802         text, since this would be wrong when using Unicode.
37803         * modules/quotearg: Depend on c-strcaseeq.
37805 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
37807         quotearg: fix Wikipedia link
37808         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
37810 2012-01-07  Simon Josefsson  <simon@josefsson.org>
37812         Fix for mingw with MSVC9.
37813         * m4/ld-version-script.m4: Check that compiler rejects version
37814         scripts with syntax errors.  Reported by Bruno Haible
37815         <bruno@clisp.org>.
37817 2012-01-06  Bruno Haible  <bruno@clisp.org>
37819         Talk about "native Windows API", not "Woe32".
37820         * lib/accept4.c: Update comments to mention native Windows.
37821         * lib/execute.c: Likewise.
37822         * lib/fatal-signal.c: Likewise.
37823         * lib/localcharset.c: Likewise.
37824         * lib/nanosleep.c: Likewise.
37825         * lib/nl_langinfo.c: Likewise.
37826         * lib/pclose.c: Likewise.
37827         * lib/pipe-filter-gi.c: Likewise.
37828         * lib/pipe-filter-ii.c: Likewise.
37829         * lib/pipe.c: Likewise.
37830         * lib/pipe2.c: Likewise.
37831         * lib/popen.c: Likewise.
37832         * lib/progreloc.c: Likewise.
37833         * lib/relocatable.c: Likewise.
37834         * lib/sigaction.c: Likewise.
37835         * lib/sigprocmask.c: Likewise.
37836         * lib/spawn-pipe.h: Likewise.
37837         * lib/spawn-pipe.c: Likewise.
37838         * lib/spawni.c: Likewise.
37839         * lib/stat-time.h: Likewise.
37840         * lib/w32spawn.h: Likewise.
37841         * tests/test-isatty.c: Likewise.
37842         * lib/config.charset: More comments.
37843         * doc/gnulib-intro.texi: Mention native Windows.
37844         * doc/posix-functions/_Exit_C99.texi: Likewise.
37845         * doc/posix-headers/fcntl.texi: Likewise.
37847 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
37849         argp: Avoid crash if translator uses % characters in a translation.
37850         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
37851         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
37853 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
37855         doc: C11 and C++11 are now official
37856         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
37857         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
37858         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
37859         * modules/stdalign:
37860         Replace references to draft C1X to C11, and to draft C++0X to C++11.
37862 2012-01-06  Bruno Haible  <bruno@clisp.org>
37864         uc-is-grapheme-break tests: Tweak.
37865         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
37866         message.
37868 2012-01-06  Bruno Haible  <bruno@clisp.org>
37870         test-init.sh: correct the test for diff -u
37871         * tests/test-init.sh: Also redirect stdout to /dev/null.
37873 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
37875         Use ', not `, for quoting output.
37876         * build-aux/announce-gen (usage, sizes, print_news_deltas)
37877         (print_changelog_deltas, get_tool_versions, main program):
37878         * build-aux/git-version-gen:
37879         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
37880         * build-aux/move-if-change (help):
37881         * build-aux/useless-if-before-free (usage, main program):
37882         * check-module (parse_module_file, usage)
37883         (find_included_lib_files, check_module):
37884         * lib/argmatch.c (main) [TEST]:
37885         * lib/argp-help.c (_help):
37886         * lib/getopt1.c (main) [TEST]:
37887         * lib/git-merge-changelog.c (usage):
37888         * lib/xstrtol-error.c (xstrtol_error):
37889         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
37890         * m4/argz.m4 (gl_FUNC_ARGZ):
37891         * m4/bison.m4 (gl_BISON):
37892         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
37893         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
37894         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
37895         * m4/fpending.m4 (gl_PREREQ_FPENDING):
37896         * m4/gc-random.m4 (gl_GC_RANDOM):
37897         * m4/intl.m4 (gt_CHECK_DECL):
37898         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
37899         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
37900         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
37901         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
37902         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
37903         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
37904         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
37905         * tests/test-dirname.c (main):
37906         * tests/test-getpass.c (main):
37907         * tests/test-iconvme.c (main):
37908         * tests/test-parse-datetime.c (LOG):
37909         * tests/test-xstrtoimax.sh:
37910         * tests/test-xstrtol.sh:
37911         * tests/test-xstrtoll.sh:
37912         * tests/test-xstrtoumax.sh:
37913         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
37914         * top/GNUmakefile (abort-due-to-no-makefile):
37915         Quote 'like this', not `like this', as per the recent change to
37916         the GNU coding standards.
37918 2012-01-05  Bruno Haible  <bruno@clisp.org>
37920         strtoimax: Don't force a replacement on systems where intmax_t is int.
37921         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
37922         'intmax_t' is not larger than 'int'.
37923         Reported by Pádraig Brady <P@draigBrady.com>.
37925 2012-01-05  Bruno Haible  <bruno@clisp.org>
37927         doc: Mention NetBSD bugs.
37928         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
37929         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
37931 2012-01-05  Bruno Haible  <bruno@clisp.org>
37933         strtoumax tests: Enhance tests.
37934         * tests/test-strtoumax.c (main): Add tests for large values.
37936 2012-01-05  Bruno Haible  <bruno@clisp.org>
37938         strtoimax: Work around AIX 5.1 bug.
37939         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
37940         definition.
37941         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
37942         Set HAVE_STRTOIMAX.
37943         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
37944         REPLACE_STRTOIMAX.
37945         * modules/inttypes-incomplete (Makefile.am): Substitute
37946         REPLACE_STRTOIMAX.
37947         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
37948         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
37949         (Depends-on): Update conditions.
37950         * tests/test-strtoimax.c (main): Add tests for large values.
37951         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
37953 2012-01-05  Bruno Haible  <bruno@clisp.org>
37955         inttypes: Modernize.
37956         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
37957         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
37958         (Makefile.am): Update inttypes.h rule.
37960 2012-01-05  Jim Meyering  <meyering@redhat.com>
37962         init.sh: don't waste a subshell just to redirect stderr
37963         * tests/init.sh: In testing for diff -u and diff -c, use a
37964         stderr-redirecting exec inside `...` rather than a subshell.
37966         test-init.sh: avoid failure on HP-UX 11.00
37967         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
37968         resolves to diff -c or cmp.  Reported by Bruno Haible.
37970 2012-01-05  Bruno Haible  <bruno@clisp.org>
37972         Tests for module 'strtoull'.
37973         * modules/strtoull-tests: New file.
37974         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
37976 2012-01-05  Bruno Haible  <bruno@clisp.org>
37978         Tests for module 'strtoll'.
37979         * modules/strtoll-tests: New file.
37980         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
37982 2012-01-05  Bruno Haible  <bruno@clisp.org>
37984         Tests for module 'strtoul'.
37985         * modules/strtoul-tests: New file.
37986         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
37988 2012-01-05  Bruno Haible  <bruno@clisp.org>
37990         Tests for module 'strtol'.
37991         * modules/strtol-tests: New file.
37992         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
37994 2012-01-04  Jim Meyering  <meyering@redhat.com>
37996         test-init.sh: accommodate Solaris 5.10's different diff -u output
37997         * tests/test-init.sh: Also exempt @@ lines from the comparison
37998         of diff output, since Solaris 5.10 and GNU diff formats differ.
37999         Reported by Stefano Lattarini.
38001 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38003         test-posixtm: don't assume signed integer wraparound
38004         * tests/test-posixtm.c (main): Don't assume wraparound semantics
38005         after signed integer overflow.  Inspired by (though it may not
38006         fix) Bruno Haible's bug report in
38007         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
38009         Spell out "Windows 9x" and "Windows XP".
38010         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
38011         "Windows 9x" and "WinXP" with "Windows XP".
38013 2012-01-04  Jim Meyering  <meyering@redhat.com>
38015         test-vc-list-files-cvs.sh: remove obsolete comment
38016         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
38017         double exit.  Now that's all encapsulated via skip_ and Exit.
38019 2012-01-04  Bruno Haible  <bruno@clisp.org>
38021         Talk about "native Windows API", not "Win32".
38022         * lib/classpath.c: Update comments to mention native Windows.
38023         * lib/csharpexec.c: Likewise.
38024         * lib/dup2.c: Likewise.
38025         * lib/error.c: Likewise.
38026         * lib/fcntl.c: Likewise.
38027         * lib/filename.h: Likewise.
38028         * lib/findprog.c: Likewise.
38029         * lib/get-rusage-as.c: Likewise.
38030         * lib/get-rusage-data.c: Likewise.
38031         * lib/getpagesize.c: Likewise.
38032         * lib/javaexec.c: Likewise.
38033         * lib/msvc-inval.c: Likewise.
38034         * lib/msvc-nothrow.c: Likewise.
38035         * lib/nanosleep.c: Likewise.
38036         * lib/nonblocking.c: Likewise.
38037         * lib/printf-parse.c: Likewise.
38038         * lib/setlocale.c: Likewise.
38039         * lib/sigaction.c: Likewise.
38040         * lib/strerror_r.c: Likewise.
38041         * lib/tmpdir.c: Likewise.
38042         * lib/vasnprintf.c: Likewise.
38043         * lib/w32spawn.h: Likewise.
38044         * lib/waitpid.c: Likewise.
38045         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
38046         * m4/locale-ar.m4: Likewise.
38047         * m4/locale-fr.m4: Likewise.
38048         * m4/locale-ja.m4: Likewise.
38049         * m4/locale-tr.m4: Likewise.
38050         * m4/locale-zh.m4: Likewise.
38051         * m4/printf.m4: Likewise.
38052         * tests/test-cloexec.c: Likewise.
38053         * tests/test-copy-acl.sh: Likewise.
38054         * tests/test-copy-file.sh: Likewise.
38055         * tests/test-file-has-acl.sh: Likewise.
38056         * tests/test-set-mode-acl.sh: Likewise.
38057         * tests/test-dup-safer.c: Likewise.
38058         * tests/test-dup2.c: Likewise.
38059         * tests/test-dup3.c: Likewise.
38060         * tests/test-fcntl.c: Likewise.
38061         * tests/test-nonblocking-pipe.h: Likewise.
38062         * tests/test-nonblocking-socket.h: Likewise.
38063         * tests/test-pipe.c: Likewise.
38064         * tests/test-pipe2.c: Likewise.
38065         * tests/test-spawn-pipe-child.c: Likewise.
38066         * doc/acl-resources.txt: Likewise.
38067         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
38068         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
38069         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
38070         * lib/localcharset.c: Update comments to mention native Windows.
38071         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
38072         * lib/localename.c: Likewise.
38073         * lib/progreloc.c: Likewise.
38074         * lib/relocatable.c: Likewise.
38075         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
38076         (windows_compute_revents): Renamed from win32_compute_revents.
38077         (windows_compute_revents_socket): Renamed from
38078         win32_compute_revents_socket.
38079         * lib/select.c: Update comments to mention native Windows.
38080         (windows_poll_handle): Renamed from win32_poll_handle.
38081         * m4/threadlib.m4: Update comments to mention native Windows.
38082         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
38083         --enable-threads=windows instead of --enable-threads=win32. Set
38084         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
38085         * lib/glthread/lock.h: Update comments to mention native Windows.
38086         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
38087         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
38088         USE_WIN32_THREADS.
38089         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
38090         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
38091         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
38092         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
38093         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
38094         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
38095         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
38096         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
38097         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
38098         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
38099         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
38100         * tests/test-tls.c: Likewise.
38101         Rationale:
38102         Microsoft renamed the "Win32 API" to "Windows API", as it is available
38103         on both 32-bit and 64-bit Windows systems.
38104         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
38105         line of distinction is between "native Windows" on one side and Unix/
38106         POSIX systems on the other side. More details in
38107         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
38108         Suggested by Paul Eggert.
38110 2012-01-03  Bruno Haible  <bruno@clisp.org>
38112         isatty: Support for MSVC 9.
38113         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
38114         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
38115         (_isatty_nothrow): New function.
38116         (isatty): Use it instead of _isatty.
38117         (IsConsoleHandle): Add comment, from Paolo Bonzini.
38118         * lib/poll.c (IsConsoleHandle): Likewise.
38119         * lib/select.c (IsConsoleHandle): Likewise.
38120         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
38121         (gl_PREREQ_ISATTY): New macro.
38122         * modules/isatty (Depends-on): Add msvc-inval.
38123         (configure.ac): Invoke gl_PREREQ_ISATTY.
38125 2012-01-03  Jim Meyering  <meyering@redhat.com>
38127         maint.mk: remove temporary transition aid from over 1.5 years ago
38128         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
38129         purpose was to aid in the transition (avoiding silent malfunction)
38130         from that old name to the new _sc_search_regexp.  This shim was
38131         added by commit 219c504b.
38133         init.sh: do not try to accommodate compare arguments starting with "-"
38134         * tests/init.sh (compare_dev_null_): Do not try to accommodate
38135         compare arguments that start with "-".  Besides, we do not worry
38136         about this when invoking diff or cmp; why start now with sed?
38137         Using "--" to separate options from argument would trigger sed
38138         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
38139         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
38141 2012-01-02  Bruno Haible  <bruno@clisp.org>
38143         Enhance tests for module 'isatty'.
38144         * modules/isatty-tests (Depends-on): Add pipe-posix.
38145         * tests/test-isatty.c: Include <fcntl.h>.
38146         (DEV_NULL): New macro.
38147         (main): Test the resut of isatty() also on regular files, pipes, and
38148         /dev/null.
38150         New module 'isatty'.
38151         * lib/unistd.in.h (isatty): New declaration.
38152         * lib/isatty.c: New file, based on an idea of
38153         Bastien Roucariès <roucaries.bastien@gmail.com>.
38154         * m4/isatty.m4: New file.
38155         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
38156         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
38157         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
38158         REPLACE_ISATTY.
38159         * modules/isatty: New file.
38160         * doc/posix-functions/isatty.texi: Mention the new module.
38161         Suggested by Paolo Bonzini.
38163 2012-01-02  Bruno Haible  <bruno@clisp.org>
38165         canonicalize: Tweak 2011-12-29 commit.
38166         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
38167         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
38169 2012-01-02  Jim Meyering  <meyering@redhat.com>
38171         gitlog-to-changelog: describe input syntax in --help output
38172         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
38174         gitlog-to-changelog: fix typo in --help: show backslash before email @
38175         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
38176         in sources, but not in actual output.
38178 2011-12-30  Jim Meyering  <meyering@redhat.com>
38180         gitlog-to-changelog: don't malfunction when name contains %-directive
38181         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
38182         in a name string cause trouble.  E.g., with a user name of "%s",
38183         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
38185 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
38187         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
38188         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
38189         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
38190         the "  (tiny change)" notation that is appended to the standard
38191         ChangeLog "date  name  email" header line.
38193 2012-01-01  Jim Meyering  <meyering@redhat.com>
38195         test-framework-sh: init.sh: fix "make dist" failure
38196         When using gnulib-tool's --with-tests option and any module that
38197         depends on test-framework-sh, "make dist" would fail due to the
38198         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
38199         in the gltests directory, and not in the gllib/ directory.
38200         One way to work around that is to move the EXTRA_DIST += init.sh
38201         from the primary module to the -tests one:
38202         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
38203         * modules/test-framework-sh (Makefile.am): ...not here.
38204         Reported by Tom G. Christensen in
38205         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
38207         version-etc: update copyright year reported by --version
38208         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
38210 2011-12-31  Pádraig Brady  <P@draigBrady.com>
38212         canonicalize: only stat() if required
38213         * lib/canonicalize.c (canonicalize_filename_mode):
38214         Avoid calling l?stat() when both CAN_MISSING,
38215         and CAN_NOLINKS are set, as we neither need
38216         to resolve symlinks or test component existence.
38218 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
38220         doc: cover st_ino issues once; add OpenVMS etc.
38221         * doc/posix-functions/stat.texi (stat):
38222         * doc/posix-functions/lstat.texi (lstat):
38223         * doc/posix-functions/fstatat.texi (fstatat):
38224         * doc/posix-functions/fstat.texi (fstat):
38225         Move general 'struct stat' stuff to sys_stat.texi,
38226         leaving behind a pointer.
38227         * doc/posix-headers/sys_stat.texi (sys/stat.h):
38228         Merge duplicate info about 'struct stat' problems into here.
38229         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
38230         and suggest partial workarounds.
38232         same-inode: port to OpenVMS
38233         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
38234         three st_ino values.
38236 2011-12-30  Pádraig Brady  <P@draigBrady.com>
38238         canonicalize: fix references to stat() and lstat()
38239         * lib/canonicalize.c (canonicalize_filename_mode):
38240         Ensure references always resolve to a replacement
38241         function if required (even via a macro).
38243 2011-12-30  Jim Meyering  <meyering@redhat.com>
38245         gitlog-to-changelog: remove a little duplication
38246         * build-aux/gitlog-to-changelog (main): Grep @lines once,
38247         rather than twice.
38249 2011-12-29  Pádraig Brady  <P@draigBrady.com>
38251         canonicalize: add support for not resolving symlinks
38252         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
38253         indicate we don't want to follow symlinks.  Also
38254         provide CAN_MODE_MASK to aid setting these existing
38255         mutually exclusive values.
38256         * lib/canonicalize.c (canonicalize_filename_mode):
38257         Extract the flags from can_mode parameter, which
38258         are currently just used to select between stat()
38259         and lstat().  Also ensure that mutually exclusive
38260         values are flagged immediately as invalid.
38261         * tests/test-canonicalize.c: Verify symlinks are
38262         not followed, and that invalid flag combinations
38263         are diagnosed.
38265 2011-12-25  Jim Meyering  <meyering@redhat.com>
38267         gitlog-to-changelog: do not clump multi-paragraph entries
38268         Identical header lines (date,name,email+coauthors) are suppressed,
38269         thus putting all entries with those same characteristics under
38270         a single header.  However, when a log entry consists of two or
38271         more paragraphs, it may not be clear where it starts and ends.
38272         This change makes it so that such an entry is always separated
38273         from others by a header line, even when that header would
38274         otherwise be suppressed.
38275         * build-aux/gitlog-to-changelog: Implement the above.
38276         Inspired by a related request from Stefano Lattarini in
38277         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
38279 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38281         announce-gen: fix `cmd' typo in diagnostic
38282         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
38283         diagnostic: a missing '$' meant that the command was not output.
38285 2011-12-23  Jim Meyering  <meyering@redhat.com>
38287         test-framework-sh: distribute init.sh
38288         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
38289         Otherwise, "make -C gnulib-tests check" (at least in grep) would
38290         fail due to the lack of init.sh.
38292         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
38293         * modules/atexit-tests: Rather than listing tests/init.sh,
38294         now that there's a module for it, simply depend on that new module.
38295         * modules/closein-tests: Likewise.
38296         * modules/exclude-tests: Likewise.
38297         * modules/getcwd-tests: Likewise.
38298         * modules/perror-tests: Likewise.
38299         * modules/pread-tests: Likewise.
38300         * modules/pwrite-tests: Likewise.
38301         * modules/vc-list-files-tests: Likewise.
38302         * modules/verify-tests: Likewise.
38303         * modules/xalloc-die-tests: Likewise.
38304         * modules/xstrtoimax-tests: Likewise.
38305         * modules/xstrtol-tests: Likewise.
38306         * modules/xstrtoll-tests: Likewise.
38307         * modules/xstrtoumax-tests: Likewise.
38308         * modules/yesno-tests: Likewise.
38310 2011-12-22  Jim Meyering  <meyering@redhat.com>
38312         test-framework-sh: add minimal tests of init.sh's compare function
38313         * modules/test-framework-sh-tests: New file.
38314         * tests/test-init.sh: New file.
38316         test-framework-sh: new module
38317         * modules/test-framework-sh: New file.
38318         * MODULES.html.sh (Support for maintaining and releasing projects):
38319         List it.
38321         init.sh: do not emit simulated diff output to stderr
38322         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
38324 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
38326         .gitignore: ignore gnulib.dvi and regex.info
38327         * doc/.gitignore:add gnulib.dvi and regex.info
38329 2011-12-22  Jim Meyering  <meyering@redhat.com>
38331         init.sh: correct previous change
38332         * tests/init.sh (compare): My previous change was wrong.
38333         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
38335         init.sh: avoid unwarranted test failure when using "set -e"
38336         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
38337         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
38338         a use like "compare exp out" would get evoke an unconditional failure.
38340 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
38342         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
38343         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
38344         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
38345         autoreconf that did not.
38346         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
38347         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
38349 2011-12-17  Jim Meyering  <meyering@redhat.com>
38351         bootstrap: remove some now-unneeded code
38352         This script arose back when gnulib-tool was young.
38353         Since then, it has seen improvements that render much of this
38354         script unnecessary.  In particular, it can now make symlinks
38355         to the files it uses.  Also, I no longer see as much value in
38356         marking files as read-only via comments.
38357         If you relied on the symlink-creation feature of the preceding
38358         version of this script, you can get most of that functionality
38359         by adding the --symlink option to the definition of
38360         gnulib_tool_option_extras in your bootstrap.conf file.
38361         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
38362         Run autopoint and libtoolize *before* gnulib-tool.
38363         After it, run an abbreviated autoreconf, rather than a loop around
38364         all tools.
38365         (slirp, bt_mark_as_generated): Remove functions.
38367 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38369         ftoastr: fix typo
38370         * lib/ftoastr.h: Fix misspelling in comment.
38372 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
38374         * top/README-release: fix punctuation.
38376 2011-12-17  Jim Meyering  <meyering@redhat.com>
38378         bootstrap: correct the recent buildreq change
38379         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
38380         had no effect.
38381         * build-aux/bootstrap (buildreq): Bracket each search term with
38382         "*...*", so that the shell "case" statement works as intended.
38383         Add comments.
38385 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
38387         build: let bootstrap resort to wget when downloading .po files
38388         * build-aux/bootstrap (download_po_files): Fallback to wget when
38389         downloading the .po files via rsync fails.  This is necessary to
38390         bootstrap from behind a strict firewall.
38392 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
38394         stdint: don't assume C++11 when compiling with g++
38395         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
38396         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
38397         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
38398         work also in C++ before C++11, as that improperly inhibits
38399         generating a substitute stdint.h for that case.
38401 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
38403         alloca: protect comment from gnulib-tool
38404         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
38405         that gnulib-tool doesn't think it's a license, and munge it to
38406         say "GCC version 3".
38408 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
38410         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
38411         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
38412         $(abs_top_builddir) instead of $(top_builddir).
38414 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
38416         strftime-tests: also test nanoseconds
38417         * tests/test-strftime.c (T): Add a test of %N.
38419 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
38421         inttypes, stdint: add C++11 support
38422         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
38423         when including inttypes.h and stdint.h.  Support this change to
38424         the standard.
38425         * doc/posix-headers/inttypes.texi (inttypes.h):
38426         * doc/posix-headers/stdint.texi (stdint.h): Document this.
38427         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
38428         Define if not defined already, for the benefit of pre-C++11 hosts.
38429         Define the standard format macros (e.g., PRId8) always.
38430         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
38431         Likewise, if __cpluspus.  Define the standard constant and limit
38432         macros (e.g., INT8_C, INT8_MAX) always.
38433         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
38434         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
38435         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
38436         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
38437         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
38438         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
38439         Likewise.
38441 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
38443         nonblocking tests: Fix test failure on Linux/PPC.
38444         Suggested by Prerna Saxena in
38445         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
38446         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
38447         Set to 1100000.
38449 2011-12-12  Jim Meyering  <meyering@redhat.com>
38451         argmatch: don't hard-code `' when listing valid option arguments
38452         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
38453         use the quote function to add quotes.  Use fputs rather than
38454         fprintf for the format string with no format directive.
38456 2011-12-07  Eric Blake  <eblake@redhat.com>
38458         bootstrap: detect tools required by gnulib-tool
38459         * build-aux/bootstrap (buildreq): Provide minimum implicit
38460         dependencies.
38461         * DEPENDENCIES: Mention patch as a prereq.
38463 2011-12-04  Bruno Haible  <bruno@clisp.org>
38465         sethostname: Port to Windows platforms.
38466         * lib/sethostname.c: Provide an alternate implementation for Windows
38467         platforms.
38468         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
38469         (main): Skip the test if sethostname() fails with EPERM. On Windows
38470         platforms, don't check the result of gethostname().
38472 2011-12-04  Bruno Haible  <bruno@clisp.org>
38473             Jim Meyering  <meyering@redhat.com>
38475         tests: Avoid spurious error message on platforms without mktemp program.
38476         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
38478 2011-12-04  Bruno Haible  <bruno@clisp.org>
38480         sethostname: Fix documentation.
38481         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
38482         "not fixed" section.
38484 2011-12-03  Bruno Haible  <bruno@clisp.org>
38486         gnulib-tool: Verify that the License field is present and non-empty.
38487         * gnulib-tool (func_get_license_raw): New function, extracted from
38488         func_get_license.
38489         (func_get_license): Use it. Warn if the module is not a test module and
38490         has no license.
38491         Suggested by Jim Meyering.
38493 2011-12-03  Bruno Haible  <bruno@clisp.org>
38495         sethostname tests: Fix link error on mingw.
38496         * tests/test-sethostname1.c: New file, extracted from
38497         tests/test-sethostname.c.
38498         * tests/test-sethostname2.c: New file, extracted from
38499         tests/test-sethostname.c.
38500         * tests/test-sethostname.c: Remove file.
38501         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
38502         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
38503         (Depends-on): Add gethostname.
38504         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
38505         Link the latter with $(GETHOSTNAME_LIB).
38507         sethostname tests: Fix compilation error on mingw.
38508         * tests/test-sethostname.c: Don't include <sys/types.h>.
38509         (geteuid): Use a dummy value without uid_t.
38510         * modules/sethostname-tests (Depends-on): Remove sys_types.
38512         sethostname tests: Avoid a gcc warning.
38513         * tests/test-sethostname.c (main): Remove an unused variable.
38515         Tweak last commit.
38516         * modules/sethostname-tests (Files): Sort by decreasing importance.
38517         (configure.ac): Check for geteuid.
38518         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
38519         the test when there's nothing to test. Drop an unnecessary cast.
38520         Improve an error message. Verify that the final sethostname() call
38521         succeeds.
38523 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
38525         Add a test suite for the sethostname module.
38526         * modules/sethostname-tests: New file.  A test program
38527         for the sethostname module.
38528         * tests/test-sethostname.c: Likewise.
38530 2011-12-03  Bruno Haible  <bruno@clisp.org>
38532         Tweak last commit.
38533         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
38534         Fix preprocessor directives indentation. Fix typos.
38535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
38536         * modules/unistd (Makefile): Likewise.
38538 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
38540         Integrate the sethostname module into unistd.
38541         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
38542         into the unistd.h header.
38543         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
38544         preprocessor directives.
38545         * modules/unistd: Setup the Makefile substitutions of the
38546         SETHOSTNAME preprocessor directives.
38548 2011-12-03  Bruno Haible  <bruno@clisp.org>
38550         Tweak last commit.
38551         * lib/sethostname.c: Don't include <string.h>.
38552         (sethostname): No need to copy the argument string to the stack. Don't
38553         call clearerr. Preserve errno when fprintf failed.
38554         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
38555         Don't invoke AC_REPLACE_FUNCS.
38556         * modules/sethostname (Link): Remove empty section.
38557         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
38558         failure problem.
38560 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
38562         New module 'sethostname'.
38563         * lib/sethostname.c (sethostname): New file.  Provide sethostname
38564         for systems that lack it.
38565         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
38566         sethostname declaration and function.
38567         * modules/sethostname: New file.  Define the sethostname module.
38569 2011-12-03  Bruno Haible  <bruno@clisp.org>
38571         Tweak last commit.
38572         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
38574 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
38576         Split the HOST_NAME_MAX detection into a separate m4 macro.
38577         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
38578         macro so it can be used by the pending sethostname module.
38580 2011-12-03  Bruno Haible  <bruno@clisp.org>
38582         Fix module descriptions syntax.
38583         * modules/argv-iter (License): Fix syntax.
38584         * modules/di-set (License): Likewise.
38585         * modules/ino-map (License): Likewise.
38586         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
38588 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
38590         stdalign: port to Clang 3.0
38591         Problem reported by Simon Josefsson in
38592         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
38593         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
38594         which has <stdalign.h> but which does not define alignof.
38595         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
38597 2011-12-01  Eric Blake  <eblake@redhat.com>
38599         mktempd: silence dd usage
38600         * build-aux/mktempd (rand_bytes): Silence dd.
38602 2011-11-30  Simon Josefsson  <simon@josefsson.org>
38604         manywarnings: Don't mention gcc version in docstring.
38605         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
38606         Jim Meyering <meyering@redhat.com>.
38608 2011-11-30  Jim Meyering  <meyering@redhat.com>
38610         hash: mark a few floating point constants with "f" suffix
38611         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
38612         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
38613         floating point constants with "f", since they're destined to be
38614         saved/used as "float"s.
38616 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
38618         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
38619         * tests/test-float.c (test_long_double): Correct and re-enable the
38620         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
38622 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
38624         Avoid subtracting two pointers that don't point into the same block.
38625         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
38626         only pointers into the same memory block are subtracted. We cannot
38627         assume that sizeof (ptrdiff_t) == sizeof (void *).
38629 2011-11-29  Eric Blake  <eblake@redhat.com>
38631         maint.mk: add syntax check for use of compare from init.sh
38632         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
38633         moved here from coreutils.
38635         manywarnings: drop -Wunsuffixed-float-constants
38636         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
38637         '1.0D', which is the only way to silence this warning for 'double'.
38639 2011-11-29  Jim Meyering  <meyering@redhat.com>
38641         hash: mark compute_bucket_size with the pure attribute
38642         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
38644         quotearg, propername: correct pragma guard expression
38645         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
38646         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
38648 2011-11-28  Jim Meyering  <meyering@redhat.com>
38650         propername: do not mark proper_name with the const attribute
38651         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
38652         since it examines data pointed to by its parameter.
38653         * lib/propername.c (proper_name): Instead, add a pragma to suppress
38654         the suggestion from -Wsuggest-attribute=const.
38656         propername: mark one more function as const
38657         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
38659 2011-11-27  Jim Meyering  <meyering@redhat.com>
38661         mark functions with const and pure attributes
38663         Mark functions per suggestions from gcc-4.6 when using these options:
38664         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
38665         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
38666         Follow these guidelines: when possible, apply the attribute to
38667         an extern declaration, not to its definition.  Apply it to the
38668         definition only when the definition is static.
38669         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
38670         * lib/argv-iter.h (argv_iter_n_args): Likewise.
38671         * lib/base64.h (isbase64): Likewise.
38672         * lib/basename-lgpl.c (last_component, base_len): Likewise.
38673         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
38674         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
38675         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
38676         (c_tolower, c_toupper): Likewise.
38677         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
38678         * lib/chdir-long.c (find_non_slash): Likewise.
38679         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
38680         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
38681         * lib/file-type.h (file_type): Likewise.
38682         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
38683         * lib/filevercmp.c (verrevcmp): Likewise.
38684         * lib/freadahead.h (freadahead): Likewise.
38685         * lib/fts.c (fts_maxarglen): Likewise.
38686         * lib/hash-pjw.h (hash_pjw): Likewise.
38687         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
38688         * lib/hash.c (is_prime, next_prime): Likewise.
38689         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
38690         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
38691         (hash_table_ok, hash_get_first, hash_string): Likewise.
38692         (compute_bucket_size): Likewise.
38693         * lib/i-ring.h (i_ring_empty): Likewise.
38694         * lib/isnan.c (isnanl): Likewise.
38695         * lib/math.h (isnanl, rpl_isnanl): Likewise.
38696         * lib/memcasecmp.h (memcasecmp): Likewise.
38697         * lib/memchr2.h (memchr2): Likewise.
38698         * lib/memcmp2.h (memcmp2): Likewise.
38699         * lib/parse-datetime.y (lookup_zone): Likewise.
38700         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
38701         [!WINDOWS_SOCKETS]: Likewise.
38702         * lib/strnlen1.h (strnlen1): Likewise.
38703         * lib/uniwidth.in.h (uc_width): Likewise.
38704         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
38705         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
38706         (quoting_options_from_style): Add a comment.
38707         * lib/propername.h (proper_name): Add a comment.
38709 2011-11-27  Bruno Haible  <bruno@clisp.org>
38711         Remove unused macros from !_LIBC code in glibc-borrowed files.
38712         * lib/fnmatch.c (STRCOLL): Remove macro.
38713         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
38714         * lib/glob.c (__stat, __readdir64): Remove macros.
38715         * lib/tempname.c (__open64, __xstat64): Remove macros.
38716         Suggested by Paul Eggert.
38718 2011-11-27  Bruno Haible  <bruno@clisp.org>
38720         getcwd: Fix link error on MSVC 9.
38721         * modules/getcwd (Depends-on): Add readdir, rewinddir.
38723 2011-11-27  Bruno Haible  <bruno@clisp.org>
38725         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
38726         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
38727         HAVE_OPENDIR is 0.
38728         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
38729         HAVE_CLOSEDIR is 0.
38730         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
38731         is 0.
38732         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
38734 2011-11-27  Bruno Haible  <bruno@clisp.org>
38736         getcwd: Fix bug from 2011-08-17.
38737         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
38738         platforms that need it.
38739         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
38740         code of 4 to be a failure, not a success. This ensures that
38741         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
38743 2011-11-27  Bruno Haible  <bruno@clisp.org>
38745         binary-io tests: Avoid test failure on mingw when libtool is used.
38746         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
38747         Don't verify the size of t-bin-out1.tmp here.
38748         * tests/test-binary-io.sh: Verify it here.
38749         Reported by Simon Josefsson.
38751 2011-11-26  Bruno Haible  <bruno@clisp.org>
38753         Fix conflict between two instantiations of module 'unistd'.
38754         * gnulib-tool (func_emit_autoconf_snippet): Substitute
38755         ${include_guard_prefix} also in the autoconf snippet.
38756         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
38757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
38758         GNULIB_UNISTD_H_GETOPT.
38759         * modules/getopt-posix (configure.ac): Set the
38760         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
38761         * modules/getopt-gnu (configure.ac): Likewise.
38762         * modules/unistd (Makefile.am): Change the substitution value of
38763         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
38764         Reported by Simon Josefsson.
38766 2011-11-25  Bruno Haible  <bruno@clisp.org>
38768         pagealign_alloc: Doc and comments.
38769         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
38770         module.
38771         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
38773 2011-11-25  Jim Meyering  <meyering@redhat.com>
38775         test-update-copyright.sh: avoid false-positive failure
38776         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
38777         around false positive failure on Cygwin/Windows.  The latter was
38778         matching erroneously-created files with names like
38779         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
38781 2011-11-25  Simon Josefsson  <simon@josefsson.org>
38783         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
38784         * m4/valgrind-tests.m4: Check that the parameters that will be
38785         used works, not just a subset of them.  Reported by Bruno Haible
38786         <bruno@clisp.org>.
38788 2011-11-24  Jim Meyering  <meyering@redhat.com>
38790         test-stdalign.c: comment out long double tests
38791         * tests/test-stdalign.c: Don't try to reduce alignment of long double
38792         variables.  That provokes errors like this from gcc-4.7.0 20111124:
38793         error: '_Alignas' specifiers cannot reduce alignment of \
38794         'static_longdouble_alignas'.
38796 2011-11-22  Jim Meyering  <meyering@redhat.com>
38798         init.sh: make "compare /dev/null FILE" output more readable
38799         * tests/init.sh (compare_): Document the preferred order of arguments.
38800         (emit_diff_u_header_): New function.
38801         (compare_dev_null_): Emit a simulated diff, rather than just the
38802         contents of the unexpected file.  Suggestion from Bruno Haible.
38804 2011-11-21  Jim Meyering  <meyering@redhat.com>
38805             Eric Blake  <eblake@redhat.com>
38807         init.sh: work around OSF/1 5.1's mishandling of /dev/null
38808         * tests/init.sh: Make our compare function slightly more portable.
38809         Reported by Bruno Haible in
38810         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
38812 2011-11-21  Simon Josefsson  <simon@josefsson.org>
38814         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
38815         before using it, in code that ends up in config.h.
38817 2011-11-20  Bruno Haible  <bruno@clisp.org>
38819         getcwd: Work around getcwd bug on AIX 5..7.
38820         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
38821         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
38822         Use a different value for gl_cv_func_getcwd_path_max. Move the
38823         definition of HAVE_PARTLY_WORKING_GETCWD from here...
38824         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
38825         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
38826         Define HAVE_MINIMALLY_WORKING_GETCWD.
38827         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
38828         where it is not even minimally working, that is, on AIX.
38829         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
38830         m4/getcwd-path-max.m4.
38831         (main): Update exit code computation.
38832         * doc/posix-functions/getcwd.texi: Mention list of platforms where
38833         getcwd does not handle long file names.
38835 2011-11-20  Bruno Haible  <bruno@clisp.org>
38837         getcwd: Fix bug from 2009-09-10.
38838         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
38839         like "no".
38841 2011-11-20  Simon Josefsson  <simon@josefsson.org>
38843         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
38845 2011-11-20  Bruno Haible  <bruno@clisp.org>
38847         fma tests: Avoid shadowing local variables.
38848         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
38849         expected.
38851 2011-11-20  Bruno Haible  <bruno@clisp.org>
38853         copysignf tests: Fix.
38854         * tests/test-copysignf.c: Fix signature check.
38856 2011-11-20  Bruno Haible  <bruno@clisp.org>
38858         fma: Remove unused code.
38859         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
38860         unused macros.
38862 2011-11-20  Bruno Haible  <bruno@clisp.org>
38864         sethostname: Fix doc about AIX.
38865         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
38866         sethostname; it has it.
38868         sethostname: Mention more portability problems.
38869         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
38870         problem.
38871         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
38873 2011-11-19  Bruno Haible  <bruno@clisp.org>
38875         Depend on module fcntl-h when AT_FDCWD is used.
38876         * modules/utimens (Depends-on): Add fcntl-h.
38877         * modules/areadlinkat (Depends-on): Likewise.
38878         * modules/areadlinkat-with-size (Depends-on): Likewise.
38879         * modules/faccessat (Depends-on): Likewise.
38880         * modules/fchmodat (Depends-on): Likewise.
38881         * modules/fchownat (Depends-on): Likewise.
38882         * modules/getcwd (Depends-on): Likewise.
38883         * modules/mkdirat (Depends-on): Likewise.
38884         * modules/mkfifoat (Depends-on): Likewise.
38885         * modules/readlinkat (Depends-on): Likewise.
38886         * modules/symlinkat (Depends-on): Likewise.
38887         * modules/dup2-tests (Depends-on): Likewise.
38888         * modules/fdutimensat-tests (Depends-on): Likewise.
38889         * modules/futimens-tests (Depends-on): Likewise.
38891 2011-11-19  Bruno Haible  <bruno@clisp.org>
38893         euidaccess: Update a comment.
38894         * lib/euidaccess.c: Update comment about platforms with faccessat.
38896 2011-11-19  Bruno Haible  <bruno@clisp.org>
38898         openat: Fix file list.
38899         * modules/openat (Files): Remove lib/at-func.c.
38901 2011-11-19  Bruno Haible  <bruno@clisp.org>
38903         fstatat: Simplify.
38904         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
38905         gnulib should define rpl_fstatat, there is a
38906         "#define fstatat rpl_fstatat" in <sys/stat.h>.
38908 2011-11-19  Bruno Haible  <bruno@clisp.org>
38910         Ensure 'inline' can be used in tests/test-utimens-common.h.
38911         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
38912         * modules/futimens-tests (configure.ac): Likewise.
38913         * modules/utimens-tests (configure.ac): Likewise.
38914         * modules/utimensat-tests (configure.ac): Likewise.
38916 2011-11-19  Simon Josefsson  <simon@josefsson.org>
38918         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
38919         not hash_insert0.
38920         (hash_insert_if_absent): Doc fix.
38922 2011-11-19  Simon Josefsson  <simon@josefsson.org>
38924         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
38926 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
38928         test-getcwd: disambiguate exit status
38929         * tests/test-getcwd.c (test_long_name): Return 0..7.
38930         (main): Exit with an unambiguous exit status.  The old
38931         code yielded a mysterious mixture of two failure codes.
38933         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
38934         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
38935         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
38936         rpl_fstatat or fstatat.  This should fix the other problem
38937         reported by Kai Habel in
38938         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
38939         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
38940         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
38941         and I reproduced it on a Solaris 8 host we still have in production.
38943 2011-11-18  Jim Meyering  <meyering@redhat.com>
38945         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
38946         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
38947         Add a sentence to the comment.
38948         (hash_insert0): New function that simply calls hash_insert_if_absent.
38949         * lib/hash.h (hash_insert_if_absent): Declare it.
38950         (hash_insert0): Add deprecation attribute.
38951         (_GL_ATTRIBUTE_DEPRECATED): Define.
38952         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
38953         not hash_insert0.
38954         * NEWS: Mention it, even though it's not really an incompatible change.
38956 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
38958         openat: avoid compilation failure due to lack of <errno.h> inclusion
38959         * lib/openat.c: Include <errno.h>.
38961 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
38963         * modules/getcwd (Depends-on): Add fdopendir.
38964         This fixes one of the two problems reported by Kai Habel in
38965         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
38967         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
38968         stdalign problem reported by Ian Beckwith in
38969         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
38970         * modules/crypto/gc-arcfour (Depends-on):
38971         Depend conditionally on crypto/arcfour.
38972         * modules/crypto/gc-arctwo (Depends-on):
38973         Depend conditionally on crypto/arctwo.
38974         * modules/crypto/gc-des (Depends-on):
38975         Depend conditionally on crypto/des.
38976         * modules/crypto/gc-hmac-md5 (Depends-on):
38977         Depend conditionally on crypto/hmac-md5.
38978         * modules/crypto/gc-hmac-sha1 (Depends-on):
38979         Depend conditionally on crypto/hmac-sha1.
38980         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
38981         * modules/crypto/gc-md4 (Depends-on):
38982         Depend conditionally on crypto/md4.
38983         * modules/crypto/gc-md5 (Depends-on):
38984         Depend conditionally on crypto/md5.
38985         * modules/crypto/gc-rijndael (Depends-on):
38986         Depend conditionally on crypto/rijndael.
38987         * modules/crypto/gc-sha1 (Depends-on):
38988         Depend conditionally on crypto/sha1.
38989         * modules/crypto/gc-arcfour:
38990         * modules/crypto/gc-arctwo:
38991         * modules/crypto/gc-des:
38992         * modules/crypto/gc-hmac-md5:
38993         * modules/crypto/gc-hmac-sha1:
38994         * modules/crypto/gc-md2:
38995         * modules/crypto/gc-md4:
38996         * modules/crypto/gc-md5:
38997         * modules/crypto/gc-rijndael:
38998         * modules/crypto/gc-sha1:
38999         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
39000         now that the conditional dependencies do the work for us.
39002 2011-11-17  Jim Meyering  <meyering@redhat.com>
39004         tests: factor st_ctime-comparison out of two headers
39005         * tests/test-utimens-common.h (ctime_compare): Define.
39006         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
39007         * tests/test-lutimens.h (test_lutimens): Likewise.
39008         * tests/test-utimens.h (test_utimens): Likewise.
39010         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
39011         Invoke the test program via an init.sh-using wrapper.
39012         * tests/test-getcwd.sh: New file.
39013         * modules/getcwd-tests (Files): Add it.
39014         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
39016 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
39018         gitlog-to-changelog: support multi-author commits.
39019         The FSF cares about keeping track of all authors of patches to its
39020         projects, but Git doesn't provide obvious support for multi-author
39021         changesets. Consensus seems to be forming around the use of extra
39022         Signed-off-by inspired lines in the log message formatted as
39023         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
39024         multi-author commits between version control systems.
39025         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
39026         log message and output in standard ChangeLog multi-author format.
39027         Reported by Peter Rosin <peda@lysator.liu.se>
39029 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
39030             Bruno Haible  <bruno@clisp.org>
39032         Fix some modules' file list.
39033         * modules/fstatat (Files): Add m4/lstat.m4.
39034         * modules/openat (Files): Likewise.
39035         * modules/unlinkat (Files): Likewise.
39037 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
39039         maint.mk: fix tight-scope.mk generation in VPATH builds.
39040         * top/maint.mk (tight-scope.mk): Make sure to prefix file
39041         reference with $(srcdir) so that the file is found correctly even
39042         when running `make syntax-check' in a VPATH build.
39044 2011-11-13  Bruno Haible  <bruno@clisp.org>
39045             Jim Meyering  <meyering@redhat.com>
39047         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
39048         * tests/init.sh (compare): Remove "No differences encountered" or
39049         synonymous output from the 'diff' program.
39051 2011-11-13  Bruno Haible  <bruno@clisp.org>
39053         Makefile: Tweak indentation.
39054         * Makefile: Use tab as first character in every line that contains rule
39055         commands.
39057 2011-11-13  Bruno Haible  <bruno@clisp.org>
39059         Syntax check for copyright statements.
39060         * check-copyright: New file.
39061         * Makefile (sc_check_copyright): New rule.
39063 2011-11-13  Simon Josefsson  <simon@josefsson.org>
39065         * build-aux/git-version-gen: Add --prefix to configure the tag
39066         match string.
39068 2011-11-13  Simon Josefsson  <simon@josefsson.org>
39070         * build-aux/git-version-gen: Add --help and --version.
39072 2011-11-12  Jim Meyering  <meyering@redhat.com>
39074         revamp the other test-exclude?.sh scripts to use init.sh, too
39075         * tests/test-exclude1.sh: Use init.sh.
39076         * tests/test-exclude2.sh: Likewise.
39077         * tests/test-exclude3.sh: Likewise.
39078         * tests/test-exclude4.sh: Likewise.
39079         * tests/test-exclude5.sh: Likewise.
39080         * tests/test-exclude6.sh: Likewise.
39081         * tests/test-exclude7.sh: Likewise.
39082         * tests/test-exclude8.sh: Likewise.
39083         * modules/exclude-tests (Files): List init.sh.
39085         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
39086         These shell scripts ignored failure of the binary test-exclude,
39087         so making the latter return 77 didn't cause them to be skipped.
39088         * tests/test-exclude5.sh: Exit with test-exclude's error status
39089         when that program fails.  Revamp to use init.sh.
39090         * tests/test-exclude2.sh: Likewise.
39092         test-exclude: fix a typo
39093         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
39095 2011-11-11  Bruno Haible  <bruno@clisp.org>
39097         obstack: Fix compilation error on MSVC 9.
39098         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
39100 2011-11-11  Jim Meyering  <meyering@redhat.com>
39102         test-exclude: skip tests rather than failing on deficient systems
39103         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
39104         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
39105         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
39106         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
39108 2011-11-10  Bruno Haible  <bruno@clisp.org>
39110         ptsname_r test: Avoid gcc warning on glibc systems.
39111         * tests/test-ptsname_r.c (null_ptr): New function.
39112         (test_errors): Use it.
39114 2011-11-10  Bruno Haible  <bruno@clisp.org>
39116         ptsname_r: Avoid compilation error on OSF/1 5.1.
39117         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
39118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
39119         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
39120         function is not declared or incompatibly declared.
39121         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
39122         * modules/ptsname_r (Depends-on, configure.ac): Update.
39123         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
39125 2011-11-10  Bruno Haible  <bruno@clisp.org>
39127         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
39128         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
39129         When cross-compiling, guess yes on all platforms except AIX.
39130         Reported by Ludovic Courtès <ludo@gnu.org>.
39132 2011-11-09  Bruno Haible  <bruno@clisp.org>
39134         ptsname_r tests: Fix bugs.
39135         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
39136         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
39138 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
39140         fstatat: work with cross-compilation
39141         Problem reported by Ludovic Courtès in
39142         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
39143         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
39144         "cross-compiling" and assume the bug is present.  Replace
39145         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
39146         an inverted sense, to be more conservative about our assumptions.
39147         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
39149 2011-11-09  Bruno Haible  <bruno@clisp.org>
39151         Improve MODULES.html output.
39152         * modules/mkfifoat (Description): Use the word "function".
39153         * modules/readlinkat (Description): Likewise.
39154         * modules/symlinkat (Description): Likewise.
39156 2011-11-09  Eric Blake  <eblake@redhat.com>
39158         ptsname_r-tests: new test module
39159         * modules/ptsname_r-tests: New module.
39160         * tests/test-ptsname_r.c: New file.
39162         ptsname_r: new module
39163         * modules/ptsname_r: New module.
39164         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
39165         * lib/ptsname.c (__ptsname_r): Split...
39166         * lib/ptsname_r.c: ...into new file.
39167         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
39168         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
39169         * modules/stdlib (Makefile.am): Substitute witnesses.
39170         * lib/stdlib.in.h (ptsname_r): Declare it.
39171         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
39172         * MODULES.html.sh (Misc): Likewise.
39173         * modules/ptsname (Depends-on): Alter dependency.
39174         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
39176 2011-11-09  Jim Meyering  <meyering@redhat.com>
39178         announce-gen: be more concise when there's only one URL+tarball
39179         * build-aux/announce-gen (get_tool_versions): When you distribute
39180         only one type of tarball, combine the first two "Here are..."
39181         sections and make the key-checking grammar independent of
39182         how many tarballs there are.
39184 2011-11-09  Eric Blake  <eblake@redhat.com>
39186         openpty: provide a stub on mingw
39187         * lib/pty.in.h (includes): Provide forward declarations.
39188         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
39190         raise: fix mingw handling of SIGPIPE
39191         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
39193 2011-11-08  Bruno Haible  <bruno@clisp.org>
39195         More conditional dependencies.
39196         * modules/faccessat (Depends-on): Add conditions.
39197         * modules/fchmodat (Depends-on): Likewise.
39198         * modules/fchownat (Depends-on): Likewise.
39199         * modules/fstatat (Depends-on): Likewise.
39200         * modules/mkfifoat (Depends-on): Likewise.
39201         * modules/readlinkat (Depends-on): Likewise.
39202         * modules/symlinkat (Depends-on): Likewise.
39203         * modules/unlinkat (Depends-on): Likewise.
39204         * modules/utimensat (Depends-on): Likewise.
39205         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
39206         * modules/linkat (Depends-on): Refine the conditions.
39207         * modules/renameat (Depends-on): Likewise.
39209 2011-11-08  Bruno Haible  <bruno@clisp.org>
39211         faccessat: Move AC_LIBOBJ invocation to module description.
39212         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
39213         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
39214         invocation from here...
39215         * modules/faccessat (configure.ac): ... to here. Invoke
39216         gl_PREREQ_FACCESSAT.
39218 2011-11-08  Bruno Haible  <bruno@clisp.org>
39220         faccessat: Simplify autoconf macro.
39221         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
39222         gl_FUNC_EUIDACCESS.
39224 2011-11-08  Bruno Haible  <bruno@clisp.org>
39226         renameat: Fix dependencies.
39227         * modules/renameat (Depends-on): Add stdbool.
39229 2011-11-08  Bruno Haible  <bruno@clisp.org>
39231         mkfifoat: Fix module description.
39232         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
39233         not gl_UNISTD_MODULE_INDICATOR.
39235 2011-11-08  Bruno Haible  <bruno@clisp.org>
39237         fstatat: Remove unused dependency.
39238         * modules/fstatat (Depends-on): Remove fstat.
39240 2011-11-08  Simon Josefsson  <simon@josefsson.org>
39242         GNUmakefile: behave when Makefile is missing.
39243         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
39245 2011-11-08  Bruno Haible  <bruno@clisp.org>
39247         openat: Conditionalize dependencies.
39248         * lib/openat.c: Reduce the scope of some #includes.
39249         * modules/openat (Depends-on): Add conditions.
39251 2011-11-07  Jim Meyering  <meyering@redhat.com>
39253         maint.mk: extract GPG key ID without using a temporary file
39254         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
39255         without using a temporary file.  Based on a suggestion from Werner Koch
39256         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
39258 2011-11-07  Eric Blake  <eblake@redhat.com>
39260         grantpt: fix typo
39261         * lib/stdlib.in.h (grantpt): Check correct function.
39263         maint.mk: silence new syntax check
39264         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
39266 2011-11-06  Bruno Haible  <bruno@clisp.org>
39268         Doc about floating-point and math API.
39269         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
39270         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
39272 2011-11-06  Bruno Haible  <bruno@clisp.org>
39274         stdalign tests: Skip the test when compiled by Sun C.
39275         * tests/test-stdalign.c (main): Skip the test on Sun C.
39277 2011-11-06  Bruno Haible  <bruno@clisp.org>
39279         ansi-c++-opt: Complete the 2011-06-05 change.
39280         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
39281         does not support namespaces, set the variable to "no", not to ":".
39283 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
39285         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
39287 2011-11-06  Bruno Haible  <bruno@clisp.org>
39289         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
39290         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
39291         (minus_zerol) [HP-UX]: New macro.
39292         (unary_minus) [HP-UX]: New function.
39293         (copysignl) [HP-UX]: Use unary_minus function.
39295 2011-11-06  Bruno Haible  <bruno@clisp.org>
39297         ldexp, ldexpf, ldexpl: Enhance tests.
39298         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
39299         and tests/test-ldexpl.c.
39300         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
39301         LDEXP, MIN_EXP, MAX_EXP): New macros.
39302         Include test-ldexp.h.
39303         (main): Just call test_function.
39304         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
39305         infinity.h, nan.h.
39306         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
39307         MAX_EXP): New macros.
39308         Include test-ldexp.h.
39309         (x, y): Remove variables.
39310         (main): Just call test_function.
39311         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
39312         infinity.h, nan.h.
39313         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
39314         MAX_EXP): New macros.
39315         Include test-ldexp.h.
39316         (x, y): Remove variables.
39317         (main): Just call test_function.
39318         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
39319         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
39320         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
39321         (Depends-on): Add isnand-nolibm, signbit, float.
39322         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
39323         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
39324         (Depends-on): Add isnanf-nolibm, signbit, float.
39326 2011-11-06  Bruno Haible  <bruno@clisp.org>
39328         math tests: Cosmetics.
39329         * tests/test-math-c++.cc: Reorder declarations.
39331 2011-11-05  Bruno Haible  <bruno@clisp.org>
39333         fma*: Simplify test.
39334         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
39335         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
39337         Tests for module 'fmal'.
39338         * modules/fmal-tests: New file.
39339         * tests/test-fmal1.c: New file.
39340         * tests/test-fmal2.c: New file.
39342         New module 'fmal'.
39343         * lib/math.in.h (fmal): New declaration.
39344         * lib/fmal.c: New file.
39345         * m4/fmal.m4: New file.
39346         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
39347         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
39348         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
39349         REPLACE_FMAL.
39350         * modules/fmal: New file.
39351         * doc/posix-functions/fmal.texi: Mention the new module and the various
39352         bugs.
39354         Tests for module 'fmaf'.
39355         * modules/fmaf-tests: New file.
39356         * tests/test-fmaf1.c: New file.
39357         * tests/test-fmaf2.c: New file.
39359         New module 'fmaf'.
39360         * lib/math.in.h (fmaf): New declaration.
39361         * lib/fmaf.c: New file.
39362         * m4/fmaf.m4: New file.
39363         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
39364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
39365         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
39366         REPLACE_FMAF.
39367         * modules/fmaf: New file.
39368         * doc/posix-functions/fmaf.texi: Mention the new module and the various
39369         bugs.
39371         Tests for module 'fma'.
39372         * modules/fma-tests: New file.
39373         * tests/test-fma1.c: New file.
39374         * tests/test-fma1.h: New file.
39375         * tests/test-fma2.c: New file.
39376         * tests/test-fma2.h: New file.
39378         New module 'fma'.
39379         * lib/math.in.h (fma): New declaration.
39380         * lib/fma.c: New file.
39381         * m4/fma.m4: New file.
39382         * m4/fegetround.m4: New file.
39383         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
39384         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
39385         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
39386         REPLACE_FMA.
39387         * modules/fma: New file.
39388         * doc/posix-functions/fma.texi: Mention the new module and the various
39389         bugs.
39391         Extend gl_MATHFUNC.
39392         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
39393         Support 'void' as argument type.
39394         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
39396 2011-11-05  Jim Meyering  <meyering@redhat.com>
39398         maint.mk: also prohibit inclusion of dirent.h without use
39399         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
39401 2011-11-05  Bruno Haible  <bruno@clisp.org>
39403         ldexpl tests: Avoid test failure on MSVC 9.
39404         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
39405         value. Needed in order to enforce the conversion from a value greater
39406         than LDBL_MAX to Infinity.
39408 2011-11-05  Bruno Haible  <bruno@clisp.org>
39410         New modules 'at-internal', 'openat-h', split off from module 'openat'.
39411         * modules/at-internal: New file, extracted from modules/openat.
39412         * modules/openat-h: New file.
39413         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
39414         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
39415         * modules/openat (Description): Add reference to POSIX function.
39416         (Files): Remove lib/openat.h, lib/openat-proc.c.
39417         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
39418         intprops, unistd.
39419         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
39420         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
39421         gl_FCNTL_MODULE_INDICATOR.
39422         (Include): Remove unistd.h, openat.h.
39423         * modules/areadlinkat (Files): Add lib/at-func.c.
39424         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
39425         openat-die, openat-h, save-cwd.
39426         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
39427         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
39428         openat-die, openat-h, save-cwd, unistd.
39429         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
39430         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
39431         openat-h, save-cwd. Remove fcntl-h, openat.
39432         * modules/fchmodat (Files): Remove lib/openat.h.
39433         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
39434         openat, stdbool, unistd.
39435         * modules/fchownat (Files): Remove lib/openat.h.
39436         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
39437         openat, stdbool, sys_stat.
39438         * modules/fdopendir (Files): Remove lib/openat-priv.h,
39439         lib/openat-proc.c.
39440         (Depends-on): Add at-internal.
39441         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
39442         * modules/fstatat (Files): Remove lib/openat.h.
39443         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
39444         stdbool, unistd.
39445         * modules/fts (Depends-on): Add openat-h.
39446         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
39447         openat.
39448         * modules/mkdirat (Files): Remove lib/openat.h.
39449         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
39450         openat, stdbool, sys_stat.
39451         * modules/mkfifoat (Files): Add lib/at-func.c.
39452         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
39453         openat-h, save-cwd. Remove fcntl-h, openat.
39454         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
39455         * modules/readlinkat (Files): Add lib/at-func.c.
39456         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
39457         openat-h, save-cwd. Remove fcntl-h, openat.
39458         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
39459         openat.
39460         * modules/selinux-at (Files): Add lib/at-func.c.
39461         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
39462         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
39463         * modules/symlinkat (Files): Add lib/at-func.c.
39464         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
39465         openat-h, save-cwd. Remove fcntl-h, openat.
39466         * modules/unlinkat (Files): Remove lib/openat.h.
39467         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
39468         stdbool.
39469         * modules/utimensat (Files): Add lib/at-func.c.
39470         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
39471         openat-die, openat-h, save-cwd.
39472         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
39473         * modules/fdutimensat-tests (Depends-on): Add openat.
39474         * modules/fstatat-tests (Depends-on): Add openat-h.
39475         * modules/readlinkat-tests (Depends-on): Add openat.
39476         * modules/symlinkat-tests (Depends-on): Add openat.
39478 2011-11-05  Bruno Haible  <bruno@clisp.org>
39480         openat: Include <stdbool.h>.
39481         * lib/openat.c: Include <stdbool.h>.
39483 2011-11-04  Bruno Haible  <bruno@clisp.org>
39485         fchownat, renameat, unlinkat: Fix dependencies.
39486         * modules/fchownat (Depends-on): Add fstatat.
39487         * modules/renameat (Depends-on): Likewise.
39488         * modules/unlinkat (Depends-on): Likewise.
39490 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
39492         openat: remove direct dependency on dirent
39493         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
39494         and hasn't been needed ever since fdopendir was split into its own
39495         module on 2009-08-31.
39496         * modules/openat (Depends-on): Remove dirent.
39498 2011-11-04  Bruno Haible  <bruno@clisp.org>
39500         renameat: Optimize code size.
39501         * modules/renameat (configure.ac): Don't compile at-func2.c if
39502         REPLACE_RENAMEAT is 1.
39504 2011-11-04  Bruno Haible  <bruno@clisp.org>
39506         openat tests: Fix file list.
39507         * modules/openat-tests (Files): Add tests/test-open.h.
39509 2011-11-04  Bruno Haible  <bruno@clisp.org>
39511         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
39512         * modules/fchmodat (Depends-on): Add openat-die.
39513         * modules/fchownat (Depends-on): Likewise.
39514         * modules/linkat (Depends-on): Likewise.
39515         * modules/renameat (Depends-on): Likewise.
39516         * modules/openat (Depends-on): Add dirent.
39518 2011-11-04  Jim Meyering  <meyering@redhat.com>
39520         at-func*.c: fix comments
39521         * lib/at-func2.c: Correct/improve first-line comment.
39522         * lib/at-func.c: Correct grammar in first-line comment.
39524 2011-11-04  Bruno Haible  <bruno@clisp.org>
39526         New module 'mkdirat', split off from module 'openat'.
39527         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
39528         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
39529         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
39530         * modules/mkdirat: New file, extracted from modules/openat.
39531         * modules/openat (Files): Remove lib/mkdirat.c.
39532         (Depends-on): Remove mkdir.
39533         (configure.ac): Remove AC_LIBOBJ of mkdirat.
39534         (Include): Remove <sys/stat.h>.
39535         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
39536         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
39537         tests/test-mkdir.h.
39538         (Depends-on): Remove ignore-value.
39539         (Makefile.am): Remove rules for test-mkdirat.
39540         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
39541         of module 'openat'.
39542         * NEWS: Mention the change.
39544 2011-11-04  Bruno Haible  <bruno@clisp.org>
39546         closedir: Avoid warning on mingw.
39547         * lib/closedir.c: Include <unistd.h>.
39549 2011-11-04  Bruno Haible  <bruno@clisp.org>
39551         New module 'fstatat', split off from module 'openat'.
39552         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
39553         defined.
39554         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
39555         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
39556         gl_FUNC_FSTATAT.
39557         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
39558         * modules/fstatat: New file, extracted from modules/openat.
39559         * modules/openat (Files): Remove lib/fstatat.c.
39560         (Depends-on): Remove lstat.
39561         (configure.ac): Remove AC_LIBOBJ of fstatat.
39562         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
39563         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
39564         tests/test-lstat.h, tests/test-stat.h.
39565         (Depends-on): Remove getcwd-lgpl.
39566         (Makefile.am): Remove rules for test-fstatat.
39567         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
39568         of module 'openat'.
39569         * NEWS: Mention the change.
39570         * modules/getcwd (Depends-on): Add fstatat.
39571         * modules/linkat (Depends-on): Likewise.
39572         * modules/mkfifoat-tests (Depends-on): Likewise.
39573         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
39575 2011-11-03  Bruno Haible  <bruno@clisp.org>
39577         New module 'unlinkat', split off from module 'openat'.
39578         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
39579         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
39580         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
39581         * modules/unlinkat: New file, extracted from modules/openat. Correct
39582         the dependency conditions.
39583         * modules/openat (Files): Remove lib/unlinkat.c.
39584         (Depends-on): Remove rmdir, unlink.
39585         (configure.ac): Remove AC_LIBOBJ of unlinkat.
39586         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
39587         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
39588         tests/test-rmdir.h, tests/test-unlink.h.
39589         (Depends-on): Remove unlinkdir.
39590         (Makefile.am): Remove rules for test-unlinkat.
39591         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
39592         of module 'openat'.
39593         * NEWS: Mention the change.
39594         * modules/linkat-tests (Depends-on): Add unlinkat.
39595         * modules/mkfifoat-tests (Depends-on): Likewise.
39596         * modules/readlinkat-tests (Depends-on): Likewise.
39598 2011-11-02  Bruno Haible  <bruno@clisp.org>
39600         New module 'fchmodat', split off from module 'openat'.
39601         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
39602         defined.
39603         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
39604         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
39605         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
39606         * modules/fchmodat: New file, extracted from modules/openat.
39607         * modules/openat (Files): Remove lib/fchmodat.c.
39608         (configure.ac): Remove AC_LIBOBJ of fchmodat.
39609         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
39610         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
39611         (Makefile.am): Remove rules for test-fchmodat.
39612         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
39613         of module 'openat'.
39614         * NEWS: Mention the change.
39616 2011-11-02  Jim Meyering  <meyering@redhat.com>
39618         putenv: indent #definition of "environ" to placate cppi
39619         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
39621         gitlog-to-changelog: provide a ChangeLog-repair mechanism
39622         Git logs are often treated as immutable, because editing them
39623         changes the SHA1 checksums of all descendants.  Thus, errors in
39624         git logs tend to stay there forever.  However, when we generate
39625         a ChangeLog file -- typically for distribution -- from that git log,
39626         we can actually make corrections in the generated file.  The key
39627         lies in recording in machine-readable/applicable form the desired
39628         corrections.  See --help for description and an example.
39629         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
39630         (usage): Describe it; alphabetize option descriptions.
39631         (main): Honor the new option, carefully.
39633 2011-11-01  Jim Meyering  <meyering@redhat.com>
39635         gitlog-to-changelog: avoid an infloop
39636         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
39637         that ends up being empty.
39639 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
39641         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
39642         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
39643         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
39644         contains (possibly-quoted) backslashes.  This should avoid
39645         all-too-common shell bugs if COMPLICATED contains backslashes in
39646         the "wrong" places.  Reported by David Evans in
39647         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
39648         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
39649         because we want ASCII ranges.  Is there some reason we don't use
39650         the C locale everywhere in this script?
39651         (func_module, top level): Avoid unwanted pathname expansion when
39652         $repo_url_prefix or $repo_url_suffix_repl contain shell
39653         metacharacters like '?' and '*'.
39655 2011-11-01  Bruno Haible  <bruno@clisp.org>
39657         fchownat: Improve description.
39658         * modules/fchownat (Description): Add link to function.
39660 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
39662         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
39663         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
39664         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
39665         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
39667 2011-11-01  Bruno Haible  <bruno@clisp.org>
39669         alignof: Avoid collision with stdalign module.
39670         * lib/alignof.h (alignof): Remove macro.
39671         * NEWS: Mention the change.
39672         Reported by Paul Eggert.
39674 2011-11-01  Bruno Haible  <bruno@clisp.org>
39676         New module 'fchownat', split off from module 'openat'.
39677         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
39678         defined.
39679         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
39680         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
39681         invoke gl_FUNC_FCHOWNAT.
39682         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
39683         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
39684         * modules/fchownat: New file, extracted from modules/openat.
39685         * modules/openat (Files): Remove lib/fchownat.c.
39686         (Depends-on): Remove lchown.
39687         (configure.ac): Remove AC_LIBOBJ of fchownat.
39688         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
39689         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
39690         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
39691         (Depends-on): Remove mgetgroups, usleep, stat-time.
39692         (configure.ac): Remove test for getegid.
39693         (Makefile.am): Remove rules for test-fchownat.
39694         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
39695         of module 'openat'.
39696         * NEWS: Mention the change.
39698 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
39700         stdalign: port better to MSVC and to Sun C 5.11
39701         This fixes some of the problems reported by Bruno Haible in
39702         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
39703         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
39704         shortcomings of MSVC and of Sun C 5.11.
39705         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
39706         around __declspec arg.
39707         * modules/stdalign-tests (Files): Add tests/macros.h.
39708         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
39709         Include macros.h, for ASSERT.
39710         (DECLARE_ALIGNED): Remove.
39711         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
39712         to catch bug), and to 1 if not (simplifies the rest of the code).
39713         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
39714         (CHECK_AUTO): Remove.
39715         (CHECK_ALIGNED): Check only the alignment of the static vars,
39716         since auto var alignment isn't supported by Sun C 5.11.
39717         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
39718         ASSERT failures are easier to diagnose.
39720 2011-10-31  Bruno Haible  <bruno@clisp.org>
39722         doc about some IRIX 5.3 problems.
39723         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
39724         on IRIX 5.3.
39725         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
39726         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
39727         5.3.
39728         * doc/posix-functions/grantpt.texi: Likewise.
39729         * doc/posix-functions/unlockpt.texi: Likewise.
39730         * doc/posix-functions/lgamma.texi: Likewise.
39731         * doc/posix-functions/nextafter.texi: Likewise.
39732         * doc/posix-functions/remainder.texi: Likewise.
39733         * doc/posix-functions/select.texi: Mention misplaced declaration on
39734         IRIX 5.3.
39735         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39737 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
39739         gitlog-to-changelog: fix git-log invocation.
39740         git-log mishandles date strings before 1970-01-01 UTC, and there is
39741         no use to specify --since=1970-01-01 by default anyway.
39742         * build-aux/gitlog-to-changelog: By default, when no --since option
39743         was given, do not specify explicit --since option to git-log.
39745 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
39747         gitlog-to-changelog: new option --append-dot.
39748         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
39749         first non-blank line of each commit message terminated with a dot.
39751 2011-10-30  Bruno Haible  <bruno@clisp.org>
39753         ffsl, ffsll: Avoid compilation error due to 'restrict'.
39754         * lib/ffsl.h: Include <config.h>.
39755         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
39757 2011-10-30  Jim Meyering  <meyering@redhat.com>
39759         GNUmakefile: reenable "make syntax-check" for most projects
39760         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
39761         build-aux variable", "syntax-check" would do nothing but succeed with
39762         the "No version control files detected..." diagnostic (unless you
39763         happened to override _build-aux via cfg.mk).
39764         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
39765         to precede inclusion of maint.mk.  Otherwise, these variables would
39766         be used undefined in any project that does not override the default.
39768 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
39770         gitlog-to-changelog: treat a message with only blank lines as empty.
39771         * build-aux/gitlog-to-changelog: Move the code that removes leading and
39772         trailing blank lines before the code that issues a warning about an
39773         empty commit message.
39775 2011-10-30  Jim Meyering  <meyering@redhat.com>
39777         test-parse-datetime.c: avoid new DST-related false positive test failure
39778         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
39779         based on the time/date we'll convert, not the current time.
39780         Otherwise, the moment we cross a DST boundary like today's in
39781         Europe, (CEST to CET), that offset ends up being one hour off.
39783 2011-10-27  Bruno Haible  <bruno@clisp.org>
39785         fstat: Tweak documentation.
39786         * modules/fstat (Description): More precise description.
39788 2011-10-27  Bruno Haible  <bruno@clisp.org>
39790         Update documentation regarding 'largefile' module.
39791         * doc/posix-functions/fstat.texi: Tweak wording.
39792         * doc/posix-functions/opendir.texi: Mention that the module fixes the
39793         problems with huge directories and/or small ino_t types.
39794         * doc/posix-functions/readdir.texi: Likewise.
39795         * doc/posix-functions/rewinddir.texi: Likewise.
39797 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
39799         maint.mk: don't maintain a second build-aux variable.
39800         * maint.mk (build_aux): Removed.  The maintainer-makefile module
39801         depends on GNUmakefile, which already maintains a cfg.mk
39802         overridable $(_build-aux) for projects with a non-standard
39803         build-aux directory location, although without the $(srcdir)
39804         prefix.  Use that variable consistently instead of introducing a
39805         second one.  Adjust all call sites.
39807 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
39809         Add stdalign module and use it in other modules.
39810         This is based on a previous proposal by Bruno Haible
39811         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
39813         stdalign: new module
39814         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
39815         * modules/stdalign: New files.
39816         * MODULES.html.sh (c1x_core_properties): Add stdalign.
39817         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
39819         stdalign-tests: new module
39820         * modules/stdalign-tests, tests/test-stdalign.c: New files.
39822         argp: use stdalign
39823         * lib/argp-parse.c: Include <stdalign.h>.
39824         (alignof): Remove.
39825         * modules/argp (Depends-on): Add stdalign.
39827         crypto libraries: use stdalign
39828         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
39829         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
39830         Do not include <stdlib.h> twice, in md4.c.
39831         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
39832         because we are accessing a pointer's bit-pattern, not a size.
39833         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
39834         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
39835         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
39836         * modules/crypto/sha512: Likewise.
39838         sys_socket: use stdalign, not alignof
39839         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
39840         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
39842 2011-10-27  Bruno Haible  <bruno@clisp.org>
39844         raise test: Avoid a test failure on Linux/MIPS.
39845         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
39846         because 99 is a valid signal on Linux/MIPS.
39848 2011-10-27  Bruno Haible  <bruno@clisp.org>
39850         nonblocking tests: Fix test failure on Linux/MIPS.
39851         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
39852         Set to 270000.
39854 2011-10-27  Bruno Haible  <bruno@clisp.org>
39856         utimensat: Work around problem on Linux/hppa.
39857         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
39858         values.
39859         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
39861 2011-10-25  Jim Meyering  <meyering@redhat.com>
39863         maint.mk: fix a bug in sc_prohibit_stddef_without_use
39864         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
39865         after symbols like NULL, size_t, etc.
39866         Reported by Alfred M. Szmidt.
39868         maint.mk: exempt ENODATA from a syntax-check rule
39869         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
39870         from the sc_prohibit_always-defined_macros syntax-check rule.
39871         Add a comment.  See this for more details:
39872         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
39874 2011-10-23  Jim Meyering  <meyering@redhat.com>
39876         fts: close parent dir FD before returning from post-traversal fts_read
39877         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
39878         unlink A, even though an FD open on A remained.  This is suboptimal
39879         (holding a file descriptor open longer than needed), but otherwise not
39880         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
39881         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
39882         that represents a real problem: it causes the removal of A to fail
39883         with e.g., "rm: cannot remove `A': Device or resource busy"
39885         fts visits each directory twice and keeps a cache (fts_fd_ring) of
39886         directory file descriptors.  After completing the final, FTS_DP,
39887         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
39888         cache, but then proceeded to add a new FD to it via the subsequent
39889         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
39890         final file descriptor would be closed only via fts_close's call to
39891         fd_ring_clear.  Now, it is usually closed earlier, via the final
39892         FTS_DP-returning fts_read call.
39893         * lib/fts.c (restore_initial_cwd): New function, converted from
39894         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
39895         Update callers.
39896         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
39897         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
39899 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
39900             Bruno Haible  <bruno@clisp.org>
39901             Jim Meyering  <jim@meyering.net>
39903         readme-release: improve safety of release prep instructions.
39904         * README-release: Don't git pull all branches when only master
39905         is needed for the release process.
39906         Run make maintainer-clean before changing trees and merging.
39907         Don't try to run ./configure right after git pull in case files
39908         that influence the bootstrap process have changed, move the
39909         ./configure step to after running ./bootstrap.
39910         Don't bootstrap "one last time"... it's the first time!
39912 2011-10-22  Bruno Haible  <bruno@clisp.org>
39914         errno, strerror-override: Support for MSVC 10.
39915         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
39916         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
39917         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
39918         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
39919         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
39920         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
39921         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
39922         Assign values compatible with MSVC 10.
39923         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
39924         New macros.
39925         (GNULIB_defined_EWINSOCK): New macro.
39926         * lib/strerror-override.c (strerror_override): Update accordingly.
39927         * lib/strerror-override.h: Likewise.
39928         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
39929         longer equal to the corresponding errno value.
39930         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
39932 2011-10-22  Bruno Haible  <bruno@clisp.org>
39934         perror: Recognize when test program crashes.
39935         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
39936         strerror, set gl_cv_func_perror_works to no.
39937         Reported by Daniel Richard G. <skunk@iskunk.org>.
39939         perror: Fix indentation.
39940         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
39942 2011-10-22  Bruno Haible  <bruno@clisp.org>
39944         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
39945         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
39946         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
39947         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
39948         functions, not as a macro.
39949         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
39950         macros.
39951         (isfinite, isinf, isnan, signbit): Check overloaded functions and
39952         absence of macro.
39953         Suggested by Eric Blake.
39954         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
39956 2011-10-21  Bruno Haible  <bruno@clisp.org>
39958         relocatable-prog-wrapper: Don't leave object files behind.
39959         * build-aux/install-reloc: Re-synchronize list of .o files to be
39960         removed with list of compilation units.
39962 2011-10-20  Bruno Haible  <bruno@clisp.org>
39964         openpty, posix_openpt: Remove code duplication.
39965         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
39966         * lib/openpty.c: Include <stdlib.h>.
39967         (openpty): Use posix_openpt on all platforms except IRIX.
39968         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
39970 2011-10-20  Bruno Haible  <bruno@clisp.org>
39972         unlockpt: Detect invalid argument.
39973         * lib/unlockpt.c: Include <fcntl.h>.
39974         (unlockpt): Check whether fd is valid, using fcntl().
39975         * modules/unlockpt (Depends-on): Add fcntl-h.
39977 2011-10-20  Bruno Haible  <bruno@clisp.org>
39979         openpty: Avoid compilation error on AIX 6.1.
39980         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
39982 2011-10-20  Bruno Haible  <bruno@clisp.org>
39984         posix_openpt: Support for OpenBSD.
39985         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
39986         (posix_openpt) [OpenBSD]: New code.
39987         * lib/grantpt.c: Include <fcntl.h>.
39988         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
39989         * modules/grantpt (Depends-on): Add fcntl-h.
39991 2011-10-20  Bruno Haible  <bruno@clisp.org>
39993         posix_openpt test: Coding style.
39994         * tests/test-posix_openpt.c: Use GNU coding style.
39996 2011-10-20  Bruno Haible  <bruno@clisp.org>
39998         grantpt: Support --avoid=pt_chown.
39999         * modules/grantpt (Files): Add lib/pty-private.h.
40001 2011-10-20  Bruno Haible  <bruno@clisp.org>
40003         posix_openpt: Fix autoconf macro.
40004         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
40005         unneeded check for _getpty.
40007 2011-10-20  Bruno Haible  <bruno@clisp.org>
40009         openpty: Update comments.
40010         * lib/openpty.c: Add comments about Minix.
40012 2011-10-19  Eric Blake  <eblake@redhat.com>
40014         openpty: relax license
40015         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
40017         pt_chown: use configmake to simplify build
40018         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
40020         ptsname and others: relax license
40021         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
40022         * modules/unlockpt (License): Likewise.
40023         * modules/pt_chown (License): Likewise.
40024         * modules/ptsname (License): Likewise.
40025         * modules/ttyname_r (License): Likewise.
40027 2011-10-19  Jim Meyering  <meyering@redhat.com>
40029         posix_openpt: remove spurious #endif
40030         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
40032 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
40034         maint.mk: Respect $(build_aux) in web-manual rule.
40035         * top/maint.mk (web-manual): Find gen-announce script in user's
40036         $(build_aux) directory instead of hard-coding 'build-aux'.
40038 2011-10-19  Bruno Haible  <bruno@clisp.org>
40040         posix_openpt: Fix compilation error.
40041         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
40042         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
40043         Mention the openpty module as an alternative.
40045 2011-10-19  Bruno Haible  <bruno@clisp.org>
40047         Support for old NeXTstep 3.3 frexp().
40048         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
40049         execution time of the test to 5 seconds.
40050         Reported by Daniel Richard G. <skunk@iskunk.org>.
40052 2011-10-19  Bruno Haible  <bruno@clisp.org>
40054         Support for old NeXTstep 3.3 sed.
40055         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
40056         part, use /.../, not \|...|. Escape periods in the header file name.
40057         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
40058         Reported by Daniel Richard G. <skunk@iskunk.org>.
40060 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
40062         Support for old NeXTstep 3.3 gcc.
40063         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
40064         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
40065         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
40066         * lib/spawn.in.h (_Restrict_arr_): Likewise.
40067         * lib/regex.h (_Restrict_arr_): Likewise.
40068         * lib/regex_internal.h (re_token_t): Likewise.
40069         * lib/regexec.c (check_node_accept_bytes): Likewise.
40070         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
40072 2011-10-18  Eric Blake  <eblake@redhat.com>
40074         posix_openpt: new module
40075         * modules/posix_openpt: New module.
40076         * m4/posix_openpt.m4: New file.
40077         * lib/posix_openpt.c: Likewise.
40078         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
40079         (gl_STDLIB_H_DEFAULTS): Set defaults.
40080         * modules/stdlib (Makefile.am): Substitute macros.
40081         * lib/stdlib.in.h (posix_openpt): Declare.
40082         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
40083         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
40084         * modules/posix_openpt-tests: New test module.
40085         * tests/test-posix_openpt.c: New test.
40087 2011-10-15  Bruno Haible  <bruno@clisp.org>
40089         xstrtoll: Fix compilation failure.
40090         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
40091         from lib/strtol.c.
40092         * doc/posix-headers/limits.texi: Mention missing numerical limits on
40093         some platforms.
40094         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40096 2011-10-15  Bruno Haible  <bruno@clisp.org>
40098         vasnprintf: Optimize bit search operation.
40099         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
40100         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
40101         gl_DOUBLE_EXPONENT_LOCATION.
40102         * modules/vasnprintf (Files): Add m4/exponentd.m4.
40103         * modules/unistdio/u8-vasnprintf (Files): Likewise.
40104         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
40105         * modules/unistdio/u16-vasnprintf (Files): Likewise.
40106         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
40107         * modules/unistdio/u32-vasnprintf (Files): Likewise.
40108         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
40109         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
40110         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
40112 2011-10-15  Bruno Haible  <bruno@clisp.org>
40114         vasnprintf: Fix comments.
40115         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
40117 2011-10-14  Bruno Haible  <bruno@clisp.org>
40119         Tests for module 'integer_length_ll'.
40120         * modules/integer_length_ll-tests: New file.
40121         * tests/test-integer_length_ll.c: New file.
40123         New module 'integer_length_ll'.
40124         * lib/integer_length_ll.c: New file.
40125         * modules/integer_length_ll: New file.
40127 2011-10-14  Bruno Haible  <bruno@clisp.org>
40129         Tests for module 'integer_length_l'.
40130         * modules/integer_length_l-tests: New file.
40131         * tests/test-integer_length_l.c: New file.
40133         New module 'integer_length_l'.
40134         * lib/integer_length_l.c: New file.
40135         * modules/integer_length_l: New file.
40137 2011-10-14  Bruno Haible  <bruno@clisp.org>
40139         Tests for module 'integer_length'.
40140         * modules/integer_length-tests: New file.
40141         * tests/test-integer_length.c: New file.
40143         New module 'integer_length'.
40144         * lib/integer_length.h: New file.
40145         * lib/integer_length.c: New file.
40146         * modules/integer_length: New file.
40148 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
40150         popen: Fix dependency conditions.
40151         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
40153 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
40155         perror: Fix autoconf test.
40156         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
40157         <stdlib.h> and <string.h>.
40159 2011-10-14  Bruno Haible  <bruno@clisp.org>
40161         ffsl: Optimize on 64-bit platforms.
40162         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
40163         unrolling.
40165 2011-10-13  Bruno Haible  <bruno@clisp.org>
40167         ffsl: Optimize on 32-bit platforms.
40168         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
40169         use ffs() without a loop.
40171         ffsl, ffsll: Optimize for GCC.
40172         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
40173         * lib/ffsl.c (GCC_BUILTIN): New macro.
40174         * lib/ffsll.c (GCC_BUILTIN): Likewise.
40176 2011-10-13  Bruno Haible  <bruno@clisp.org>
40178         ffs, bcopy, memset: Support symbol renaming via config.h.
40179         * lib/ffs.c: Include <config.h>.
40180         * lib/bcopy.c: Likewise.
40181         * lib/memset.c: Likewise.
40183 2011-10-10  Bruno Haible  <bruno@clisp.org>
40185         atanl: Simplify for platforms where 'long double' == 'double'.
40186         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40187         alternative implementation.
40188         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40189         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40190         * modules/atanl (Depends-on): Add atan. Update conditions.
40192 2011-10-10  Bruno Haible  <bruno@clisp.org>
40194         acosl: Simplify for platforms where 'long double' == 'double'.
40195         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40196         alternative implementation.
40197         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40198         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40199         * modules/acosl (Depends-on): Add acos. Update conditions.
40201 2011-10-10  Bruno Haible  <bruno@clisp.org>
40203         asinl: Simplify for platforms where 'long double' == 'double'.
40204         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40205         alternative implementation.
40206         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40207         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40208         * modules/asinl (Depends-on): Add asin. Update conditions.
40210 2011-10-10  Bruno Haible  <bruno@clisp.org>
40212         tanl: Simplify for platforms where 'long double' == 'double'.
40213         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
40214         implementation.
40215         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40216         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40217         * modules/tanl (Depends-on): Add tan. Update conditions.
40218         (configure.ac): Don't compile trigl.c if
40219         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40221 2011-10-10  Bruno Haible  <bruno@clisp.org>
40223         cosl: Simplify for platforms where 'long double' == 'double'.
40224         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
40225         implementation.
40226         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40227         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40228         * modules/cosl (Depends-on): Add cos. Update conditions.
40229         (configure.ac): Don't compile sincosl.c and trigl.c if
40230         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40232 2011-10-10  Bruno Haible  <bruno@clisp.org>
40234         sinl: Simplify for platforms where 'long double' == 'double'.
40235         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
40236         implementation.
40237         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40238         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40239         * modules/sinl (Depends-on): Add sin. Update conditions.
40240         (configure.ac): Don't compile sincosl.c and trigl.c if
40241         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40243 2011-10-10  Bruno Haible  <bruno@clisp.org>
40245         logl: Simplify for platforms where 'long double' == 'double'.
40246         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
40247         implementation.
40248         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40249         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40250         * modules/logl (Depends-on): Add log. Update conditions.
40252 2011-10-10  Bruno Haible  <bruno@clisp.org>
40254         expl: Simplify for platforms where 'long double' == 'double'.
40255         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
40256         implementation.
40257         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40258         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40259         * modules/expl (Depends-on): Add exp. Update conditions.
40261 2011-10-10  Bruno Haible  <bruno@clisp.org>
40263         sqrtl: Simplify for platforms where 'long double' == 'double'.
40264         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40265         alternative implementation.
40266         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40267         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40268         * modules/sqrtl (Depends-on): Update conditions.
40270 2011-10-10  Bruno Haible  <bruno@clisp.org>
40272         ldexpl: Simplify for platforms where 'long double' == 'double'.
40273         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40274         alternative implementation.
40275         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40276         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40277         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
40279 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
40281         ffsll: set correct witness
40282         * modules/ffsll (configure.ac): Fix typo.
40284 2011-10-10  Bruno Haible  <bruno@clisp.org>
40286         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
40287         * lib/printf-frexpl.c: Include <config.h>.
40288         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40289         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
40290         second time.
40291         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
40292         gl_LONG_DOUBLE_VS_DOUBLE.
40293         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
40294         conditions.
40296 2011-10-10  Bruno Haible  <bruno@clisp.org>
40298         frexpl: Simplify for platforms where 'long double' == 'double'.
40299         * lib/frexpl.c: Include <config.h>.
40300         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40301         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40302         time.
40303         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40304         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40305         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
40306         * modules/frexpl (Depends-on): Add frexp. Update conditions.
40307         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
40308         conditions.
40310 2011-10-10  Jim Meyering  <meyering@redhat.com>
40312         test-renameat: don't leave behind a temporary file
40313         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
40314           ERROR: files left in build directory after distclean:
40315           ./gltests/test-renameat.too
40316           make[1]: *** [distcleancheck] Error 1
40317         Reported by Tom G. Christensen.
40319 2011-10-09  Bruno Haible  <bruno@clisp.org>
40321         rint: Determine RINT_LIBM correctly on AIX 7.
40322         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
40323         directly, not only through a function pointer. Also accept an optional
40324         4th argument with extra code.
40325         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
40326         rintf() call by gcc when optimizing.
40328         mathfunc.m4: Refactor.
40329         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
40330         m4 variable.
40332 2011-10-09  Bruno Haible  <bruno@clisp.org>
40334         rintl: Simplify for platforms where 'long double' == 'double'.
40335         * lib/rintl.c: Include <config.h>.
40336         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40337         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40338         time.
40339         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40340         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40341         * modules/rintl (Depends-on): Add rint. Update conditions.
40343 2011-10-09  Bruno Haible  <bruno@clisp.org>
40345         roundl: Simplify for platforms where 'long double' == 'double'.
40346         * lib/roundl.c: Include <config.h>.
40347         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40348         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40349         time.
40350         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40351         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40352         * modules/roundl (Depends-on): Add round. Update conditions.
40354 2011-10-09  Bruno Haible  <bruno@clisp.org>
40356         truncl: Simplify for platforms where 'long double' == 'double'.
40357         * lib/truncl.c: Include <config.h>.
40358         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40359         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40360         time.
40361         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40362         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40363         * modules/truncl (Depends-on): Add trunc. Update conditions.
40365 2011-10-09  Bruno Haible  <bruno@clisp.org>
40367         ceill: Simplify for platforms where 'long double' == 'double'.
40368         * lib/ceill.c: Include <config.h>.
40369         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40370         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40371         time.
40372         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40373         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40374         * modules/ceill (Depends-on): Add ceil. Update conditions.
40376 2011-10-09  Bruno Haible  <bruno@clisp.org>
40378         floorl: Simplify for platforms where 'long double' == 'double'.
40379         * lib/floorl.c: Include <config.h>.
40380         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
40381         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
40382         time.
40383         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40384         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40385         * modules/floorl (Depends-on): Add floor. Update conditions.
40387 2011-10-09  Bruno Haible  <bruno@clisp.org>
40389         rint: Fix ordering constraints.
40390         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
40391         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
40392         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
40394 2011-10-09  Bruno Haible  <bruno@clisp.org>
40396         copysignl: Simplify for platforms where 'long double' == 'double'.
40397         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
40398         alternative.
40399         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40400         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
40401         * modules/copysignl (Depends-on): Add copysign. Update conditions.
40403 2011-10-09  Bruno Haible  <bruno@clisp.org>
40405         Tests for module 'rintl'.
40406         * modules/rintl-tests: New file.
40407         * tests/test-rintl.c: New file.
40409         New module 'rintl'.
40410         * lib/math.in.h (rintl): New declaration.
40411         * lib/rintl.c: New file.
40412         * m4/rintl.m4: New file.
40413         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
40414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
40415         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
40416         * modules/rintl: New file.
40417         * tests/test-math-c++.cc: Check the declaration of rintl.
40418         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
40419         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
40420         * doc/posix-functions/rintl.texi: Mention the new module.
40422 2011-10-09  Bruno Haible  <bruno@clisp.org>
40424         Tests for module 'rintf'.
40425         * modules/rintf-tests: New file.
40426         * tests/test-rintf.c: New file.
40428         New module 'rintf'.
40429         * lib/math.in.h (rintf): New declaration.
40430         * lib/rintf.c: New file.
40431         * m4/rintf.m4: New file.
40432         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
40433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
40434         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
40435         * modules/rintf: New file.
40436         * tests/test-math-c++.cc: Check the declaration of rintf.
40437         * doc/posix-functions/rintf.texi: Mention the new module.
40439 2011-10-09  Bruno Haible  <bruno@clisp.org>
40441         rint: Support for MSVC.
40442         * lib/math.in.h (rint): New declaration.
40443         * lib/rint.c: New file.
40444         * m4/rint.m4: New file.
40445         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
40446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
40447         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
40448         * modules/rint (Description): Fix.
40449         (Files): Add lib/rint.c, m4/rint.m4.
40450         (Depends-on): Add math.
40451         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
40452         gl_MATH_MODULE_INDICATOR.
40453         * tests/test-math-c++.cc: Check the declaration of rint.
40454         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
40455         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
40456         * doc/posix-functions/rint.texi: Mention the replacement provided by
40457         the module.
40459         rint tests: More tests.
40460         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
40461         minus-zero.h, infinity.h, nan.h.
40462         (main): Skip the test if the current rounding mode is not standard. Add
40463         tests for negative numbers, minus zero, infinity, NaN.
40464         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
40465         tests/nan.h.
40466         (Depends-on): Add isnand-nolibm.
40468 2011-10-09  Bruno Haible  <bruno@clisp.org>
40470         Tests for module 'copysignl'.
40471         * modules/copysignl-tests: New file.
40472         * tests/test-copysignl.c: New file.
40474         New module 'copysignl'.
40475         * lib/math.in.h (copysignl): New declaration.
40476         * lib/copysignl.c: New file.
40477         * m4/copysignl.m4: New file.
40478         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
40479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
40480         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
40481         HAVE_COPYSIGNL.
40482         * modules/copysignl: New file.
40483         * tests/test-math-c++.cc: Check the declaration of copysignl.
40484         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
40485         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
40486         * doc/posix-functions/copysignl.texi: Mention the new module.
40488 2011-10-09  Bruno Haible  <bruno@clisp.org>
40490         Tests for module 'copysignf'.
40491         * modules/copysignf-tests: New file.
40492         * tests/test-copysignf.c: New file.
40494         New module 'copysignf'.
40495         * lib/math.in.h (copysignf): New declaration.
40496         * lib/copysignf.c: New file.
40497         * m4/copysignf.m4: New file.
40498         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
40499         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
40500         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
40501         HAVE_COPYSIGNF.
40502         * modules/copysignf: New file.
40503         * tests/test-math-c++.cc: Check the declaration of copysignf.
40504         * doc/posix-functions/copysignf.texi: Mention the new module.
40506 2011-10-09  Bruno Haible  <bruno@clisp.org>
40508         Ensure that HAVE_* variables are set to 1 before they are set to 0.
40509         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
40510         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
40511         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
40512         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
40513         gl_SIGNAL_H_DEFAULTS.
40515 2011-10-09  Bruno Haible  <bruno@clisp.org>
40517         poll: Make macro safer.
40518         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
40519         ac_cv_header_poll_h is not set.
40521 2011-10-09  Bruno Haible  <bruno@clisp.org>
40523         copysign: Provide replacement.
40524         * lib/math.in.h (copysign): New declaration.
40525         * lib/copysign.c: New file.
40526         * m4/copysign.m4: New file.
40527         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
40528         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
40529         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
40530         HAVE_COPYSIGN.
40531         * modules/copysign (Description): Clarify.
40532         (Files): Add lib/copysign.c, m4/copysign.m4.
40533         (Depends-on): Add math, signbit.
40534         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
40535         gl_MATH_MODULE_INDICATOR.
40536         * tests/test-math-c++.cc: Check the declaration of copysign.
40537         * doc/posix-functions/copysign.texi: Mention the effects of the module
40538         on Minix and MSVC.
40540 2011-10-09  Bruno Haible  <bruno@clisp.org>
40542         isinf: Ensure macro on AIX 5.1.
40543         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
40544         macro.
40545         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
40547 2011-10-09  Bruno Haible  <bruno@clisp.org>
40549         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
40550         * modules/snprintf-posix-tests (configure.ac): Require
40551         gl_LONG_DOUBLE_VS_DOUBLE.
40552         * modules/sprintf-posix-tests (configure.ac): Likewise.
40553         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
40554         * modules/vasprintf-posix-tests (configure.ac): Likewise.
40555         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
40556         * modules/vsprintf-posix-tests (configure.ac): Likewise.
40557         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
40558         tests on platforms where 'long double' is the same as 'double'.
40559         * tests/test-sprintf-posix.h (test_function): Likewise.
40560         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40561         * tests/test-vasprintf-posix.c (test_function): Likewise.
40563         *printf: Fix for platforms where 'long double' == 'double'.
40564         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
40565         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
40566         * modules/dprintf-posix (Files): Add m4/math_h.m4.
40567         * modules/fprintf-posix (Files): Likewise.
40568         * modules/obstack-printf-posix (Files): Likewise.
40569         * modules/snprintf-posix (Files): Likewise.
40570         * modules/sprintf-posix (Files): Likewise.
40571         * modules/vasnprintf (Files): Likewise.
40572         * modules/vasnprintf-posix (Files): Likewise.
40573         * modules/vasprintf-posix (Files): Likewise.
40574         * modules/vdprintf-posix (Files): Likewise.
40575         * modules/vfprintf-posix (Files): Likewise.
40576         * modules/vsnprintf-posix (Files): Likewise.
40577         * modules/vsprintf-posix (Files): Likewise.
40578         * modules/unistdio/u8-vasnprintf (Files): Likewise.
40579         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
40580         * modules/unistdio/u16-vasnprintf (Files): Likewise.
40581         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
40582         * modules/unistdio/u32-vasnprintf (Files): Likewise.
40583         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
40584         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
40586         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
40587         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
40588         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
40589         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
40590         'long double'.
40591         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
40593         isinf: Fix for platforms where 'long double' == 'double'.
40594         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
40595         Don't blindly assume 80-bit 'long double'.
40597         isfinite: Fix for platforms where 'long double' == 'double'.
40598         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
40599         Don't blindly assume 80-bit 'long double'.
40601         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
40602         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
40603         * modules/isfinite-tests (configure.ac): Require
40604         gl_LONG_DOUBLE_VS_DOUBLE.
40605         * modules/isinf-tests (configure.ac): Likewise.
40606         * modules/isnan-tests (configure.ac): Likewise.
40607         * modules/isnanl-tests (configure.ac): Likewise.
40608         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
40609         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
40610         tests on platforms where 'long double' is the same as 'double'.
40611         * tests/test-isinf.c (test_isinfl): Likewise.
40612         * tests/test-isnan.c (test_long_double): Likewise.
40613         * tests/test-isnanl.h (main): Likewise.
40615 2011-10-08  Bruno Haible  <bruno@clisp.org>
40617         Tests for module 'tanhf'.
40618         * modules/tanhf-tests: New file.
40619         * tests/test-tanhf.c: New file.
40621         New module 'tanhf'.
40622         * lib/math.in.h (tanhf): New declaration.
40623         * lib/tanhf.c: New file.
40624         * m4/tanhf.m4: New file.
40625         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
40626         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
40627         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
40628         * modules/tanhf: New file.
40629         * tests/test-math-c++.cc: Check the declaration of tanhf.
40630         * doc/posix-functions/tanhf.texi: Mention the new module.
40632         tanh: Use a .m4 file.
40633         * m4/tanh.m4: New file.
40634         * modules/tanh (Files): Add it.
40635         (configure.ac): Just invoke gl_FUNC_TANH.
40637 2011-10-08  Bruno Haible  <bruno@clisp.org>
40639         Tests for module 'coshf'.
40640         * modules/coshf-tests: New file.
40641         * tests/test-coshf.c: New file.
40643         New module 'coshf'.
40644         * lib/math.in.h (coshf): New declaration.
40645         * lib/coshf.c: New file.
40646         * m4/coshf.m4: New file.
40647         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
40648         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
40649         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
40650         * modules/coshf: New file.
40651         * tests/test-math-c++.cc: Check the declaration of coshf.
40652         * doc/posix-functions/coshf.texi: Mention the new module.
40654         cosh: Use a .m4 file.
40655         * m4/cosh.m4: New file.
40656         * modules/cosh (Files): Add it.
40657         (configure.ac): Just invoke gl_FUNC_COSH.
40659 2011-10-08  Bruno Haible  <bruno@clisp.org>
40661         Tests for module 'sinhf'.
40662         * modules/sinhf-tests: New file.
40663         * tests/test-sinhf.c: New file.
40665         New module 'sinhf'.
40666         * lib/math.in.h (sinhf): New declaration.
40667         * lib/sinhf.c: New file.
40668         * m4/sinhf.m4: New file.
40669         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
40670         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
40671         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
40672         * modules/sinhf: New file.
40673         * tests/test-math-c++.cc: Check the declaration of sinhf.
40674         * doc/posix-functions/sinhf.texi: Mention the new module.
40676         sinh: Use a .m4 file.
40677         * m4/sinh.m4: New file.
40678         * modules/sinh (Files): Add it.
40679         (configure.ac): Just invoke gl_FUNC_SINH.
40681 2011-10-08  Bruno Haible  <bruno@clisp.org>
40683         Tests for module 'atan2f'.
40684         * modules/atan2f-tests: New file.
40685         * tests/test-atan2f.c: New file.
40687         New module 'atan2f'.
40688         * lib/math.in.h (atan2f): New declaration.
40689         * lib/atan2f.c: New file.
40690         * m4/atan2f.m4: New file.
40691         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
40692         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
40693         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
40694         * modules/atan2f: New file.
40695         * tests/test-math-c++.cc: Check the declaration of atan2f.
40696         * doc/posix-functions/atan2f.texi: Mention the new module.
40698         atan2: Use a .m4 file.
40699         * m4/atan2.m4: New file.
40700         * modules/atan2 (Files): Add it.
40701         (configure.ac): Just invoke gl_FUNC_ATAN2.
40703 2011-10-08  Bruno Haible  <bruno@clisp.org>
40705         Tests for module 'atanf'.
40706         * modules/atanf-tests: New file.
40707         * tests/test-atanf.c: New file.
40709         New module 'atanf'.
40710         * lib/math.in.h (atanf): New declaration.
40711         * lib/atanf.c: New file.
40712         * m4/atanf.m4: New file.
40713         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
40714         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
40715         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
40716         * modules/atanf: New file.
40717         * tests/test-math-c++.cc: Check the declaration of atanf.
40718         * doc/posix-functions/atanf.texi: Mention the new module.
40720         atan: Use a .m4 file.
40721         * m4/atan.m4: New file.
40722         * modules/atan (Files): Add it.
40723         (configure.ac): Just invoke gl_FUNC_ATAN.
40725 2011-10-08  Bruno Haible  <bruno@clisp.org>
40727         Tests for module 'acosf'.
40728         * modules/acosf-tests: New file.
40729         * tests/test-acosf.c: New file.
40731         New module 'acosf'.
40732         * lib/math.in.h (acosf): New declaration.
40733         * lib/acosf.c: New file.
40734         * m4/acosf.m4: New file.
40735         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
40736         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
40737         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
40738         * modules/acosf: New file.
40739         * tests/test-math-c++.cc: Check the declaration of acosf.
40740         * doc/posix-functions/acosf.texi: Mention the new module.
40742         acos: Use a .m4 file.
40743         * m4/acos.m4: New file.
40744         * modules/acos (Files): Add it.
40745         (configure.ac): Just invoke gl_FUNC_ACOS.
40747 2011-10-08  Bruno Haible  <bruno@clisp.org>
40749         Tests for module 'asinf'.
40750         * modules/asinf-tests: New file.
40751         * tests/test-asinf.c: New file.
40753         New module 'asinf'.
40754         * lib/math.in.h (asinf): New declaration.
40755         * lib/asinf.c: New file.
40756         * m4/asinf.m4: New file.
40757         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
40758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
40759         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
40760         * modules/asinf: New file.
40761         * tests/test-math-c++.cc: Check the declaration of asinf.
40762         * doc/posix-functions/asinf.texi: Mention the new module.
40764         asin: Use a .m4 file.
40765         * m4/asin.m4: New file.
40766         * modules/asin (Files): Add it.
40767         (configure.ac): Just invoke gl_FUNC_ASIN.
40769 2011-10-08  Bruno Haible  <bruno@clisp.org>
40771         Tests for module 'tanf'.
40772         * modules/tanf-tests: New file.
40773         * tests/test-tanf.c: New file.
40775         New module 'tanf'.
40776         * lib/math.in.h (tanf): New declaration.
40777         * lib/tanf.c: New file.
40778         * m4/tanf.m4: New file.
40779         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
40780         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
40781         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
40782         * modules/tanf: New file.
40783         * tests/test-math-c++.cc: Check the declaration of tanf.
40784         * doc/posix-functions/tanf.texi: Mention the new module.
40786         tan: Use a .m4 file.
40787         * m4/tan.m4: New file.
40788         * modules/tan (Files): Add it.
40789         (configure.ac): Just invoke gl_FUNC_TAN.
40791 2011-10-08  Bruno Haible  <bruno@clisp.org>
40793         Tests for module 'cosf'.
40794         * modules/cosf-tests: New file.
40795         * tests/test-cosf.c: New file.
40797         New module 'cosf'.
40798         * lib/math.in.h (cosf): New declaration.
40799         * lib/cosf.c: New file.
40800         * m4/cosf.m4: New file.
40801         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
40802         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
40803         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
40804         * modules/cosf: New file.
40805         * tests/test-math-c++.cc: Check the declaration of cosf.
40806         * doc/posix-functions/cosf.texi: Mention the new module.
40808         cos: Use a .m4 file.
40809         * m4/cos.m4: New file.
40810         * modules/cos (Files): Add it.
40811         (configure.ac): Just invoke gl_FUNC_COS.
40813 2011-10-08  Bruno Haible  <bruno@clisp.org>
40815         Tests for module 'sinf'.
40816         * modules/sinf-tests: New file.
40817         * tests/test-sinf.c: New file.
40819         New module 'sinf'.
40820         * lib/math.in.h (sinf): New declaration.
40821         * lib/sinf.c: New file.
40822         * m4/sinf.m4: New file.
40823         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
40824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
40825         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
40826         * modules/sinf: New file.
40827         * tests/test-math-c++.cc: Check the declaration of sinf.
40828         * doc/posix-functions/sinf.texi: Mention the new module.
40830         sin: Use a .m4 file.
40831         * m4/sin.m4: New file.
40832         * modules/sin (Files): Add it.
40833         (configure.ac): Just invoke gl_FUNC_SIN.
40835 2011-10-08  Bruno Haible  <bruno@clisp.org>
40837         Tests for module 'powf'.
40838         * modules/powf-tests: New file.
40839         * tests/test-powf.c: New file.
40841         New module 'powf'.
40842         * lib/math.in.h (powf): New declaration.
40843         * lib/powf.c: New file.
40844         * m4/powf.m4: New file.
40845         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
40846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
40847         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
40848         * modules/powf: New file.
40849         * tests/test-math-c++.cc: Check the declaration of powf.
40850         * doc/posix-functions/powf.texi: Mention the new module.
40852         pow: Use a .m4 file.
40853         * m4/pow.m4: New file.
40854         * modules/pow (Files): Add it.
40855         (configure.ac): Just invoke gl_FUNC_POW.
40857 2011-10-08  Bruno Haible  <bruno@clisp.org>
40859         Tests for module 'log10f'.
40860         * modules/log10f-tests: New file.
40861         * tests/test-log10f.c: New file.
40863         New module 'log10f'.
40864         * lib/math.in.h (log10f): New declaration.
40865         * lib/log10f.c: New file.
40866         * m4/log10f.m4: New file.
40867         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
40868         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
40869         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
40870         * modules/log10f: New file.
40871         * tests/test-math-c++.cc: Check the declaration of log10f.
40872         * doc/posix-functions/log10f.texi: Mention the new module.
40874         log10: Use a .m4 file.
40875         * m4/log10.m4: New file.
40876         * modules/log10 (Files): Add it.
40877         (configure.ac): Just invoke gl_FUNC_LOG10.
40879 2011-10-08  Bruno Haible  <bruno@clisp.org>
40881         Tests for module 'logf'.
40882         * modules/logf-tests: New file.
40883         * tests/test-logf.c: New file.
40885         New module 'logf'.
40886         * lib/math.in.h (logf): New declaration.
40887         * lib/logf.c: New file.
40888         * m4/logf.m4: New file.
40889         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
40890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
40891         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
40892         * modules/logf: New file.
40893         * tests/test-math-c++.cc: Check the declaration of logf.
40894         * doc/posix-functions/logf.texi: Mention the new module.
40896         log: Use a .m4 file.
40897         * m4/log.m4: New file.
40898         * modules/log (Files): Add it.
40899         (configure.ac): Just invoke gl_FUNC_LOG.
40901 2011-10-08  Bruno Haible  <bruno@clisp.org>
40903         Tests for module 'expf'.
40904         * modules/expf-tests: New file.
40905         * tests/test-expf.c: New file.
40907         New module 'expf'.
40908         * lib/math.in.h (expf): New declaration.
40909         * lib/expf.c: New file.
40910         * m4/expf.m4: New file.
40911         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
40912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
40913         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
40914         * modules/expf: New file.
40915         * tests/test-math-c++.cc: Check the declaration of expf.
40916         * doc/posix-functions/expf.texi: Mention the new module.
40918         exp: Use a .m4 file.
40919         * m4/exp.m4: New file.
40920         * modules/exp (Files): Add it.
40921         (configure.ac): Just invoke gl_FUNC_EXP.
40923 2011-10-08  Bruno Haible  <bruno@clisp.org>
40925         Tests for module 'sqrtf'.
40926         * modules/sqrtf-tests: New file.
40927         * tests/test-sqrtf.c: New file.
40929         New module 'sqrtf'.
40930         * lib/math.in.h (sqrtf): New declaration.
40931         * lib/sqrtf.c: New file.
40932         * m4/sqrtf.m4: New file.
40933         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
40934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
40935         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
40936         * modules/sqrtf: New file.
40937         * tests/test-math-c++.cc: Check the declaration of sqrtf.
40938         * doc/posix-functions/sqrtf.texi: Mention the new module.
40940 2011-10-08  Bruno Haible  <bruno@clisp.org>
40942         Tests: Avoid link failures w.r.t. libintl.
40943         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
40944         $(LIBINTL).
40945         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
40946         $(LIBINTL).
40947         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
40948         against $(LIBINTL).
40949         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
40950         $(LIBINTL).
40951         * modules/openat-tests (Makefile.am): Link test-fchmodat against
40952         $(LIBINTL).
40953         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
40955 2011-10-08  Bruno Haible  <bruno@clisp.org>
40957         pow tests: Defeat compiler optimizations.
40958         * tests/test-pow.c (main): Assign arguments to x and y before use.
40960 2011-10-08  Bruno Haible  <bruno@clisp.org>
40962         gnulib-tool: Improve last commit.
40963         * gnulib-tool (func_modules_transitive_closure): Simplify code.
40964         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
40965         ignore dependencies that are not among the modules list.
40967 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
40969         gnulib-tool: don't follow dependencies to avoided modules
40970         This fixes a bug that is related to the previous one.
40971         * gnulib-tool (func_modules_transitive_closure)
40972         (func_emit_autoconf_snippets):
40973         Check whether a dependency is acceptable before using it.
40974         (--extract-dependencies): Report an error if --avoid is also used,
40975         since this combination of options is not yet supported.
40977         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
40978         Problem reported by Peter Dyballa in
40979         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
40980         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
40981         when echoing "$condition".
40983 2011-10-07  Bruno Haible  <bruno@clisp.org>
40985         Fix documentation about math functions on MacOS X.
40986         * doc/posix-functions/exp2.texi: Don't say the function is missing on
40987         MacOS X 10.5.
40988         * doc/posix-functions/fdim.texi: Likewise.
40989         * doc/posix-functions/feclearexcept.texi: Likewise.
40990         * doc/posix-functions/fegetenv.texi: Likewise.
40991         * doc/posix-functions/fegetround.texi: Likewise.
40992         * doc/posix-functions/feholdexcept.texi: Likewise.
40993         * doc/posix-functions/feraiseexcept.texi: Likewise.
40994         * doc/posix-functions/fesetenv.texi: Likewise.
40995         * doc/posix-functions/fesetround.texi: Likewise.
40996         * doc/posix-functions/fetestexcept.texi: Likewise.
40997         * doc/posix-functions/feupdateenv.texi: Likewise.
40998         * doc/posix-functions/fmax.texi: Likewise.
40999         * doc/posix-functions/fmin.texi: Likewise.
41000         * doc/posix-functions/log2.texi: Likewise.
41001         * doc/posix-functions/modff.texi: Likewise.
41002         * doc/posix-functions/nan.texi: Likewise.
41003         * doc/posix-functions/nanf.texi: Likewise.
41004         * doc/posix-functions/nextafterf.texi: Likewise.
41005         * doc/posix-functions/remquo.texi: Likewise.
41007 2011-10-07  Bruno Haible  <bruno@clisp.org>
41009         modff: Drop assumption about library that defines modff.
41010         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
41011         AC_CHECK_FUNCS.
41012         * modules/modff (Files): Add m4/mathfunc.m4.
41014 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
41016         raise tests: Avoid a GCC warning.
41017         * tests/test-raise.c (handler): Use _Noreturn.
41019 2011-10-07  Bruno Haible  <bruno@clisp.org>
41021         Tests for module 'ldexpf'.
41022         * modules/ldexpf-tests: New file.
41023         * tests/test-ldexpf.c: New file.
41025         New module 'ldexpf'.
41026         * lib/math.in.h (ldexpf): New declaration.
41027         * lib/ldexpf.c: New file.
41028         * m4/ldexpf.m4: New file.
41029         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
41030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
41031         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
41032         * modules/ldexpf: New file.
41033         * tests/test-math-c++.cc: Check the declaration of ldexpf.
41034         * doc/posix-functions/ldexpf.texi: Mention the new module.
41036 2011-10-06  Bruno Haible  <bruno@clisp.org>
41038         frexpf: Work around problems on IRIX and mingw.
41039         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
41040         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
41041         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
41042         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
41043         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
41044         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
41045         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
41047 2011-10-06  Bruno Haible  <bruno@clisp.org>
41049         fabsf: Drop assumption about library that defines fabsf.
41050         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
41051         AC_CHECK_FUNCS.
41052         * modules/fabsf (Files): Add m4/mathfunc.m4.
41054 2011-10-06  Bruno Haible  <bruno@clisp.org>
41056         frexpf: Drop assumption about library that defines frexpf.
41057         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
41058         'int *', 'float *', 'long double *', 'float', 'long double'.
41059         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
41060         AC_CHECK_FUNCS.
41061         * modules/frexpf (Files): Add m4/mathfunc.m4.
41063         Tests for module 'frexpf'.
41064         * modules/frexpf-tests: New file.
41065         * tests/test-frexpf.c: New file.
41067         New module 'frexpf'.
41068         * lib/math.in.h (frexpf): New declaration.
41069         * lib/frexpf.c: New file.
41070         * m4/frexpf.m4: New file.
41071         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
41072         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
41073         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
41074         * modules/frexpf: New file.
41075         * tests/test-math-c++.cc: Check the declaration of frexpf.
41076         * doc/posix-functions/frexpf.texi: Mention the new module.
41078 2011-10-06  Bruno Haible  <bruno@clisp.org>
41080         math: Sort function declarations of math.in.h.
41081         * lib/math.in.h (frexp, logb): Move declarations.
41083 2011-10-05  Bruno Haible  <bruno@clisp.org>
41085         Tests for module 'modff'.
41086         * modules/modff-tests: New file.
41087         * tests/test-modff.c: New file.
41089         New module 'modff'.
41090         * lib/math.in.h (modff): New declaration.
41091         * lib/modff.c: New file.
41092         * m4/modff.m4: New file.
41093         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
41094         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
41095         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
41096         * modules/modff: New file.
41097         * tests/test-math-c++.cc: Check the declaration of modff.
41098         * doc/posix-functions/modff.texi: Mention the new module.
41100         modf tests: Make test sharper.
41101         * tests/test-modf.c (main): Strengthen upper bound.
41103         modf: Use a .m4 file.
41104         * m4/modf.m4: New file.
41105         * modules/modf (Files): Add it.
41106         (configure.ac): Just invoke gl_FUNC_MODF.
41108 2011-10-05  Bruno Haible  <bruno@clisp.org>
41110         Tests for module 'fmodf'.
41111         * modules/fmodf-tests: New file.
41112         * tests/test-fmodf.c: New file.
41114         New module 'fmodf'.
41115         * lib/math.in.h (fmodf): New declaration.
41116         * lib/fmodf.c: New file.
41117         * m4/fmodf.m4: New file.
41118         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
41119         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
41120         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
41121         * modules/fmodf: New file.
41122         * tests/test-math-c++.cc: Check the declaration of fmodf.
41123         * doc/posix-functions/fmodf.texi: Mention the new module.
41125         fmod: Use a .m4 file.
41126         * m4/fmod.m4: New file.
41127         * modules/fmod (Files): Add it.
41128         (configure.ac): Just invoke gl_FUNC_FMOD.
41130 2011-10-05  Bruno Haible  <bruno@clisp.org>
41132         Tests for module 'fabsf'.
41133         * modules/fabsf-tests: New file.
41134         * tests/test-fabsf.c: New file.
41136         New module 'fabsf'.
41137         * lib/math.in.h (fabsf): New declaration.
41138         * lib/fabsf.c: New file.
41139         * m4/fabsf.m4: New file.
41140         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
41141         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
41142         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
41143         * modules/fabsf: New file.
41144         * tests/test-math-c++.cc: Check the declaration of fabsf.
41145         * doc/posix-functions/fabsf.texi: Mention the new module.
41147         fabs: Use a .m4 file.
41148         * m4/fabs.m4: New file.
41149         * modules/fabs (Files): Add it.
41150         (configure.ac): Just invoke gl_FUNC_FABS.
41152 2011-10-05  Jim Meyering  <meyering@redhat.com>
41154         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
41155         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
41156         ls -lL regression introduced in coreutils-8.12, it does so at the
41157         cost of an additional stat call in the common case.  Besides, now
41158         that the kernel change that prompted commit 95f7c57f has been reverted
41159         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
41160         we have no use for commit 95f7c57f, "file-has-acl: use
41161         acl_extended_file_nofollow if available".
41163 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
41165         file-has-acl: revert unintended change in behavior of ls -L
41166         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
41167         derived from...
41168         (file_has_acl): ...code here.  Call it.
41169         This problem was introduced with 2011-07-22 commit 95f7c57f,
41170         "file-has-acl: use acl_extended_file_nofollow if available".
41171         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
41173 2011-10-03  Bruno Haible  <bruno@clisp.org>
41175         poll: Avoid link errors on MSVC.
41176         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
41177         * modules/poll (Depends-on): Add sockets.
41178         (Link): New section.
41179         * NEWS: Mention the change.
41180         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
41181         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
41182         $(LIB_POLL) instead of $(LIBSOCKET).
41184 2011-10-03  Bruno Haible  <bruno@clisp.org>
41186         sys_select tests: Fix link error on MSVC 9.
41187         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
41188         with $(LIB_SELECT) instead of $(LIBSOCKET).
41190 2011-10-03  Bruno Haible  <bruno@clisp.org>
41192         sys_select: Fix compilation error on mingw.
41193         * lib/sys_select.in.h: On native Windows, include <io.h>.
41195 2011-10-03  Bruno Haible  <bruno@clisp.org>
41197         wmemset: Support for MSVC.
41198         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
41199         whether wmemset() exists.
41201 2011-10-03  Bruno Haible  <bruno@clisp.org>
41203         wmemmove: Support for MSVC.
41204         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
41205         whether wmemmove() exists.
41207 2011-10-03  Bruno Haible  <bruno@clisp.org>
41209         wmemcpy: Support for MSVC.
41210         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
41211         whether wmemcpy() exists.
41213 2011-10-03  Bruno Haible  <bruno@clisp.org>
41215         wmemcmp: Support for MSVC.
41216         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
41217         whether wmemcmp() exists.
41219 2011-10-03  Bruno Haible  <bruno@clisp.org>
41221         wmemchr: Support for MSVC.
41222         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
41223         whether wmemchr() exists.
41225 2011-10-03  Bruno Haible  <bruno@clisp.org>
41227         glthread/*, strsignal: Support for MSVC.
41228         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
41229         including <winsock.h> on MSVC 9.
41230         * lib/glthread/lock.h: Likewise.
41231         * lib/glthread/thread.h: Likewise.
41232         * lib/glthread/tls.h: Likewise.
41233         * lib/glthread/yield.h: Likewise.
41234         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
41235         if HAVE_UNISTD_H is false.
41236         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
41238 2011-10-03  Bruno Haible  <bruno@clisp.org>
41240         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
41241         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
41242         Set to 100000.
41244 2011-10-03  Bruno Haible  <bruno@clisp.org>
41246         acl: Fix specification.
41247         * lib/file-has-acl.c (file_has_acl): Fix specification.
41249 2011-10-03  Bruno Haible  <bruno@clisp.org>
41251         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
41252         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
41253         (compute_curr_prefix, shared_library_fullname,
41254         find_shared_library_fullname, get_shared_library_fullname, relocate):
41255         Use it together with PIC && INSTALLDIR.
41256         Reported by <jojelino@gmail.com>
41257         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
41259 2011-10-01  Jim Meyering  <meyering@redhat.com>
41261         maint.mk: adjust a release-related rule not to require use of gzip
41262         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
41263         Instead, check each file in $(DIST_ARCHIVES).  This is better for
41264         projects that build only .tar.xz files.  Also fix an erroneous test.
41266         test-linkat: don't leave behind a temporary file
41267         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
41268         Otherwise, coreutils' "make distcheck" would fail with this:
41269           Only in /c/cu/tests/torture/coreutils/test/\
41270             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
41271           make[2]: *** [my-distcheck] Error 1
41273         float, math: add omitted file
41274         * lib/itold.c: Add file, required for yesterday's float change.
41276 2011-10-01  Bruno Haible  <bruno@clisp.org>
41278         isinf: Fix for OpenBSD/x86.
41279         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
41280         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
41281         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
41283 2011-10-01  Bruno Haible  <bruno@clisp.org>
41285         isfinite: Fix syntax error in configure test.
41286         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
41288         isfinite: Fix typo.
41289         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
41290         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
41292 2011-10-01  Bruno Haible  <bruno@clisp.org>
41294         nonblocking tests: Fix test failure on Linux/IA-64.
41295         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
41296         Set to 270000.
41298 2011-10-01  Bruno Haible  <bruno@clisp.org>
41300         mkfifoat tests: Fix a test failure on mingw.
41301         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
41302         with error ENOSYS.
41304 2011-09-30  Bruno Haible  <bruno@clisp.org>
41306         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
41307         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
41308         'long double'. Set REPLACE_ITOLD.
41309         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
41310         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
41311         * lib/itold.c: New file.
41312         * modules/float (Files): Add lib/itold.c.
41313         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
41314         (Makefile.am): Substitute REPLACE_ITOLD.
41315         * modules/math (Depends-on): Add float.
41316         (Makefile.am): Substitute REPLACE_ITOLD.
41317         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
41318         * doc/posix-headers/math.texi: Likewise.
41319         * doc/posix-functions/logl.texi: Likewise.
41321 2011-09-30  Bruno Haible  <bruno@clisp.org>
41323         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
41324         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
41325         Set to 140000.
41327 2011-09-30  Bruno Haible  <bruno@clisp.org>
41329         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
41330         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
41331         invocation, say "right after AC_PROG_CC_STDC", not "right after
41332         AC_PROG_CC".
41333         Reported by Gary V. Vaughan <gary@gnu.org>.
41335 2011-09-30  Bruno Haible  <bruno@clisp.org>
41337         Centralize C99 requirement.
41338         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
41339         * modules/stdarg (configure.ac-early): Invoke it instead of
41340         AC_PROG_CC_STDC.
41341         Reported by Gary V. Vaughan and Paul Eggert.
41343 2011-09-29  Bruno Haible  <bruno@clisp.org>
41345         float: Fix LDBL_MAX value on Linux/PowerPC.
41346         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
41347         on Linux/PowerPC.
41348         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
41349         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
41350         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
41351         platform.
41352         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
41354 2011-09-29  Bruno Haible  <bruno@clisp.org>
41356         doc: Improve doc about gl_EARLY.
41357         * doc/gnulib-tool.texi (Initial import): Mention where to place an
41358         AC_PROG_CC_STDC invocation.
41359         Reported by Gary V. Vaughan <gary@gnu.org>.
41361 2011-09-28  Bruno Haible  <bruno@clisp.org>
41363         fgetc, fputc, fread, fwrite tests: Fix link error.
41364         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
41365         on non-MSVC platforms.
41366         * tests/test-fputc.c (main): Likewise.
41367         * tests/test-fread.c (main): Likewise.
41368         * tests/test-fwrite.c (main): Likewise.
41369         Reported by Jim Meyering.
41371 2011-09-27  Bruno Haible  <bruno@clisp.org>
41373         fputc, fwrite tests: Avoid test failure on MSVC.
41374         * tests/test-fgetc.c: Include msvc-inval.h.
41375         (main): Invoke gl_msvc_inval_ensure_handler.
41376         * tests/test-fputc.c: Include msvc-inval.h.
41377         (main): Invoke gl_msvc_inval_ensure_handler.
41378         * tests/test-fread.c: Include msvc-inval.h.
41379         (main): Invoke gl_msvc_inval_ensure_handler.
41380         * tests/test-fwrite.c: Include msvc-inval.h.
41381         (main): Invoke gl_msvc_inval_ensure_handler.
41382         * modules/fgetc-tests (Depends-on): Add msvc-inval.
41383         * modules/fputc-tests (Depends-on): Likewise.
41384         * modules/fread-tests (Depends-on): Likewise.
41385         * modules/fwrite-tests (Depends-on): Likewise.
41387 2011-09-27  Bruno Haible  <bruno@clisp.org>
41389         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
41390         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
41391         (raise): Remove older, duplicated declaration.
41392         (_gl_raise_SIGPIPE): New declaration.
41393         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
41394         (rpl_raise): Remove function.
41395         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
41396         a gnulib-defined SIGPIPE here.
41397         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
41398         'sigprocmask' has detected missing signal-blocking and the module
41399         'sigpipe' is enabled.
41400         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
41402 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
41404         base64-tests: avoid memory leak
41405         * tests/test-base64.c (main): Plug memory leak.
41407         base32: new module
41408         * modules/base32: New module.
41409         * lib/base32.c: New file.
41410         * lib/base32.h: Likewise.
41411         * m4/base32.m4: Likewise.
41412         * modules/base32-tests: New test.
41413         * tests/test-base32.c: Likewise.
41414         * MODULES.html.sh (Misc): Mention it.
41416 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41418         gnulib: use more-standard license notice wording
41419         * gnulib-tool (func_emit_copyright_notice): When emitting a
41420         license notice into a file, use the standard wording as suggested
41421         by the current information for GNU maintainers, except say "file"
41422         rather than "program".  The new wording gives a license version
41423         number, which addresses an issue raised by Glenn Morris in
41424         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
41425         * m4/onceonly.m4: Use that same wording here, too.
41427         dup2: minor simplification
41428         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
41429         as lib/dup2.c no longer uses 'inline'.
41431 2011-09-25  Bruno Haible  <bruno@clisp.org>
41433         strings: Fix compilation error on MSVC.
41434         * lib/strings.in.h: Include <stddef.h> for size_t.
41436 2011-09-25  Bruno Haible  <bruno@clisp.org>
41438         fflush et al.: Document limitation on MSVC.
41439         * doc/posix-functions/fflush.texi: Document possible crash in handling
41440         mode other than DEFAULT_HANDLING.
41441         * doc/posix-functions/fgetc.texi: Likewise.
41442         * doc/posix-functions/fputc.texi: Likewise.
41443         * doc/posix-functions/fread.texi: Likewise.
41444         * doc/posix-functions/fwrite.texi: Likewise.
41446 2011-09-25  Bruno Haible  <bruno@clisp.org>
41448         msvc-inval: Allow three invalid parameter handling modes.
41449         * lib/msvc-inval.h: Don't include <stdlib.h> here.
41450         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
41451         macros.
41452         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
41453         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
41454         SANE_LIBRARY_HANDLING as a no-op.
41455         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
41456         <stdlib.h>.
41457         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
41459 2011-09-25  Bruno Haible  <bruno@clisp.org>
41461         msvc-inval: Make handler multithread-safe.
41462         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
41463         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
41464         declarations.
41465         (gl_msvc_inval_current): New declaration.
41466         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
41467         Operate on the structure returned by gl_msvc_inval_current().
41468         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
41469         Remove varaiables.
41470         (tls_index, tls_initialized): New variables.
41471         (not_per_thread): New variable.
41472         (gl_msvc_inval_current): New function.
41473         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
41474         returned by gl_msvc_inval_current().
41476 2011-09-25  Bruno Haible  <bruno@clisp.org>
41478         msvc-inval: Install handler globally.
41479         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
41480         !_MSC_VER.
41481         (gl_msvc_invalid_parameter_handler): Remove declaration.
41482         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
41483         declarations.
41484         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
41485         Install the handler globally, don't uninstall it.
41486         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
41487         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
41488         currently valid, call RaiseException instead.
41489         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
41490         for !_MSC_VER.
41492 2011-09-25  Bruno Haible  <bruno@clisp.org>
41494         strerror_r-posix: Fix for MSVC 9.
41495         * lib/strerror_r.c (local_snprintf): New function.
41496         (snprintf): Define to local_snprintf, not to _snprintf.
41498 2011-09-25  Bruno Haible  <bruno@clisp.org>
41500         ftruncate: Support for MSVC 9.
41501         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
41502         (chsize_nothrow): New function.
41503         (chsize): Redefine as a macro.
41504         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
41505         * modules/ftruncate (Depends-on): Add msvc-inval.
41507 2011-09-25  Bruno Haible  <bruno@clisp.org>
41509         New module 'fstat'.
41510         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
41511         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
41512         * lib/fchdir.c (rpl_fstat): Remove function.
41513         * m4/fstat.m4: New file.
41514         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
41515         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
41516         declared.
41517         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
41518         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
41519         * modules/fstat: New file.
41520         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
41521         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
41522         is set.
41523         * doc/posix-functions/fstat.texi: Mention the new module and the
41524         problem on MSVC.
41525         * NEWS: Mention the change.
41526         * modules/acl (Depends-on): Add fstat.
41527         * modules/chdir-safer (Depends-on): Likewise.
41528         * modules/chown (Depends-on): Likewise.
41529         * modules/copy-file (Depends-on): Likewise.
41530         * modules/fchdir (Depends-on): Likewise.
41531         * modules/fdopendir (Depends-on): Likewise.
41532         * modules/fopen (Depends-on): Likewise.
41533         * modules/fts (Depends-on): Likewise.
41534         * modules/getcwd (Depends-on): Likewise.
41535         * modules/isapipe (Depends-on): Likewise.
41536         * modules/linkat (Depends-on): Likewise.
41537         * modules/lseek (Depends-on): Likewise.
41538         * modules/mkdir-p (Depends-on): Likewise.
41539         * modules/open (Depends-on): Likewise.
41540         * modules/openat (Depends-on): Likewise.
41541         * modules/read-file (Depends-on): Likewise.
41542         * modules/renameat (Depends-on): Likewise.
41543         * modules/utimens (Depends-on): Likewise.
41545 2011-09-25  Bruno Haible  <bruno@clisp.org>
41547         linkat: Fix compilation on MSVC 9.
41548         * lib/linkat.c: Don't include <stdint.h>.
41550 2011-09-25  Bruno Haible  <bruno@clisp.org>
41552         fclose: Support for MSVC 9.
41553         * lib/fclose.c: Include msvc-inval.h.
41554         (fclose_nothrow): New function.
41555         (rpl_fclose): Use it.
41556         * modules/fclose (Depends-on): Add msvc-inval.
41557         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
41559 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41561         dup2: minor simplifications
41562         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
41563         that it's a performance win.
41564         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
41565         ! defined __CYGWIN__)" to "ifdef F_GETFL".
41567 2011-09-24  Jim Meyering  <meyering@redhat.com>
41569         test-futimens: avoid a warning from gcc -Wshadow
41570         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
41571         to avoid a shadowing warning.
41573 2011-09-24  Bruno Haible  <bruno@clisp.org>
41575         fdopen: Support for MSVC 9.
41576         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
41577         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
41578         * lib/fdopen.c: Include msvc-inval.h.
41579         (fdopen_nothrow): New function.
41580         (rpl_fdopen): Use it.
41581         * modules/fdopen (Depends-on): Add msvc-inval.
41582         * modules/fclose-tests (Depends-on): Add fdopen.
41583         * modules/fflush-tests (Depends-on): Likewise.
41584         * modules/fgetc-tests (Depends-on): Likewise.
41585         * modules/fputc-tests (Depends-on): Likewise.
41586         * modules/fread-tests (Depends-on): Likewise.
41587         * modules/freopen-tests (Depends-on): Likewise.
41588         * modules/fseeko-tests (Depends-on): Likewise.
41589         * modules/ftello-tests (Depends-on): Likewise.
41590         * modules/fwrite-tests  (Depends-on): Likewise.
41591         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
41593 2011-09-24  Bruno Haible  <bruno@clisp.org>
41595         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
41596         * modules/fgetc-tests (Depends-on): Add unistd.
41597         * modules/fputc-tests (Depends-on): Likewise.
41598         * modules/fread-tests (Depends-on): Likewise.
41599         * modules/fwrite-tests (Depends-on): Likewise.
41601 2011-09-24  Bruno Haible  <bruno@clisp.org>
41603         dup: Simplify autoconf test.
41604         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
41605         on gl_MSVC_INVAL's result.
41607 2011-09-24  Bruno Haible  <bruno@clisp.org>
41609         Tests for function fwrite().
41610         * modules/fwrite-tests: New file.
41611         * tests/test-fwrite.c: New file.
41612         * modules/stdio-tests (Depends-on): Add fwrite-tests.
41614         Tests for function fread().
41615         * modules/fread-tests: New file.
41616         * tests/test-fread.c: New file.
41617         * modules/stdio-tests (Depends-on): Add fread-tests.
41619         Activate fputc tests.
41620         * modules/stdio-tests (Depends-on): Add fputc-tests.
41622         Enhance fgetc, fputc tests.
41623         * tests/test-fgetc.c (main): Also test the stream's error indicator.
41624         * tests/test-fputc.c (main): Likewise.
41626 2011-09-24  Bruno Haible  <bruno@clisp.org>
41628         write: Support for MSVC 9.
41629         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
41630         is not 1.
41631         * lib/write.c (write_nothrow): New function.
41632         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
41633         not 1. Use write_nothrow.
41634         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
41635         invalid parameter handler.
41636         (gl_PREREQ_WRITE): New macro.
41637         * modules/write (Depends-on): Add msvc-inval.
41638         (configure.ac): Invoke gl_PREREQ_WRITE.
41639         * doc/posix-functions/write.texi: Mention the problem on MSVC.
41641 2011-09-24  Bruno Haible  <bruno@clisp.org>
41643         read: Fix last commit.
41644         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
41646 2011-09-24  Bruno Haible  <bruno@clisp.org>
41648         dup2: Fix last commit.
41649         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
41650         (rpl_dup2): Disable fcntl workaround on native Windows.
41652         sigprocmask: Make code safer.
41653         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
41654         section that changes macro definitions for this compilation unit.
41656 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41658         dup2: clarify by coalescing Windows-specific material
41659         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
41660         "msvc-nothrow.h"' to the Windows-specific section, so that the
41661         Emacs source need not contain these include files.
41662         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
41663         Windows-specific fixes into this function rather than just the
41664         nothrow fix, as this shortens and clarifies the code.  Always
41665         define as a function, as that's a bit cleaner than having it be
41666         sometimes a function and sometimes a macro.
41667         (rpl_dup2): Move the Windows-specific stuff out of here and into
41668         ms_windows_dup2.  Don't protect the Haiku-related fix with
41669         "#if !defined __linux__", as the same code also works around
41670         a Linux kernel bug, and it doesn't add any system calls on any
41671         platform.  Add comment about FreeBSD 6.1.
41673         sigprocmask: move #include directive
41674         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
41675         Windows-specific section, so that the Emacs source need not
41676         contain msvc-inval.h.
41678 2011-09-23  Bruno Haible  <bruno@clisp.org>
41680         read: Support for MSVC 9.
41681         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
41682         is not 1.
41683         * lib/read.c (read_nothrow): New function.
41684         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
41685         read_nothrow.
41686         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
41687         invalid parameter handler.
41688         (gl_PREREQ_READ): New macro.
41689         * modules/read (Depends-on): Add msvc-inval.
41690         (configure.ac): Invoke gl_PREREQ_READ.
41691         * doc/posix-functions/read.texi: Mention the problem on MSVC.
41693 2011-09-23  Bruno Haible  <bruno@clisp.org>
41695         close: Support for MSVC 9.
41696         * lib/close.c: Include <errno.h>, msvc-inval.h.
41697         (close_nothrow): New function.
41698         (rpl_close): Use it.
41699         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
41700         invalid parameter handler.
41701         * modules/close (Depends-on): Add msvc-inval.
41702         * modules/dup2-tests (Depends-on): Add close.
41703         * modules/dup3-tests (Depends-on): Likewise.
41704         * modules/fcntl-tests (Depends-on): Likewise.
41705         * modules/spawn-pipe-tests (Depends-on): Likewise.
41706         * modules/unistd-safer-tests (Depends-on): Likewise.
41707         * doc/posix-functions/close.texi: Mention the problem on MSVC.
41709 2011-09-23  Bruno Haible  <bruno@clisp.org>
41711         New module 'dup'.
41712         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
41713         Allow replacement.
41714         * lib/dup.c: New file.
41715         * lib/fchdir.c (rpl_dup): Remove function.
41716         * m4/dup.m4: New file.
41717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
41718         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
41719         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
41720         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
41721         * modules/dup: New file.
41722         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
41723         'dup' module is in use.
41724         * modules/fdopendir (Depends-on): Add dup.
41725         * modules/fdutimensat-tests (Depends-on): Likewise.
41726         * modules/fts (Depends-on): Likewise.
41727         * modules/futimens-tests (Depends-on): Likewise.
41728         * modules/posix_spawnp-tests (Depends-on): Likewise.
41729         * modules/unistd-safer-tests (Depends-on): Likewise.
41730         * modules/utimens-tests (Depends-on): Likewise.
41731         * doc/posix-functions/dup.texi: Mention the new module and the problem
41732         on MSVC.
41734 2011-09-23  Bruno Haible  <bruno@clisp.org>
41736         getdtablesize: Support for MSVC 9.
41737         * lib/getdtablesize.c: Include msvc-inval.h.
41738         (_setmaxstdio_nothrow): New function.
41739         (_setmaxstdio): Redefine it.
41740         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
41741         * modules/getdtablesize (Depends-on): Add msvc-inval.
41742         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
41744 2011-09-23  Bruno Haible  <bruno@clisp.org>
41746         signal-h: Rename from signal.
41747         * modules/signal-h: Renamed from modules/signal.
41748         * modules/pthread_sigmask (Depends-on): Update.
41749         * modules/raise (Depends-on): Likewise.
41750         * modules/sigaction (Depends-on): Likewise.
41751         * modules/sigpipe (Depends-on): Likewise.
41752         * modules/sigprocmask (Depends-on): Likewise.
41753         * modules/sys_select (Depends-on): Likewise.
41754         * modules/signal-h-tests: Renamed from modules/signal-tests.
41755         (Files, Depends-on, Makefile.am): Update.
41756         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
41757         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
41758         (Files, Makefile.am): Update.
41759         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
41760         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
41761         * modules/signal: New placeholder file.
41762         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
41763         * doc/posix-headers/signal.texi: Update.
41764         * NEWS: Mention the change.
41766 2011-09-23  Bruno Haible  <bruno@clisp.org>
41768         sigprocmask: Avoid crashes through signal() on MSVC 9.
41769         * lib/sigprocmask.c: Include msvc-inval.h.
41770         (signal_nothrow): New function.
41771         (signal): Redefine it.
41772         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
41773         * modules/sigprocmask (Depends-on): Add msvc-inval.
41774         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
41776 2011-09-23  Bruno Haible  <bruno@clisp.org>
41778         Tests for module 'raise'.
41779         * modules/raise-tests: New file.
41780         * tests/test-raise.c: New file.
41782         raise: Support for MSVC.
41783         * lib/signal.in.h (raise): New declaration.
41784         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
41785         for native Windows platforms.
41786         * m4/raise.m4: New file.
41787         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
41788         HAVE_RAISE, REPLACE_RAISE.
41789         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
41790         REPLACE_RAISE.
41791         * modules/raise (Status, Notice): Remove fields.
41792         (Files): Add m4/raise.m4.
41793         (Depends-on): Add signal, msvc-inval.
41794         (configure.ac): Use the common idioms.
41795         (Maintainer): Add me.
41796         * tests/test-signal-c++.cc: Check the signature of raise.
41797         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
41799 2011-09-23  Bruno Haible  <bruno@clisp.org>
41801         pipe2: Fix compilation on pre-C99 compilers.
41802         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
41804 2011-09-23  Bruno Haible  <bruno@clisp.org>
41806         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
41807         * lib/msvc-nothrow.h: New file.
41808         * lib/msvc-nothrow.c: New file.
41809         * m4/msvc-nothrow.m4: New file.
41810         * modules/msvc-nothrow: New file.
41811         * lib/dup2.c: Include msvc-nothrow.h.
41812         (rpl_dup2): No need to protect _get_osfhandle call here.
41813         * lib/accept4.c: Include msvc-nothrow.h.
41814         * lib/error.c: Likewise.
41815         * lib/fcntl.c: Likewise.
41816         * lib/lseek.c: Likewise.
41817         * lib/nonblocking.c: Likewise.
41818         * lib/poll.c: Likewise.
41819         * lib/read.c: Likewise.
41820         * lib/select.c: Likewise.
41821         * lib/sockets.h: Likewise.
41822         * lib/sockets.c: Likewise.
41823         * lib/stdio-read.c: Likewise.
41824         * lib/stdio-write.c: Likewise.
41825         * lib/write.c: Likewise.
41826         * lib/w32sock.h: Likewise.
41827         * lib/w32spawn.h: Likewise.
41828         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
41829         * lib/fsync.c: Likewise.
41830         * lib/isapipe.c: Likewise.
41831         * modules/dup2 (Depends-on): Add msvc-nothrow.
41832         * modules/accept4 (Depends-on): Likewise.
41833         * modules/error (Depends-on): Likewise.
41834         * modules/fcntl (Depends-on): Likewise.
41835         * modules/lseek (Depends-on): Likewise.
41836         * modules/nonblocking (Depends-on): Likewise.
41837         * modules/poll (Depends-on): Likewise.
41838         * modules/read (Depends-on): Likewise.
41839         * modules/select (Depends-on): Likewise.
41840         * modules/sockets (Depends-on): Likewise.
41841         * modules/sigpipe (Depends-on): Likewise.
41842         * modules/write (Depends-on): Likewise.
41843         * modules/accept (Depends-on): Likewise.
41844         * modules/bind (Depends-on): Likewise.
41845         * modules/connect (Depends-on): Likewise.
41846         * modules/gethostname (Depends-on): Likewise.
41847         * modules/getpeername (Depends-on): Likewise.
41848         * modules/getsockname (Depends-on): Likewise.
41849         * modules/getsockopt (Depends-on): Likewise.
41850         * modules/ioctl (Depends-on): Likewise.
41851         * modules/listen (Depends-on): Likewise.
41852         * modules/recv (Depends-on): Likewise.
41853         * modules/recvfrom (Depends-on): Likewise.
41854         * modules/send (Depends-on): Likewise.
41855         * modules/sendto (Depends-on): Likewise.
41856         * modules/setsockopt (Depends-on): Likewise.
41857         * modules/shutdown (Depends-on): Likewise.
41858         * modules/socket (Depends-on): Likewise.
41859         * modules/execute (Depends-on): Likewise.
41860         * modules/spawn-pipe (Depends-on): Likewise.
41861         * modules/flock (Depends-on): Likewise.
41862         * modules/fsync (Depends-on): Likewise.
41863         * modules/isapipe (Depends-on): Likewise.
41864         * tests/test-cloexec.c: Include msvc-nothrow.h.
41865         * tests/test-dup-safer.c: Likewise.
41866         * tests/test-dup2.c: Likewise.
41867         * tests/test-dup3.c: Likewise.
41868         * tests/test-fcntl.c: Likewise.
41869         * tests/test-pipe.c: Likewise.
41870         * tests/test-pipe2.c: Likewise.
41871         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
41872         * modules/unistd-safer-tests (Depends-on): Likewise.
41873         * modules/dup2-tests (Depends-on): Likewise.
41874         * modules/dup3-tests (Depends-on): Likewise.
41875         * modules/fcntl-tests (Depends-on): Likewise.
41876         * modules/pipe-posix-tests (Depends-on): Likewise.
41877         * modules/pipe2-tests (Depends-on): Likewise.
41879 2011-09-23  Bruno Haible  <bruno@clisp.org>
41881         dup2: Make code more maintainable.
41882         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
41883         (rpl_dup2): Use it.
41884         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
41885         * modules/dup2 (configure.ac): Invoke it.
41886         Reported by Paul Eggert.
41888 2011-09-23  Bruno Haible  <bruno@clisp.org>
41890         msvc-inval: Fix compilation error.
41891         * lib/msvc-inval.h: Include <excpt.h>.
41893 2011-09-23  Bruno Haible  <bruno@clisp.org>
41895         mkdir: Tweak for MSVC 9.
41896         * lib/sys_stat.in.h: Update comments.
41897         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
41899         Tests for module 'chdir'.
41900         * modules/chdir-tests: New file.
41901         * tests/test-chdir.c: New file.
41903         New module 'chdir'.
41904         * modules/chdir: New file.
41905         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
41906         (chdir): New declaration.
41907         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
41908         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
41909         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
41910         * tests/test-unistd-c++.cc: Check signature of chdir.
41911         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
41912         * modules/chdir-long (Depends-on): Add chdir.
41913         * modules/fchdir (Depends-on): Likewise.
41914         * modules/rename (Depends-on): Likewise.
41915         * modules/savewd (Depends-on): Likewise.
41917         rmdir: Support for mingw, MSVC 9.
41918         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
41919         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
41921         getcwd: Tweak for MSVC 9.
41922         * lib/unistd.in.h: Update comments.
41923         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
41925 2011-09-22  Bruno Haible  <bruno@clisp.org>
41927         strerror_r-posix: Avoid a link error on MSVC.
41928         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
41929         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
41931 2011-09-22  Bruno Haible  <bruno@clisp.org>
41933         select: Avoid link errors on MSVC.
41934         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
41935         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
41936         * modules/pselect (Link): Likewise.
41937         * NEWS: Mention the change.
41938         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
41939         test-select-stdin against $(LIB_SELECT).
41940         * modules/pselect-tests (Makefile.am): Link test-pselect against
41941         $(LIB_SELECT).
41943 2011-09-22  Bruno Haible  <bruno@clisp.org>
41945         select: Avoid compilation error on MSVC.
41946         * lib/select.c: Don't include <stdbool.h>.
41948 2011-09-21  Bruno Haible  <bruno@clisp.org>
41950         Consolidate all uses of PATH_MAX in *.m4 files.
41951         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
41952         macros.
41953         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
41954         and gl_PATHMAX_SNIPPET.
41955         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
41956         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
41957         * modules/chdir-long (Files): Add m4/pathmax.m4.
41958         * modules/getcwd (Files): Likewise.
41960 2011-09-21  Bruno Haible  <bruno@clisp.org>
41962         ftruncate: Un-deprecate, concentrate on Win32 support.
41963         * modules/ftruncate (Status, Notice): Remove sections.
41964         (Depends-on): Add largefile.
41965         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
41966         non-mingw platforms.
41967         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
41968         include <io.h>.
41969         * modules/perror-tests (Depends-on): Add ftruncate.
41970         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
41971         'ftruncate' module.
41973 2011-09-21  Bruno Haible  <bruno@clisp.org>
41975         Add dependencies to new dirent related modules.
41976         * modules/opendir (Depends-on): Add closedir.
41977         * modules/getcwd (Depends-on): Add opendir, closedir.
41978         * modules/dirent-safer-tests (Depends-on): Likewise.
41979         * modules/fdopendir-tests (Depends-on): Likewise.
41980         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
41981         * modules/renameat-tests (Depends-on): Likewise.
41983 2011-09-21  Bruno Haible  <bruno@clisp.org>
41985         opendir: Avoid compilation error on mingw.
41986         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
41987         * modules/opendir (Depends-on): Add unistd.
41989 2011-09-21  Bruno Haible  <bruno@clisp.org>
41991         ftruncate tests: Avoid a test failure on mingw.
41992         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
41994 2011-09-21  Bruno Haible  <bruno@clisp.org>
41996         select tests: Avoid test failures on OSF/1 5.1 and mingw.
41997         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
41998         native Windows.
42000 2011-09-21  Bruno Haible  <bruno@clisp.org>
42002         New module 'fdopen'.
42003         * lib/stdio.in.h (fdopen): New declaration.
42004         * lib/fdopen.c: New file.
42005         * m4/fdopen.m4: New file.
42006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
42007         REPLACE_FDOPEN.
42008         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
42009         REPLACE_FDOPEN.
42010         * modules/fdopen: New file.
42011         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
42012         * tests/test-stdio-c++.cc: Check signature of fdopen.
42013         * doc/posix-functions/fdopen.texi: Mention the new module.
42015 2011-09-21  Bruno Haible  <bruno@clisp.org>
42017         unlockpt tests: Avoid test failure on NetBSD 5.1.
42018         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
42019         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
42021 2011-09-21  Bruno Haible  <bruno@clisp.org>
42023         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
42024         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
42025         * tests/test-getlogin_r.c (main): Likewise.
42027 2011-09-20  Bruno Haible  <bruno@clisp.org>
42029         time tests: Don't require pid_t.
42030         * doc/posix-headers/time.texi: Revert last change.
42031         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
42032         * tests/test-time.c: Comment out the check for pid_t.
42034 2011-09-20  Bruno Haible  <bruno@clisp.org>
42036         fsync tests: Avoid a test failure on mingw.
42037         * tests/test-fsync.c (main): Allow a failure with EIO.
42039 2011-09-20  Bruno Haible  <bruno@clisp.org>
42041         euidaccess: Update comments.
42042         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
42044 2011-09-20  Bruno Haible  <bruno@clisp.org>
42046         Ensure EBADF returns for socket functions on mingw.
42047         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
42048         descriptor is invalid.
42049         * lib/bind.c (rpl_bind): Likewise.
42050         * lib/connect.c (rpl_connect): Likewise.
42051         * lib/getpeername.c (rpl_getpeername): Likewise.
42052         * lib/getsockname.c (rpl_getsockname): Likewise.
42053         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42054         * lib/listen.c (rpl_listen): Likewise.
42055         * lib/recv.c (rpl_recv): Likewise.
42056         * lib/recvfrom.c (rpl_recvfrom): Likewise.
42057         * lib/send.c (rpl_send): Likewise.
42058         * lib/sendto.c (rpl_sendto): Likewise.
42059         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42060         * lib/shutdown.c (rpl_shutdown): Likewise.
42062 2011-09-20  Bruno Haible  <bruno@clisp.org>
42064         select tests: EBADF tests.
42065         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
42066         test_bad_fd): New functions.
42067         (test_function): Invoke also test_bad_fd.
42069 2011-09-20  Bruno Haible  <bruno@clisp.org>
42071         Tests for module 'posix_spawn_file_actions_addopen.
42072         * modules/posix_spawn_file_actions_addopen-tests: New file.
42073         * tests/test-posix_spawn_file_actions_addopen.c: New file.
42075         Tests for module 'posix_spawn_file_actions_adddup2'.
42076         * modules/posix_spawn_file_actions_adddup2-tests: New file.
42077         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
42079         Tests for module 'posix_spawn_file_actions_addclose'.
42080         * modules/posix_spawn_file_actions_addclose-tests: New file.
42081         * tests/test-posix_spawn_file_actions_addclose.c: New file.
42083 2011-09-20  Bruno Haible  <bruno@clisp.org>
42085         Tests for module 'unlockpt'.
42086         * modules/unlockpt-tests: New file.
42087         * tests/test-unlockpt.c: New file.
42088         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
42090         Tests for module 'grantpt'.
42091         * modules/grantpt-tests: New file.
42092         * tests/test-grantpt.c: New file.
42093         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
42095 2011-09-20  Bruno Haible  <bruno@clisp.org>
42097         freopen tests: EBADF tests.
42098         * tests/test-freopen.c: Include errno.h, unistd.h.
42099         (main): Add tests for EBADF, commented out for the moment.
42101         fclose tests: EBADF tests.
42102         * tests/test-fclose.c (main): Add tests for EBADF.
42104         fflush tests: EBADF tests.
42105         * tests/test-fflush.c: Include errno.h, macros.h.
42106         (main): Add tests for EBADF.
42108         ftello tests: EBADF tests.
42109         * tests/test-ftello4.sh: New file.
42110         * tests/test-ftello4.c: New file.
42111         * modules/ftello-tests (Files): Add them.
42112         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
42114         fseeko tests: EBADF tests.
42115         * tests/test-fseeko4.sh: New file.
42116         * tests/test-fseeko4.c: New file.
42117         * modules/fseeko-tests (Files): Add them.
42118         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
42120         Tests for function fputc().
42121         * modules/fputc-tests: New file.
42122         * tests/test-fputc.c: New file.
42123         * modules/stdio-tests (Depends-on): Add fputc-tests.
42125         Tests for function fgetc().
42126         * modules/fgetc-tests: New file.
42127         * tests/test-fgetc.c: New file.
42128         * modules/stdio-tests (Depends-on): Add fgetc-tests.
42130         Tests for function fdopen().
42131         * modules/fdopen-tests: New file.
42132         * tests/test-fdopen.c: New file.
42133         * modules/stdio-tests (Depends-on): Add fdopen-tests.
42135         Tests for module 'vdprintf'.
42136         * modules/vdprintf-tests: New file.
42137         * tests/test-vdprintf.c: New file.
42139         Tests for module 'dprintf'.
42140         * modules/dprintf-tests: New file.
42141         * tests/test-dprintf.c: New file.
42143 2011-09-20  Bruno Haible  <bruno@clisp.org>
42145         Tests for module 'ioctl'.
42146         * modules/ioctl-tests: New file.
42147         * tests/test-ioctl.c: New file.
42149 2011-09-20  Bruno Haible  <bruno@clisp.org>
42151         fcntl tests: EBADF tests.
42152         * tests/test-fcntl.c (main): Add more tests for EBADF.
42154 2011-09-20  Bruno Haible  <bruno@clisp.org>
42156         utimensat tests: EBADF tests.
42157         * tests/test-utimensat.c (main): Add tests for EBADF.
42159         renameat tests: EBADF tests.
42160         * tests/test-renameat.c (main): Add tests for EBADF.
42162         mkfifoat tests: EBADF tests.
42163         * tests/test-mkfifoat.c (main): Add tests for EBADF.
42165         readlinkat tests: EBADF tests.
42166         * tests/test-readlinkat.c (main): Add tests for EBADF.
42168         symlinkat tests: EBADF tests.
42169         * tests/test-symlinkat.c (main): Add tests for EBADF.
42171         linkat tests: EBADF tests.
42172         * tests/test-linkat.c (main): Add tests for EBADF.
42174         Tests for module 'faccessat'.
42175         * modules/faccessat-tests: New file.
42176         * tests/test-faccessat.c: New file.
42178         fdopendir tests: EBADF tests.
42179         * tests/test-fdopendir.c (main): Add more tests for EBADF.
42181         openat tests: EBADF tests.
42182         * tests/test-fchownat.c (main): Add tests for EBADF.
42183         * tests/test-fstatat.c (main): Likewise.
42184         * tests/test-mkdirat.c (main): Likewise.
42185         * tests/test-openat.c (main): Likewise.
42186         * tests/test-unlinkat.c (main): Likewise.
42187         * tests/test-fchmodat.c: New file.
42188         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
42189         (Makefile.am): Also run 'test-fchmodat'.
42191 2011-09-20  Bruno Haible  <bruno@clisp.org>
42193         utimens, futimens, fdutimensat tests: EBADF tests.
42194         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
42196         Tests for function fstat().
42197         * modules/fstat-tests: New file.
42198         * tests/test-fstat.c: New file.
42199         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
42201 2011-09-20  Bruno Haible  <bruno@clisp.org>
42203         test-ttyname_r tests: EBADF tests.
42204         * tests/test-ttyname_r.c (main): Add tests for EBADF.
42206         Tests for module 'isatty'.
42207         * modules/isatty-tests: New file.
42208         * tests/test-isatty.c: New file.
42210         Tests for module 'write'.
42211         * modules/write-tests: New file.
42212         * tests/test-write.c: New file.
42214         Tests for module 'read'.
42215         * modules/read-tests: New file.
42216         * tests/test-read.c: New file.
42218         pwrite tests: EBADF tests.
42219         * tests/test-pwrite.c (main): Add tests for EBADF.
42221         pread tests: EBADF tests.
42222         * tests/test-pread.c (main): Add tests for EBADF.
42224         lseek tests: EBADF tests.
42225         * tests/test-lseek.c (main): Add more tests for EBADF.
42227         Tests for module 'ftruncate'.
42228         * modules/ftruncate-tests: New file.
42229         * tests/test-ftruncate.sh: New file.
42230         * tests/test-ftruncate.c: New file.
42232         fsync tests: EBADF tests.
42233         * tests/test-fsync.c (main): Add more tests for EBADF.
42235         fdatasync tests: EBADF tests.
42236         * tests/test-fdatasync.c (main): Add more tests for EBADF.
42238         Tests for module 'fchown'.
42239         * modules/fchown-tests: New file.
42240         * tests/test-fchown.c: New file.
42242         Tests for module 'fchmod'.
42243         * modules/fchmod-tests: New file.
42244         * tests/test-fchmod.c: New file.
42246         fchdir tests: EBADF tests.
42247         * tests/test-fchdir.c (main): Add more tests for EBADF.
42249         dup2 tests: EBADF tests.
42250         * tests/test-dup2.c (main): Add more tests for EBADF.
42252         Tests for module 'dup'.
42253         * modules/dup-tests: New file.
42254         * tests/test-dup.c: New file.
42256         Tests for module 'close'.
42257         * modules/close-tests: New file.
42258         * tests/test-close.c: New file.
42260 2011-09-20  Bruno Haible  <bruno@clisp.org>
42262         Tests for module 'shutdown'.
42263         * modules/shutdown-tests: New file.
42264         * tests/test-shutdown.c: New file.
42266         Tests for module 'setsockopt'.
42267         * modules/setsockopt-tests: New file.
42268         * tests/test-setsockopt.c: New file.
42270         Tests for module 'sendto'.
42271         * modules/sendto-tests: New file.
42272         * tests/test-sendto.c: New file.
42274         Tests for module 'send'.
42275         * modules/send-tests: New file.
42276         * tests/test-send.c: New file.
42278         Tests for module 'recvfrom'.
42279         * modules/recvfrom-tests: New file.
42280         * tests/test-recvfrom.c: New file.
42282         Tests for module 'recv'.
42283         * modules/recv-tests: New file.
42284         * tests/test-recv.c: New file.
42286         Tests for module 'listen'.
42287         * modules/listen-tests: New file.
42288         * tests/test-listen.c: New file.
42290         Tests for module 'getsockopt'.
42291         * modules/getsockopt-tests: New file.
42292         * tests/test-getsockopt.c: New file.
42294         Tests for module 'getsockname'.
42295         * modules/getsockname-tests: New file.
42296         * tests/test-getsockname.c: New file.
42298         Tests for module 'getpeername'.
42299         * modules/getpeername-tests: New file.
42300         * tests/test-getpeername.c: New file.
42302         Tests for module 'connect'.
42303         * modules/connect-tests: New file.
42304         * tests/test-connect.c: New file.
42306         Tests for module 'bind'.
42307         * modules/bind-tests: New file.
42308         * tests/test-bind.c: New file.
42310         accept4 tests: Fix for native Windows.
42311         * tests/test-accept4.c: Include sockets.h.
42312         (main): Invoke gl_sockets_startup.
42313         * modules/accept4-tests (Depends-on): Add sockets.
42315         accept tests: Fix for native Windows.
42316         * tests/test-accept.c: Include sockets.h.
42317         (main): Invoke gl_sockets_startup.
42318         * modules/accept-tests (Depends-on): Add sockets.
42320 2011-09-19  Bruno Haible  <bruno@clisp.org>
42322         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
42323         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
42324         do...while(0).
42325         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
42326         Suggested by Paul Eggert.
42328 2011-09-19  Bruno Haible  <bruno@clisp.org>
42330         sched: Ensure pid_t is defined.
42331         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
42332         not define pid_t.
42333         * lib/sched.in.h: Include <sys/types.h>.
42334         * doc/posix-headers/sched.texi: Mention the pid_t problem.
42335         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42337 2011-09-19  Bruno Haible  <bruno@clisp.org>
42339         msvc-inval: Ensure the entire expansion is a single statement.
42340         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
42341         of braces.
42343 2011-09-19  Jim Meyering  <meyering@redhat.com>
42345         tests: use printf, not echo in init.sh's warn_ function
42346         * tests/init.sh (warn_): Use printf, not echo.  The latter would
42347         misbehave when given strings containing a backslash or starting
42348         with e.g., -n.  James Youngman suggested setting IFS.
42350 2011-09-19  Eric Blake  <eblake@redhat.com>
42352         futimens: enhance test
42353         * tests/test-futimens.h (test_futimens): Also check for EBADF on
42354         closed non-negative fd.
42356         date: accept 'hence' as opposite of 'ago'
42357         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
42358         * tests/test-parse-datetime.c (main): Enhance test.
42359         Suggested by Jesse Wilson.
42361 2011-09-19  Jim Meyering  <meyering@redhat.com>
42363         getcwd: don't fail in a deep directory on a system without openat
42364         Before this change, getcwd would fail when called from a directory
42365         of depth PATH_MAX / 3 or greater.  That was due to the fact that
42366         the non-openat implementation used "..", "../..", "../../..", etc.
42367         to access ancestor directories.  With too many, that string would
42368         be longer than PATH_MAX.
42369         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
42370         using gnulib's openat replacement.
42371         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
42372         we're using the replacement function.
42374 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
42376         maint.mk: avoid warnings from perl about missing files
42377         * top/maint.mk (def_sym_regex): Ignore files listed in
42378         $(gl_other_headers_) that do not exist, say because a project
42379         does not use a corresponding module.
42381 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
42383         stat: use pathmax.h only if needed
42384         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
42385         This is better for Emacs, which does not have a mingw port and
42386         therefore can avoid the pathmax module.
42388         utimens: remove dependency on dup2
42389         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
42390         to work around the Linux kernel bug.
42391         * modules/utimens (Depends-on): Remove dup2.
42393 2011-09-18  Bruno Haible  <bruno@clisp.org>
42395         inet_ntop, inet_pton: Look for it also in libresolv.
42396         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
42397         libnsl, search for it in libresolv.
42398         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
42399         Needed on Solaris 7.
42401 2011-09-18  Bruno Haible  <bruno@clisp.org>
42403         accept, accept4 tests: Avoid link error on Solaris.
42404         * modules/accept-tests (Makefile.am): Link test-accept against
42405         $(LIBSOCKET).
42406         * modules/accept4-tests (Makefile.am): Link test-accept4 against
42407         $(LIBSOCKET).
42409         accept4: Avoid link error on Solaris.
42410         * modules/accept4 (Link): New section.
42412         socket functions: Avoid link errors on Solaris.
42413         * modules/accept (Depends-on): Add socketlib.
42414         (Link): New section.
42415         * modules/bind (Depends-on): Add socketlib.
42416         (Link): New section.
42417         * modules/connect (Depends-on): Add socketlib.
42418         (Link): New section.
42419         * modules/getpeername (Depends-on): Add socketlib.
42420         (Link): New section.
42421         * modules/getsockname (Depends-on): Add socketlib.
42422         (Link): New section.
42423         * modules/getsockopt (Depends-on): Add socketlib.
42424         (Link): New section.
42425         * modules/listen (Depends-on): Add socketlib.
42426         (Link): New section.
42427         * modules/recv (Depends-on): Add socketlib.
42428         (Link): New section.
42429         * modules/recvfrom (Depends-on): Add socketlib.
42430         (Link): New section.
42431         * modules/send (Depends-on): Add socketlib.
42432         (Link): New section.
42433         * modules/sendto (Depends-on): Add socketlib.
42434         (Link): New section.
42435         * modules/setsockopt (Depends-on): Add socketlib.
42436         (Link): New section.
42437         * modules/shutdown (Depends-on): Add socketlib.
42438         (Link): New section.
42439         * modules/socket (Depends-on): Add socketlib.
42440         (Link): New section.
42442 2011-09-18  Bruno Haible  <bruno@clisp.org>
42444         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
42445         * tests/test-ptsname.c (main): Terminate the test if it takes longer
42446         than 5 seconds.
42447         * modules/ptsname-tests (configure.ac): Test for alarm.
42449 2011-09-18  Bruno Haible  <bruno@clisp.org>
42451         posix_spawn_file_actions_add*: Fix module dependencies.
42452         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
42453         posix_spawn_file_actions_init.
42454         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
42455         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
42457 2011-09-18  Bruno Haible  <bruno@clisp.org>
42459         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
42460         * tests/test-rename.h (test_rename): Allow error code EEXIST.
42461         * tests/test-renameat.c (main): Likewise.
42463 2011-09-18  Bruno Haible  <bruno@clisp.org>
42465         Tests for module 'accept4'.
42466         * modules/accept4-tests: New file.
42467         * tests/test-accept4.c: New file.
42469 2011-09-18  Bruno Haible  <bruno@clisp.org>
42471         Tests for module 'accept'.
42472         * modules/accept-tests: New file.
42473         * tests/test-accept.c: New file.
42475 2011-09-18  Bruno Haible  <bruno@clisp.org>
42477         dup2: Support for MSVC.
42478         * lib/dup2.c: Include msvc-inval.h.
42479         (rpl_dup2): Handle invalid parameter notifications during dup2 and
42480         _get_osfhandle calls.
42481         * modules/dup2 (Depends-on): Add msvc-inval.
42482         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
42484         New module 'msvc-inval'.
42485         * lib/msvc-inval.h: New file.
42486         * lib/msvc-inval.c: New file.
42487         * m4/msvc-inval.m4: New file.
42488         * modules/msvc-inval: New file.
42490 2011-09-17  Bruno Haible  <bruno@clisp.org>
42492         Tests for module 'pclose'.
42493         * modules/pclose-tests: New file.
42495         New module 'pclose'.
42496         * lib/stdio.in.h (pclose): New declaration.
42497         * lib/pclose.c: New file.
42498         * m4/pclose.m4: New file.
42499         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
42500         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
42501         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
42502         * modules/pclose: New file.
42503         * modules/popen-tests (Depends-on): Add pclose.
42504         * modules/popen-safer-tests (Depends-on): Likewise.
42505         * doc/posix-functions/pclose.texi: Mention the new module.
42507 2011-09-17  Bruno Haible  <bruno@clisp.org>
42509         popen: Support for MSVC.
42510         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
42511         * lib/popen.c (popen): Provide alternate definition for native Windows.
42512         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
42513         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
42514         * modules/popen (Depends-on, configure.ac): Update condition.
42515         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
42516         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
42517         fixed.
42519 2011-09-17  Bruno Haible  <bruno@clisp.org>
42521         isnanl, isnand, isnanf: Work around MSVC bug.
42522         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
42524 2011-09-17  Bruno Haible  <bruno@clisp.org>
42526         sys_socket tests: Fix recent mistake.
42527         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
42529 2011-09-17  Bruno Haible  <bruno@clisp.org>
42531         putenv: Support for MSVC.
42532         * modules/putenv (Depends-on): Add environ.
42533         * lib/putenv.c (environ): Disable declaration.
42534         * lib/unistd.in.h: Update comment.
42536 2011-09-17  Bruno Haible  <bruno@clisp.org>
42538         math: Avoid macro redefinition warnings on MSVC.
42539         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
42540         Undefine before redefining.
42542 2011-09-17  Bruno Haible  <bruno@clisp.org>
42544         doc: Mention functions which are declared as macros.
42545         * doc/posix-functions/*[fl].texi: Mention that some functions are
42546         defined as macros with arguments only.
42548 2011-09-17  Bruno Haible  <bruno@clisp.org>
42550         Add dependencies to new dirent related modules.
42551         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
42552         * modules/fts (Depends-on): Likewise.
42553         * modules/glob (Depends-on): Likewise.
42554         * modules/savedir (Depends-on): Likewise.
42555         * modules/scandir (Depends-on): Likewise.
42556         * modules/dirent-safer (Depends-on): Add opendir, closedir.
42557         * modules/fdopendir (Depends-on): Add opendir.
42559 2011-09-17  Bruno Haible  <bruno@clisp.org>
42561         inet_pton: Support for MSVC on Windows Vista or newer.
42562         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
42563         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
42564         HAVE_DECL_INET_PTON is defined.
42565         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
42566         On platforms with <winsock2.h>, test whether inet_pton is declared in
42567         <ws2tcpip.h>. If so, arrange to replace it.
42568         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
42569         REPLACE_INET_PTON.
42570         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
42571         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
42572         (Depends-on, configure.ac): Update condition.
42573         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
42575 2011-09-17  Bruno Haible  <bruno@clisp.org>
42577         inet_ntop: Support for MSVC on Windows Vista or newer.
42578         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
42579         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
42580         HAVE_DECL_INET_NTOP is defined.
42581         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
42582         On platforms with <winsock2.h>, test whether inet_ntop is declared in
42583         <ws2tcpip.h>. If so, arrange to replace it.
42584         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
42585         REPLACE_INET_NTOP.
42586         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
42587         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
42588         (Depends-on, configure.ac): Update condition.
42589         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
42591 2011-09-16  Eric Blake  <eblake@redhat.com>
42593         test-fsync: yet another enhancement
42594         * tests/test-fsync.c (main): Also test behavior on read-only text
42595         file.
42597 2011-09-16  Bruno Haible  <bruno@clisp.org>
42599         Enhance fsync, fdatasync tests.
42600         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
42601         * tests/test-fdatasync.c (main): Likewise.
42603 2011-09-16  Bruno Haible  <bruno@clisp.org>
42605         Support for MSVC compiler: Ensure mode_t gets defined.
42606         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
42607         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42608         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
42609         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
42610         * tests/test-fcntl-h.c: Check that mode_t is defined.
42611         * tests/test-sys_stat.c: Likewise.
42612         * tests/test-sys_types.c: Likewise.
42613         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
42614         * doc/posix-headers/sys_stat.texi: Likewise.
42615         * doc/posix-headers/sys_types.texi: Likewise.
42617 2011-09-16  Bruno Haible  <bruno@clisp.org>
42619         sys_stat: Support for MSVC.
42620         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
42621         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
42622         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
42623         MSVC.
42625 2011-09-16  Bruno Haible  <bruno@clisp.org>
42627         Support for MSVC compiler: Ensure off_t gets defined.
42628         * lib/unistd.in.h: Include <sys/types.h>.
42629         * tests/test-fcntl-h.c: Check that off_t is defined.
42630         * tests/test-sys_stat.c: Likewise.
42631         * tests/test-sys_types.c: Likewise.
42633 2011-09-16  Eric Blake  <eblake@redhat.com>
42635         fdatasync: port to Solaris
42636         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
42637         * modules/fdatasync (Link): Document it.
42638         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
42640         fdatasync: port to MacOS X 10.7
42641         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
42642         declared.
42643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
42644         * modules/unistd (Makefile.am): Substitute it.
42645         * lib/unistd.in.h (fdatasync): Declare on MacOS.
42646         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
42648         fdatasync: minor improvements
42649         * modules/fdatasync (Depends-on): Add condition for fsync.
42650         * lib/fdatasync.c (fdatasync): Add comment.
42651         * tests/test-unistd-c++.cc: Test fdatasync.
42653         unistd: update refs to newer POSIX
42654         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
42655         Suggested by Bruno Haible.
42657         fdatasync: new module
42658         * modules/fsync (Description): Document difference to fdatasync.
42659         * modules/fdatasync: New module.
42660         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
42661         * lib/fdatasync.c (fdatasync): Likewise.
42662         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
42663         defaults.
42664         * modules/unistd (Makefile.am): Set witnesses.
42665         * lib/unistd.in.h (fdatasync): Declare.
42666         * MODULES.html.sh: Document it.
42667         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
42668         * modules/fdatasync-tests: New test.
42669         * tests/test-fdatasync.c: Likewise.
42671 2011-09-16  Eric Blake  <eblake@redhat.com>
42673         test-fsync: enhance tests
42674         * modules/fsync-tests (Depends-on): Add errno, for mingw.
42675         * tests/test-fsync.c (main): Enhance test.
42677 2011-09-15  Bruno Haible  <bruno@clisp.org>
42679         Support for MSVC compiler: Ensure ssize_t gets defined.
42680         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
42681         * doc/posix-headers/stdio.texi: Likewise.
42682         * modules/stdio (Depends-on): Add ssize_t.
42683         * modules/sys_socket (Depends-on): Likewise.
42684         * modules/sys_types (Depends-on): Likewise.
42685         * modules/sys_uio (Depends-on): Likewise.
42686         * modules/unistd (Depends-on): Likewise.
42687         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
42688         * tests/test-sys_types.c: Check that ssize_t is defined.
42690 2011-09-14  Bruno Haible  <bruno@clisp.org>
42692         Avoid using #, the m4 comment starter character, near brackets.
42693         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
42694         delimiter character in sed expressions.
42695         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
42696         Suggested by Eric Blake.
42698         Properly quote AC_CHECK_DECLS' 4th argument.
42699         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
42700         argument.
42701         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42702         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
42703         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42704         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
42705         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42706         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
42707         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
42708         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
42709         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
42710         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
42711         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
42712         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
42713         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
42714         * m4/isinf.m4 (gl_ISINF): Likewise.
42715         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
42716         * m4/readutmp.m4 (gl_READUTMP): Likewise.
42717         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42718         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42719         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42720         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
42721         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
42722         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
42723         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
42724         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
42725         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
42726         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
42727         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
42728         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
42729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42730         Reported by Eric Blake.
42732         Properly quote AC_CHECK_DECL's 4th argument.
42733         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
42734         argument.
42735         * m4/argp.m4 (gl_ARGP): Likewise.
42736         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
42737         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
42738         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
42739         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
42740         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
42741         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
42742         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
42743         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
42744         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
42745         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
42746         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
42747         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
42748         Reported by Eric Blake.
42750 2011-09-14  Eric Blake  <eblake@redhat.com>
42752         opendir: avoid compile warning
42753         * lib/opendir.c (includes): Always include errno.h.
42754         Reported by Tatsuro MATSUOKA.
42756 2011-09-14  Jim Meyering  <meyering@redhat.com>
42758         maint.mk: sc_tight_scope: propagate failure from sub-make
42759         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
42760         Reported by Martin von Gagern.
42762 2011-09-13  Bruno Haible  <bruno@clisp.org>
42764         tempname: Support for MSVC.
42765         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
42766         MSVC.
42767         * modules/tempname (Depends-on): Add fcntl-h.
42769 2011-09-13  Bruno Haible  <bruno@clisp.org>
42771         sys_time: Support for MSVC.
42772         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
42773         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
42774         include <winsock2.h>.
42775         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
42776         function declarations that collide with POSIX.
42777         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
42778         (Makefile.am): Substitute HAVE_WINSOCK2_H.
42780 2011-09-13  Bruno Haible  <bruno@clisp.org>
42782         stat: Support for MSVC.
42783         * lib/stat.c: Include pathmax.h.
42784         * modules/stat (Depends-on): Add pathmax.
42786         pathmax: Support for native Windows.
42787         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
42789 2011-09-12  Bruno Haible  <bruno@clisp.org>
42791         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
42792         * lib/dirent.in.h (struct dirent): New type.
42793         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
42794         DT_WHT): New macros.
42795         (DIR): New type.
42796         (opendir, closedir): Declare only if the module 'opendir' is enabled.
42797         (readdir, rewinddir): New declarations.
42798         * lib/dirent-private.h: New file.
42799         * lib/opendir.c: New file.
42800         * lib/readdir.c: New file.
42801         * lib/rewinddir.c: New file.
42802         * lib/closedir.c: New file.
42803         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
42804         * m4/opendir.m4: New file.
42805         * m4/readdir.m4: New file.
42806         * m4/rewinddir.m4: New file.
42807         * m4/closedir.m4: New file.
42808         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
42809         REPLACE_CLOSEDIR here.
42810         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
42811         readdir, rewinddir are declared.
42812         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
42813         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
42814         HAVE_REWINDDIR, HAVE_CLOSEDIR.
42815         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
42816         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
42817         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
42818         * modules/opendir: New file.
42819         * modules/readdir: New file.
42820         * modules/rewinddir: New file.
42821         * modules/closedir: New file.
42822         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
42823         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
42824         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
42825         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
42826         * NEWS: Mention the 'fchdir' change.
42828 2011-09-11  Bruno Haible  <bruno@clisp.org>
42830         asm-underscore.m4: Support for MSVC.
42831         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
42832         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
42834 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
42836         Doc about crypt functions.
42837         * doc/posix-functions/crypt.texi: Expand range of glibc versions
42838         needing for _GNU_SOURCE to get crypt.
42839         * doc/posix-functions/encrypt.texi: Likewise.
42840         * doc/posix-functions/setkey.texi: Likewise.
42842 2011-09-11  Bruno Haible  <bruno@clisp.org>
42844         doc: Update regarding MSVC 9.
42845         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
42846         tested".
42847         * doc/posix-functions/*.texi: Update with info about MSVC 9.
42848         * doc/posix-headers/*.texi: Likewise.
42849         * doc/pastposix-functions/*.texi: Likewise.
42850         * doc/glibc-functions/*.texi: Likewise.
42851         * doc/glibc-headers/*.texi: Likewise.
42853 2011-09-11  Bruno Haible  <bruno@clisp.org>
42855         unistd et al.: Don't assume <unistd.h> exists.
42856         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
42857         does not exist.
42858         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
42859         exist. But include <stdlib.h>.
42860         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
42861         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
42862         symlink() does not exist.
42863         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
42864         include <io.h> instead.
42865         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
42866         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
42867         include <direct.h> instead.
42868         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
42869         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
42870         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
42871         <io.h> instead.
42872         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
42873         correctly if the system does not have hard links.
42874         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
42875         <direct.h> instead.
42876         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
42877         it when looking for function declarations.
42878         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
42879         <direct.h> and <io.h> instead.
42880         * doc/posix-headers/unistd.texi: More details about MSVC problem.
42882 2011-09-11  Bruno Haible  <bruno@clisp.org>
42884         strcase: Support for MSVC.
42885         * modules/strcase (Status, Notice): Remove obsoletion mark.
42886         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
42887         * doc/posix-functions/strncasecmp.texi: Likewise.
42889         strings: Don't assume <strings.h> exists.
42890         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
42891         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
42892         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
42893         * doc/posix-headers/strings.texi: Mention the MSVC problem.
42895 2011-09-11  Bruno Haible  <bruno@clisp.org>
42897         dirent: Don't assume <dirent.h> exists.
42898         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
42899         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
42900         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
42901         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
42903 2011-09-11  Bruno Haible  <bruno@clisp.org>
42905         Fix wint_t on MSVC.
42906         * lib/wchar.in.h (wint_t): On MSVC, override it.
42907         * lib/wctype.in.h (wint_t): Likewise.
42908         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
42909         MSVC.
42910         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
42911         * doc/posix-headers/wctype.texi: Likewise.
42913 2011-09-11  Bruno Haible  <bruno@clisp.org>
42915         sys_types: Fix typo.
42916         * lib/sys_types.in.h: Fix typo in comment.
42917         Reported by Paul Eggert.
42919         Support for MSVC compiler: Ensure size_t gets defined.
42920         * modules/strings (Depends-on): Add 'sys_types'.
42921         * modules/sys_uio (Depends-on): Likewise.
42922         * lib/sys_uio.in.h: Update comment.
42924         C++ tests for module 'sys_types'.
42925         * modules/sys_types-c++-tests: New file.
42926         * tests/test-sys_types-c++.cc: New file.
42928         Tests for module 'sys_types'.
42929         * modules/sys_types-tests: New file.
42930         * tests/test-sys_types.c: New file.
42932         New module 'sys_types'.
42933         * lib/sys_types.in.h: New file.
42934         * m4/sys_types_h.m4: New file.
42935         * modules/sys_types: New file.
42936         * doc/posix-headers/sys_types.texi: Mention the new module and the
42937         size_t problem on MSVC 9.
42939 2011-09-11  Bruno Haible  <bruno@clisp.org>
42941         Support for MSVC compiler: Avoid division by a literal 0.
42942         * lib/math.in.h (NAN): Define through a function call also on MSVC.
42943         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
42944         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
42945         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
42946         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
42947         * tests/infinity.h: New file.
42948         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
42949         on MSVC.
42950         * tests/test-ceilf1.c: Include infinity.h.
42951         (main): Use Infinityf.
42952         * tests/test-ceil1.c: Include infinity.h.
42953         (main): Use Infinityd.
42954         * tests/test-ceill.c: Include infinity.h.
42955         (main): Use Infinityl.
42956         * tests/test-dprintf-posix.c: Include infinity.h.
42957         (test_function): Use Infinityd.
42958         * tests/test-floorf1.c: Include infinity.h.
42959         (main): Use Infinityf.
42960         * tests/test-floor1.c: Include infinity.h.
42961         (main): Use Infinityd.
42962         * tests/test-floorl.c: Include infinity.h.
42963         (main): Use Infinityl.
42964         * tests/test-fprintf-posix.c: Include infinity.h.
42965         (test_function): Use Infinityd.
42966         * tests/test-frexp.c: Include infinity.h.
42967         (main): Use Infinityd.
42968         * tests/test-frexpl.c: Include infinity.h.
42969         (main): Use Infinityl.
42970         * tests/test-isfinite.c: Include infinity.h.
42971         (test_isfinitef): Use Infinityf.
42972         (test_isfinited): Use Infinityd.
42973         (test_isfinitel): Use Infinityl.
42974         * tests/test-isinf.c: Include infinity.h.
42975         (test_isinff): Use Infinityf.
42976         (test_isinfd): Use Infinityd.
42977         (test_isinfl): Use Infinityl.
42978         * tests/test-isnan.c: Include infinity.h.
42979         (test_float): Use Infinityf.
42980         (test_double): Use Infinityd.
42981         (test_long_double): Use Infinityl.
42982         * tests/test-isnanf.h: Include infinity.h.
42983         (main): Use Infinityf.
42984         * tests/test-isnand.h: Include infinity.h.
42985         (main): Use Infinityd.
42986         * tests/test-isnanl.h: Include infinity.h.
42987         (main): Use Infinityl.
42988         * tests/test-ldexpl.c: Include infinity.h.
42989         (main): Use Infinityl.
42990         * tests/test-printf-posix.h: Include infinity.h.
42991         (test_function): Use Infinityd.
42992         * tests/test-roundf1.c: Include infinity.h.
42993         (main): Use Infinityf.
42994         * tests/test-round1.c: Include infinity.h.
42995         (main): Use Infinityd.
42996         * tests/test-roundl.c: Include infinity.h.
42997         (main): Use Infinityl.
42998         * tests/test-signbit.c: Include infinity.h.
42999         (test_signbitf): Use Infinityf.
43000         (test_signbitd): Use Infinityd.
43001         (test_signbitl): Use Infinityl.
43002         * tests/test-snprintf-posix.h: Include infinity.h.
43003         (test_function): Use Infinityd, Infinityl.
43004         * tests/test-sprintf-posix.h: Include infinity.h.
43005         (test_function): Use Infinityd, Infinityl.
43006         * tests/test-truncf1.c: Include infinity.h.
43007         (main): Use Infinityf.
43008         * tests/test-trunc1.c: Include infinity.h.
43009         (main): Use Infinityd.
43010         * tests/test-truncl.c: Include infinity.h.
43011         (main): Use Infinityl.
43012         * tests/test-vasnprintf-posix.c: Include infinity.h.
43013         (test_function): Use Infinityd, Infinityl.
43014         * tests/test-vasprintf-posix.c: Include infinity.h.
43015         (test_function): Use Infinityd, Infinityl.
43016         * modules/ceilf-tests (Files): Add tests/infinity.h.
43017         * modules/ceil-tests (Files): Likewise.
43018         * modules/ceill-tests (Files): Likewise.
43019         * modules/dprintf-posix-tests (Files): Likewise.
43020         * modules/floorf-tests (Files): Likewise.
43021         * modules/floor-tests (Files): Likewise.
43022         * modules/floorl-tests (Files): Likewise.
43023         * modules/fprintf-posix-tests (Files): Likewise.
43024         * modules/frexp-tests (Files): Likewise.
43025         * modules/frexp-nolibm-tests (Files): Likewise.
43026         * modules/frexpl-tests (Files): Likewise.
43027         * modules/frexpl-nolibm-tests (Files): Likewise.
43028         * modules/isfinite-tests (Files): Likewise.
43029         * modules/isinf-tests (Files): Likewise.
43030         * modules/isnan-tests (Files): Likewise.
43031         * modules/isnanf-tests (Files): Likewise.
43032         * modules/isnanf-nolibm-tests (Files): Likewise.
43033         * modules/isnand-tests (Files): Likewise.
43034         * modules/isnand-nolibm-tests (Files): Likewise.
43035         * modules/isnanl-tests (Files): Likewise.
43036         * modules/isnanl-nolibm-tests (Files): Likewise.
43037         * modules/ldexpl-tests (Files): Likewise.
43038         * modules/printf-posix-tests (Files): Likewise.
43039         * modules/roundf-tests (Files): Likewise.
43040         * modules/round-tests (Files): Likewise.
43041         * modules/roundl-tests (Files): Likewise.
43042         * modules/signbit-tests (Files): Likewise.
43043         * modules/snprintf-posix-tests (Files): Likewise.
43044         * modules/sprintf-posix-tests (Files): Likewise.
43045         * modules/truncf-tests (Files): Likewise.
43046         * modules/trunc-tests (Files): Likewise.
43047         * modules/truncl-tests (Files): Likewise.
43048         * modules/vasnprintf-posix-tests (Files): Likewise.
43049         * modules/vasprintf-posix-tests (Files): Likewise.
43050         * modules/vdprintf-posix-tests (Files): Likewise.
43051         * modules/vfprintf-posix-tests (Files): Likewise.
43052         * modules/vprintf-posix-tests (Files): Likewise.
43053         * modules/vsnprintf-posix-tests (Files): Likewise.
43054         * modules/vsprintf-posix-tests (Files): Likewise.
43055         * modules/xprintf-posix-tests (Files): Likewise.
43057 2011-09-11  Bruno Haible  <bruno@clisp.org>
43059         Ensure pid_t gets defined.
43060         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
43061         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43062         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
43063         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43064         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
43065         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43066         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
43067         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43068         * tests/test-fcntl-h.c: Check that pid_t is defined.
43069         * tests/test-sched.c: Likewise.
43070         * tests/test-termios.c: Likewise.
43071         * tests/test-time.c: Likewise.
43072         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
43073         * doc/posix-headers/signal.texi: Likewise.
43074         * doc/posix-headers/sys_types.texi: Likewise.
43075         * doc/posix-headers/time.texi: Likewise.
43077 2011-09-11  Bruno Haible  <bruno@clisp.org>
43079         acl: Fix compilation on Solaris 10 (older version).
43080         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
43081         of ACE_EVERYONE.
43082         * lib/set-mode-acl.c (qset_acl): Likewise.
43083         Reported by Christian Jullien <eligis@orange.fr>.
43085 2011-09-10  Bruno Haible  <bruno@clisp.org>
43087         iconv, unsetenv: Add support for MSVC compiler.
43088         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
43089         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
43091 2011-09-10  Bruno Haible  <bruno@clisp.org>
43093         *printf: Add support for MSVC compiler.
43094         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
43095         handles the exception caused by the %n directive. When cross-compiling,
43096         guess no on native Windows.
43097         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
43098         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
43099         emulate it through vsnprintf.
43100         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
43101         * doc/posix-functions/dprintf.texi: Update documentation regarding
43102         MSVC 9.
43103         * doc/posix-functions/fprintf.texi: Likewise.
43104         * doc/posix-functions/printf.texi: Likewise.
43105         * doc/posix-functions/snprintf.texi: Likewise.
43106         * doc/posix-functions/sprintf.texi: Likewise.
43107         * doc/posix-functions/swprintf.texi: Likewise.
43108         * doc/posix-functions/vdprintf.texi: Likewise.
43109         * doc/posix-functions/vfprintf.texi: Likewise.
43110         * doc/posix-functions/vprintf.texi: Likewise.
43111         * doc/posix-functions/vsnprintf.texi: Likewise.
43112         * doc/posix-functions/vsprintf.texi: Likewise.
43113         * doc/glibc-functions/asprintf.texi: Likewise.
43114         * doc/glibc-functions/obstack_printf.texi: Likewise.
43115         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43116         * doc/glibc-functions/vasprintf.texi: Likewise.
43118 2011-09-10  Bruno Haible  <bruno@clisp.org>
43120         nocrash: Add support for native Windows.
43121         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
43123 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
43124             Bruno Haible  <bruno@clisp.org>
43126         absolute-header, include-next: Add support for MSVC compiler.
43127         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
43128         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
43129         directory separator in #line directives.
43130         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
43131         recognize also backslash as directory separator in #line directives.
43133 2011-09-08  Jim Meyering  <meyering@redhat.com>
43135         maint.mk: mark the post-release commit log with "maint: " prefix
43136         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
43137         one-line commit-log summary.
43139 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
43140             Bruno Haible  <bruno@clisp.org>
43142         Doc about crypt functions.
43143         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
43144         systems.
43145         * doc/posix-functions/encrypt.texi: Likewise.
43146         * doc/posix-functions/setkey.texi: Likewise.
43148 2011-09-08  Simon Josefsson  <simon@josefsson.org>
43150         * lib/gc.h: Fix copyright header.
43152 2011-09-07  Bruno Haible  <bruno@clisp.org>
43154         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
43155         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
43156         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
43158 2011-09-07  Bruno Haible  <bruno@clisp.org>
43160         openat: Work around compilation error with OSF/1 5.1 DTK cc.
43161         * lib/fopen.c: Use different syntax for include of <stdio.h>.
43162         * lib/freopen.c: Likewise.
43163         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
43164         * lib/lstat.c: Likewise.
43165         * lib/stat.c: Likewise.
43166         * lib/open.c: Use different syntax for include of <fcntl.h>.
43167         * lib/openat.c: Include fcntl.h again, explicitly.
43169 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
43171         parse-datetime: document the newly accepted format
43172         * doc/parse-datetime.texi (Combined date and time of day items):
43173         New section.
43175 2011-09-06  Bruno Haible  <bruno@clisp.org>
43177         acl: Fix a test failure on newer Solaris 10 with ZFS.
43178         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
43179         ENOSYS as no ACL.
43180         Reported by Jim Meyering.
43182 2011-09-06  Bruno Haible  <bruno@clisp.org>
43184         acl: Update for AIX >= 5.3 with NFS.
43185         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
43186         ENOSYS as no ACL.
43188         acl: Fix a test failure on AIX >= 5.3 with NFS.
43189         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
43190         as no ACL.
43192 2011-09-06  Bruno Haible  <bruno@clisp.org>
43194         acl: Fix a test failure on IRIX 6.5 with NFS.
43195         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
43196         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
43197         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
43198         * lib/copy-acl.c (qcopy_acl): Likewise.
43200 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
43202         openat: port to AIX 7.1 with large files
43203         AIX 7.1 does a "#define openat open64at" if large files are in use,
43204         so we can't simply #undef openat.  Use the orig_openat trick (similar
43205         to orig_open in lib/open.c) to work around the problem.  Problem
43206         reported by Kevin Brott for GNU tar, in the thread containing
43207         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
43208         * lib/openat.c (__need_system_fcntl_h): Define first.
43209         Include <fcntl.h> and <sys/types.h> before undefining.
43210         (orig_openat) [HAVE_OPENAT]: New inline function.
43211         (openat) [HAVE_OPENAT]: Do not undef.
43212         (rpl_openat): Use orig_openat, not openat.
43214 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
43215             Bruno Haible  <bruno@clisp.org>
43217         acl: Avoid errors on NonStop Kernel.
43218         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
43219         ENOTSUP errors.
43221 2011-09-05  Bruno Haible  <bruno@clisp.org>
43223         acl: Clean up Solaris code.
43224         * lib/acl-internal.h: Remove no-op #if.
43225         * lib/file-has-acl.c: Likewise.
43226         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
43227         * lib/copy-acl.c (qcopy_acl): Likewise.
43229 2011-09-05  Bruno Haible  <bruno@clisp.org>
43231         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
43232         binaries built on the original Solaris 10.
43233         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
43234         trivial.
43236 2011-09-05  Bruno Haible  <bruno@clisp.org>
43238         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
43239         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
43240         10.
43241         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
43242         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
43243         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
43244         instead of acl_get, facl_get, acl_set, facl_set.
43246 2011-09-05  Bruno Haible  <bruno@clisp.org>
43248         copy-file: Try unit tests on more file systems.
43249         * tests/test-copy-file-1.sh: New file.
43250         * tests/test-copy-file-2.sh: New file.
43251         * modules/copy-file-tests (Files): Add them.
43252         (Makefile.am): Add them to TESTS.
43254         acl: Try unit tests on more file systems.
43255         * tests/test-file-has-acl-1.sh: New file.
43256         * tests/test-file-has-acl-2.sh: New file.
43257         * tests/test-set-mode-acl-1.sh: New file.
43258         * tests/test-set-mode-acl-2.sh: New file.
43259         * tests/test-copy-acl-1.sh: New file.
43260         * tests/test-copy-acl-2.sh: New file.
43261         * modules/acl-tests (Files): Add them.
43262         (Makefile.am): Add them to TESTS.
43264 2011-09-04  Bruno Haible  <bruno@clisp.org>
43266         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
43267         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
43268         10.
43269         (OLD_ALLOW, OLD_DENY): New macros.
43270         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
43271         ACE_ACCESS_ALLOWED_ACE_TYPE.
43272         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
43273         ACE_ACCESS_DENIED_ACE_TYPE.
43274         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
43275         (NEW_ACE_EXECUTE): Fix value.
43276         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
43277         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
43278         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
43279         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
43280         NEW_ACE_SYNCHRONIZE): New macros.
43281         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
43282         instead of acl_fromtext, acl_set, facl_set.
43283         Fixes a coreutils/tests/cp/perm failure.
43285 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
43287         openat: test for fstatat (..., 0) bug
43288         Further testing with tar suggests that fstatat (..., 0)
43289         does not work in general, on AIX 7.1; see
43290         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
43291         So, give up entirely on AIX 7.1's fstatat, and fall back on our
43292         replacement fstatat (which is what older AIX releases were using
43293         anyway).
43294         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
43295         use is now changed to orig_fstatat.  This was probably the right
43296         thing to do anyway.
43297         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
43298         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
43299         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
43300         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
43301         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
43302         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
43303         if the bug is found.
43305         openat: test for fstatat (AT_FDCWD, ..., 0) bug
43306         This tests for another fstatat bug on AIX 7.1:
43307         fstatat (AT_FDCWD, ..., 0) does not work.  See
43308         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
43309         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
43310         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
43311         (rpl_fstatat): Adjust so that it works around either (or both)
43312         bugs if present.
43313         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
43315 2011-09-03  Karl Berry  <karl@gnu.org>
43317         * doc/regex.texi (Character Class Operators): Avoid literal ":"
43318         in index entries.
43320 2011-09-02  Bruno Haible  <bruno@clisp.org>
43322         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
43323         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
43324         values of AR, ARFLAGS, RANLIB.
43325         Reported by John W. Eaton <jwe@gnu.org> for Octave.
43327 2011-09-02  Bruno Haible  <bruno@clisp.org>
43329         Find 'ar' program that fits with --host argument.
43330         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
43332 2011-09-02  Bruno Haible  <bruno@clisp.org>
43334         tests: init.sh: Support any non-GNU diff.
43335         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
43336         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
43337         Solaris 8.
43339 2011-09-02  Bruno Haible  <bruno@clisp.org>
43341         tests: init.sh: work also with any non-GNU diff that supports -u
43342         * tests/init.sh: Relax check for diff -u support.
43343         Rather than checking for GNU diff via --version, simply check
43344         for support for -u itself.  Useful at least on OpenBSD 4.9,
43345         AIX 7.1, IRIX 6.5, and Solaris 10.
43347 2011-09-01  Bruno Haible  <bruno@clisp.org>
43349         strtoimax, strtoumax: Document problem on HP-UX 11.
43350         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
43351         * doc/posix-functions/strtoumax.texi: Likewise.
43353 2011-09-01  Bruno Haible  <bruno@clisp.org>
43355         strtoumax: Avoid link error on OSF/1 with DTK cc.
43356         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
43357         defined as a function.
43358         * modules/strtoumax (Depends-on, configure.ac): Test only whether
43359         strtoumax is defined, not whether it is declared.
43361 2011-09-01  Bruno Haible  <bruno@clisp.org>
43363         strtoimax: Avoid link error on OSF/1 with DTK cc.
43364         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
43365         defined as a function.
43366         * modules/strtoimax (Depends-on, configure.ac): Test only whether
43367         strtoimax is defined, not whether it is declared.
43369 2011-09-01  Bruno Haible  <bruno@clisp.org>
43371         imaxdiv: Avoid link error on OSF/1 with DTK cc.
43372         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
43373         as a function.
43374         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
43375         whether it is declared.
43377 2011-09-01  Bruno Haible  <bruno@clisp.org>
43379         imaxabs: Avoid link error on OSF/1 with DTK cc.
43380         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
43381         as a function.
43382         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
43383         whether it is declared.
43385 2011-09-01  Bruno Haible  <bruno@clisp.org>
43387         Tests for module 'strtoumax'.
43388         * modules/strtoumax-tests: New file.
43389         * tests/test-strtoumax.c: New file.
43391         Tests for module 'strtoimax'.
43392         * modules/strtoimax-tests: New file.
43393         * tests/test-strtoimax.c: New file.
43395         Tests for module 'imaxdiv'.
43396         * modules/imaxdiv-tests: New file.
43397         * tests/test-imaxdiv.c: New file.
43399         Tests for module 'imaxabs'.
43400         * modules/imaxabs-tests: New file.
43401         * tests/test-imaxabs.c: New file.
43403 2011-09-01  Bruno Haible  <bruno@clisp.org>
43405         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
43406         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
43407         pthread_create.
43409 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
43411         openat: work around AIX 7.1 fstatat issue
43412         This should fix the problem that was not properly fixed
43413         in the previous change, dated 2011-08-30.
43414         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
43415         __need_system_stat_h defined.
43416         (orig_fstatat) [HAVE_FSTATAT]: New function.
43417         (rpl_fstatat): Go back to the old way of doing things,
43418         except call orig_fstatat instead of fstatat.
43419         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
43420         Remove unnecessary check whether fstatat fills in st_size etc.
43422 2011-09-01  Bruno Haible  <bruno@clisp.org>
43424         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
43425         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
43426         just include the system's header.
43428 2011-08-31  Jim Meyering  <meyering@redhat.com>
43430         tests: avoid spurious assertion failure in test-float.c on ppc64
43431         * tests/test-float.c (test_long_double): Comment out an assertion,
43432         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
43433         with gcc-4.4.4.
43435         maint: indent with spaces, not TABs
43436         I need to get in the habit of running gnulib's "make check".
43437         Both of these would have been caught.
43438         * m4/largefile.m4: Indent with spaces, not TABs.
43439         * lib/parse-datetime.y (iso_8601_time): Likewise.
43440         Spotted by Pádraig Brady.
43442         test-parse-datetime.c: accommodate a relatively strict gcc warning
43443         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
43444         to avoid a warning from gcc's -Werror=missing-declarations.
43445         Insert a few spaces-before-funcall-parenthesis.
43447 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
43449         parse-datetime: accept ISO 8601 date and time rep with "T" separator
43450         The parser now accepts ISO 8601 date-time strings with "T" as the
43451         separator.  It has long parsed dates like "2004-02-29 16:21:42"
43452         with a space between the date and time strings.  Now it also parses
43453         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
43454         variants like "2004-02-29T16:21:42.333-07:00"
43455         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
43456         of day representation using the 'T' separator character.
43457         * doc/parse-datetime.texi (General date syntax): replace use of
43458         deprecated --iso-8601 option with --rfc-3339 in example of date
43459         command output formats that can be parsed.
43460         * tests/test-parse-datetime.c (tm_diff): New function, taken from
43461         lib/parse-datetime.y.
43462         (gmt_offset): New function.
43463         (main): Add additional test cases to validate ISO8601 extended
43464         date and time of day parsing.
43466 2011-08-31  Bruno Haible  <bruno@clisp.org>
43468         freopen: Documentation.
43469         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
43470         name.
43471         Reported by Claudio Bley <claudio.bley@gmail.com>.
43473 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
43475         freopen: Don't crash if the filename argument is NULL.
43476         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
43477         NULL.
43479 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
43481         openat: work around AIX 7.1 fstatat bug
43482         Problem reported by Kevin Brott for GNU tar, in the thread containing
43483         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
43484         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
43485         FSTATAT_ST_SIZE_ETC_BROKEN.
43486         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
43487         rpl_fstatat.
43488         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
43489         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
43490         AC_CHECK_FUNCS_ONCE for fstatat.
43491         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
43492         fchmodat, mkdirat, openat and unlinkat.
43494 2011-08-30  Bruno Haible  <bruno@clisp.org>
43496         Avoid endless recursions if config.h includes some header files.
43497         * lib/fopen.c (__need_FILE): Define already before including config.h.
43498         * lib/freopen.c (__need_FILE): Likewise.
43499         * lib/open.c (__need_system_fcntl_h): Likewise.
43500         * lib/stat.c (__need_system_sys_stat_h): Likewise.
43501         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
43502         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
43504 2011-08-25  Karl Berry  <karl@gnu.org>
43506         * config/srclist.txt (ylwrap): new try.
43507         * build-aux/ylwrap: new file.
43509 2011-08-23  Bruno Haible  <bruno@clisp.org>
43511         tmpdir: Use a good default directory on native Windows.
43512         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
43513         (P_tmpdir): Default to _P_tmpdir on native Windows.
43514         (path_search): On native Windows, try the value returned by GetTempPath
43515         before trying P_tmpdir.
43516         * modules/tmpdir (Depends-on): Add pathmax.
43517         Suggested by John Darrington <john@darrington.wattle.id.au>.
43519 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
43521         doc: fix typo in README-release
43522         * top/README-release: Capitalize first word of a sentence.
43524 2011-08-19  Jim Meyering  <meyering@redhat.com>
43526         fts: do not exhaust memory when processing million-entry directories
43527         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
43528         directory would require about 256*N bytes of memory.  Thus, it was
43529         easy to construct a directory too large to be processed by any of
43530         those tools.  With this change, fts' maximum memory utilization is
43531         now limited to around 30MB.
43532         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
43533         (fts_read): When we've processed the final entry (i.e., when
43534         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
43535         using the parent entry to read any remaining entries.  Dispatch
43536         depending on what fts_build returns:
43537         - NULL+stop, aka failure: stop
43538         - NULL otherwise: move up in the dir hierarchy
43539         - non-NULL: handle this new entry
43540         (fts_build): Declare and use new local, continue_readdir.
43541         Prepare to be called from fts_read, when the entries
43542         from a partially-read directory have just been exhausted.
43543         In that case, we'll skip the opendir and instead use the parent's
43544         fts_dirp and derive dir_fd from that.
43545         Finally, in the readdir loop, if we read max_entries entries,
43546         exit the loop ensuring *not* to call closedir.  This is required
43547         so that fts_dirp can be reused on a subsequent call.
43548         Prompted by Ben England's report of memory exhaustion in find
43549         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
43551         maint: fts: move decl of `dp' down into while loop; split a long line
43552         * lib/fts.c (fts_build): No semantic change.
43554         fts: add/use new struct member, fts_dirp
43555         We are about to use this to manage any directory with
43556         too many entries to read all of them into memory at once.
43557         To do that, we'll need to save the DIR* pointer in each
43558         affected FTSENT struct.
43559         * lib/fts_.h: Include <dirent.h>.
43560         (struct FTSENT) [fts_dirp]: New member.
43561         * lib/fts.c (closedir_and_clear): Define.
43562         Use it in place of closedir so that we are sure to
43563         clear the new fts_dirp member when done with it.
43564         (fts_alloc): Initialize the new member.
43565         (fts_lfree): Free, if needed.
43567         maint: fts: give __opendir2 a new parameter and rename
43568         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
43569         than surreptitiously using sole caller's "dir_fd".
43570         (fts_opendir): Rename from __opendir2.
43572         maint: fts.c: remove __opendir2's now-unused parameter, oflag
43573         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
43575         maint: fts.c: correct off-by-one indentation
43576         * lib/fts.c (fts_build): Correct indentation, change style
43577         of a couple of block comments, and bracing style.
43579         maint: fts.c: move __opendir2 #define "up" out of function body
43580         * lib/fts.c (__opendir2): Move "up".  No semantic change.
43582         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
43583         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
43584         out for a long time and besides was useful only on BSD systems.
43586 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
43588         regex: port to Stratus OpenVOS
43589         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
43590         define to empty, rather than attempting nonportable optimizations.
43591         Problem reported by Paul Green in:
43592         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
43593         and fix suggested by Eric Blake in:
43594         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
43596 2011-08-17  Eric Blake  <eblake@redhat.com>
43598         getcwd: fix test failures on mingw
43599         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
43600         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
43601         test if long directory cannot be created, and allow mingw errno.
43603         getcwd-lgpl: fix m4 to match relaxed test for BSD
43604         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
43605         (gl_FUNC_GETCWD_SIGNATURE): New macro.
43606         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
43607         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
43608         signature problem.
43610         getcwd: fix compilation on mingw64
43611         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
43612         getcwd.
43613         Reported by Marc-André Lureau.
43615         pipe2: silence compiler warning
43616         * lib/pipe2.c (pipe2): Hide label if it is not used.
43618 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
43620         relocatable-prog: fix link error
43621         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
43622         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
43623         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
43624         into modules/relocatable-lib without noticing that
43625         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
43626         also needs to build relocatable.c.
43628 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
43630         getaddrinfo: fix sh typo in gai_strerrorA decl checking
43631         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
43632         shell code: it contained a 'break' that was not in a loop.
43633         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
43634         via a shell-language loop; this may have been true in old Autoconf
43635         versions, but it's not true in Autoconf 2.68.  I found this bug
43636         when testing coreutils git on Solaris 8, whose shell complains
43637         about the syntax error.
43639 2011-08-12  Simon Josefsson  <simon@josefsson.org>
43641         * lib/base64.c: Fix comment to reference RFC 4648.
43642         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
43643         <gvtulder@gmail.com>.
43645 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
43647         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
43649         po/Makefile.in.in: fix make -q problem
43650         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
43651         rule, since there's no file named 'check-macro-version' and its
43652         use as a file breaks make -q.
43653         (all): Don't depend on check-macro-version.
43654         (CHECK_MACRO_VERSION): New macro.
43655         (stamp-po): Use it.
43657         configmake: fix make -q problem
43658         * modules/configmake (configmake.h): Update configmake.h's time stamp
43659         even if the file does not change.  Otherwise, 'make -q' fails.
43660         Problem reported by Simon Josefsson in
43661         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
43663 2011-08-11  Jim Meyering  <meyering@redhat.com>
43665         git-version-gen: correct the advice in a comment
43666         * build-aux/git-version-gen: Correct comment.
43667         Don't recommend to list .tarball-version in .gitignore.
43669 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43671         base64: fix off-by-one buffer size bug
43672         Problem and (trivial) fix reported by Gijs van Tulder in
43673         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
43674         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
43675         * tests/test-base64.c (main): Catch the bug.
43677 2011-08-10  Eric Blake  <eblake@redhat.com>
43679         closein: correct comments
43680         * lib/closein.c (close_stdin): Improve comments.
43682 2011-08-09  Bruno Haible  <bruno@clisp.org>
43684         More tests for 'fseeko'.
43685         * tests/test-fseeko3.c: New file, from Eric Blake.
43686         * tests/test-fseeko3.sh: New file.
43687         * modules/fseeko-tests (Files): Add them.
43688         (TESTS): Add test-fseeko3.sh.
43689         (check_PROGRAMS): Add test-fseeko3.
43691 2011-08-09  Eric Blake  <eblake@redhat.com>
43693         fseeko: remove unneeded hack
43694         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
43696         fseeko: fix bug on glibc
43697         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
43698         Reported by John W. Eaton.
43700 2011-08-08  Bruno Haible  <bruno@clisp.org>
43702         unictype/base: Fix interoperability with preinstalled libunistring.
43703         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
43704         Reported by Simon Josefsson.
43706 2011-08-08  Bruno Haible  <bruno@clisp.org>
43708         iswblank: Detect declaration correctly.
43709         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
43710         AC_CHECK_DECLS invocation.
43712 2011-08-08  Bruno Haible  <bruno@clisp.org>
43714         tcgetsid: Detect declaration correctly.
43715         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
43716         AC_CHECK_DECLS invocation.
43717         Reported by Simon Josefsson.
43719 2011-08-08  Eric Blake  <eblake@redhat.com>
43721         largefile: fix typo that regressed large file support
43722         * modules/largefile (configure.ac-early): Fix section name.
43724 2011-08-06  Karl Berry  <karl@gnu.org>
43726         * MODULES.html.sh (func_all_files): _Noreturn is no longer
43727         a separate module.
43729 2011-08-05  Simon Josefsson  <simon@josefsson.org>
43731         openat: Fix warnings and commens when building unlinkat.c on Hurd.
43732         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
43733         get prototype for free.
43735 2011-08-04  Bruno Haible  <bruno@clisp.org>
43737         Tests for module 'pathmax'.
43738         * modules/pathmax-tests: New file.
43739         * tests/test-pathmax.c: New file.
43741         canonicalize-lgpl: Support larger filenames on the Hurd.
43742         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
43743         Reported by Paul Eggert.
43745         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
43746         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
43747         * lib/chdir-long.h: Include pathmax.h.
43748         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
43749         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
43750         (PATH_MAX): Remove code that is done by pathmax.h.
43751         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
43752         * lib/tmpfile.c: Add a comment.
43753         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
43754         * modules/chdir-long (Depends-on): Add pathmax.
43755         * modules/getcwd (Depends-on): Add pathmax.
43756         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
43757         is not defined.
43758         * doc/posix-headers/limits.texi: Mention the pathmax module.
43759         * NEWS: Mention the change.
43761 2011-08-02  Bruno Haible  <bruno@clisp.org>
43763         pthread_sigmask: Actually use results of gl_THREADLIB.
43764         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
43765         gl_THREADLIB, not gl_[]THREADLIB.
43766         Reported by Eric Blake.
43768 2011-08-02  Jim Meyering  <meyering@redhat.com>
43770         maint.mk: relax the default _gl_TS_function_match regexp
43771         * top/maint.mk (_gl_TS_function_match): Don't require at least one
43772         space between function name and "(" in an "extern" declaration.
43773         That would fail to match a decl with no space there: extern void foo();
43775 2011-07-31  Iain Nicol  <iain@thenicols.net>
43777         git-version-gen: document that EXTRA_DIST must include .version
43778         * build-aux/git-version-gen: In the how-to-use comment, document
43779         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
43780         will fail when run from an unpacked distribution tarball.
43782 2011-08-01  Bruno Haible  <bruno@clisp.org>
43784         wctype-h: Fix last change.
43785         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
43786         REPLACE_TOWLOWER to 0.
43787         Reported by Sam Steingold <sds@gnu.org>.
43789 2011-07-31  Bruno Haible  <bruno@clisp.org>
43791         frexpl: Update autoconf test.
43792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
43793         according to changes of 2011-06-20.
43795 2011-07-31  Bruno Haible  <bruno@clisp.org>
43797         sys_utsname: Add support for Minix.
43798         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
43799         <sys/utsname.h>.
43800         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43801         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
43803 2011-07-31  Bruno Haible  <bruno@clisp.org>
43805         strings: Add support for Minix.
43806         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
43807         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
43808         * doc/posix-headers/strings.texi: Document the Minix problem.
43810 2011-07-31  Bruno Haible  <bruno@clisp.org>
43812         wctype-h: Add support for Minix.
43813         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
43814         REPLACE_TOWLOWER.
43815         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
43816         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
43817         REPLACE_ISWCNTRL.
43819 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
43821         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
43822         This is a performance improvement for 64-bit hosts: it causes the
43823         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
43825 2011-07-31  Bruno Haible  <bruno@clisp.org>
43827         stdioext: Add support for Minix.
43828         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
43829         * lib/fpurge.c (fpurge): Likewise.
43830         * lib/freadahead.c (freadahead): Likewise.
43831         * lib/freadable.c (freadable): Likewise.
43832         * lib/freading.c (freading): Likewise.
43833         * lib/freadptr.c (freadptr): Likewise.
43834         * lib/freadseek.c (freadptrinc): Likewise.
43835         * lib/fseeko.c (rpl_fseeko): Likewise.
43836         * lib/fseterr.c (fseterr): Likewise.
43837         * lib/fwritable.c (fwritable): Likewise.
43838         * lib/fwriting.c (fwriting): Likewise.
43839         * lib/fflush.c (clear_ungetc_buffer): Update comment.
43840         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
43842 2011-07-31  Bruno Haible  <bruno@clisp.org>
43844         errno: Port to Minix.
43845         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
43846         ECONNABORTED are defined.
43847         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
43848         GNULIB_defined_ECONNABORTED): New macros.
43849         * lib/strerror-override.h (strerror_override): Test also
43850         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
43851         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
43852         ECONNABORTED.
43853         * doc/posix-headers/errno.texi: Mention the Minix problem.
43855 2011-07-31  Bruno Haible  <bruno@clisp.org>
43857         Work around declaration collisions on Minix.
43858         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
43859         defined, set REPLACE_MBSINIT.
43860         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
43861         defined, set REPLACE_MBRTOWC.
43862         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
43863         set REPLACE_MBRLEN.
43864         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
43865         defined, set REPLACE_MBSRTOWCS.
43866         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
43867         defined, set REPLACE_WCRTOMB.
43868         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
43869         defined, set REPLACE_WCSRTOMBS.
43871 2011-07-31  Bruno Haible  <bruno@clisp.org>
43873         Add support for Minix with ACK compiler.
43874         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
43875         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
43876         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
43878 2011-07-31  Bruno Haible  <bruno@clisp.org>
43880         Documentation about Minix.
43881         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
43882         * doc/glibc-headers/*.texi: Likewise.
43883         * doc/posix-functions/*.texi: Likewise.
43884         * doc/glibc-functions/*.texi: Likewise.
43886 2011-07-31  Bruno Haible  <bruno@clisp.org>
43888         snippet/warn-on-use: Fix indentation.
43889         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
43891 2011-07-25  Jim Meyering  <meyering@redhat.com>
43893         tests: test-update-copyright.sh: remove unnecessary "rm" commands
43894         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
43895         commands.
43897 2011-07-27  Jim Meyering  <meyering@redhat.com>
43899         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
43900         * top/maint.mk (gl_extract_significant_defines_): Now that
43901         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
43902         gnulib/lib/signal.in.h, and now that we recommend to
43903         define-if-undefined those two symbols in application code,
43904         we must filter them out of the "significant" list.
43905         This avoids a "make syntax-check" failure in coreutils.
43907 2011-07-26  Eric Blake  <eblake@redhat.com>
43909         warnings: add comments about previous patch
43910         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
43911         * m4/include_next.m4: Likewise.
43912         * m4/warn-on-use.m4: Likewise.
43913         * m4/warnings.m4: Likewise, and simplify use.
43914         Suggested by Stefano Lattarini.
43916         include-next, warnings: support older autoconf
43917         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
43918         AS_VAR_PUSHDEF in a way that works with older autoconf.
43919         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
43920         Reported by Daniel P. Berrange.
43922 2011-07-25  Bruno Haible  <bruno@clisp.org>
43924         fseek, ftell: Fix doc.
43925         * doc/posix-functions/fseek.texi: Reword statement about
43926         AC_SYS_LARGEFILE.
43927         * doc/posix-functions/ftell.texi: Likewise.
43929 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
43930             Bruno Haible  <bruno@clisp.org>
43932         Add dependencies to the 'largefile' module.
43933         * modules/fopen (Depends-on): Add 'largefile'.
43934         * modules/freopen (Depends-on): Likewise.
43935         * modules/fseeko (Depends-on): Likewise.
43936         * modules/ftello (Depends-on): Likewise.
43937         * modules/glob (Depends-on): Likewise.
43938         * modules/lseek (Depends-on): Likewise.
43939         * modules/lstat (Depends-on): Likewise.
43940         * modules/mkostemp (Depends-on): Likewise.
43941         * modules/mkostemps (Depends-on): Likewise.
43942         * modules/mkstemp (Depends-on): Likewise.
43943         * modules/mkstemps (Depends-on): Likewise.
43944         * modules/open (Depends-on): Likewise.
43945         * modules/openat (Depends-on): Likewise.
43946         * modules/pread (Depends-on): Likewise.
43947         * modules/pwrite (Depends-on): Likewise.
43948         * modules/scandir (Depends-on): Likewise.
43949         * modules/stat (Depends-on): Likewise.
43950         * modules/tmpfile (Depends-on): Likewise.
43951         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
43952         since the containing module now depends on the largefile module.
43953         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
43954         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
43955         off_t is fixed by gnulib.
43956         * doc/posix-functions/freopen.texi: Likewise.
43957         * doc/posix-functions/fseeko.texi: Likewise.
43958         * doc/posix-functions/fstatat.texi: Likewise.
43959         * doc/posix-functions/ftello.texi: Likewise.
43960         * doc/posix-functions/glob.texi: Likewise.
43961         * doc/posix-functions/lseek.texi: Likewise.
43962         * doc/posix-functions/lstat.texi: Likewise.
43963         * doc/posix-functions/mkstemp.texi: Likewise.
43964         * doc/posix-functions/open.texi: Likewise.
43965         * doc/posix-functions/openat.texi: Likewise.
43966         * doc/posix-functions/pread.texi: Likewise.
43967         * doc/posix-functions/pwrite.texi: Likewise.
43968         * doc/posix-functions/scandir.texi: Likewise.
43969         * doc/posix-functions/stat.texi: Likewise.
43970         * doc/posix-functions/tmpfile.texi: Likewise.
43971         * doc/glibc-functions/mkostemp.texi: Likewise.
43972         * doc/glibc-functions/mkostemps.texi: Likewise.
43973         * doc/glibc-functions/mkstemps.texi: Likewise.
43975 2011-07-25  Bruno Haible  <bruno@clisp.org>
43977         fcntl: Move AC_LIBOBJ invocation to module description.
43978         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
43979         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
43981         fcntl: Remove call-in from fchdir.m4.
43982         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
43983         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
43985         dup3: Remove potential call-in from fchdir.m4.
43986         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
43987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
43989         dup2: Move AC_LIBOBJ invocation to module description.
43990         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
43991         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
43992         Don't invoke AC_LIBOBJ.
43993         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
43995         dup2: Remove call-in from fchdir.m4.
43996         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
43997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
43999         fclose: Move AC_LIBOBJ invocation to module description.
44000         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
44001         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
44002         to 1.
44003         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
44005         fclose: Remove call-in from close.m4.
44006         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
44007         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
44009         close: Move AC_LIBOBJ invocation to module description.
44010         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
44011         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
44012         1.
44013         * modules/close (configure.ac): Invoke AC_LIBOBJ.
44015         close: Remove call-in from fchdir.m4.
44016         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
44017         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
44019         open: Move AC_LIBOBJ invocation to module description.
44020         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
44021         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
44022         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
44024         open: Remove call-in from fchdir.m4.
44025         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
44026         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
44028         fchdir: Start to remove gl_REPLACE_* idiom.
44029         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
44030         (gl_FUNC_FCHDIR): Invoke it.
44032 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
44034         * lib/ftell.c (ftell): Comment out cast.
44036         close: use gl_REPLACE_FCLOSE only if defined
44037         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
44038         is defined.  The close module doesn't depend on the fclose module
44039         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
44040         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
44041         I reproduced the problem with "./gnulib-tool --test close sys_socket".
44043 2011-07-24  Jim Meyering  <meyering@redhat.com>
44045         test-select.h: avoid warning when using gcc's -Wmissing-declarations
44046         * tests/test-select.h (test_function): Declare as "static".
44048 2011-07-24  Bruno Haible  <bruno@clisp.org>
44050         doc: Mention the effects of AC_SYS_LARGEFILE.
44051         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
44052         on this function.
44053         * doc/posix-functions/aio_error.texi: Likewise.
44054         * doc/posix-functions/aio_fsync.texi: Likewise.
44055         * doc/posix-functions/aio_read.texi: Likewise.
44056         * doc/posix-functions/aio_return.texi: Likewise.
44057         * doc/posix-functions/aio_suspend.texi: Likewise.
44058         * doc/posix-functions/aio_write.texi: Likewise.
44059         * doc/posix-functions/fgetpos.texi: Likewise.
44060         * doc/posix-functions/fopen.texi: Likewise.
44061         * doc/posix-functions/freopen.texi: Likewise.
44062         * doc/posix-functions/fsetpos.texi: Likewise.
44063         * doc/posix-functions/fstatvfs.texi: Likewise.
44064         * doc/posix-functions/ftruncate.texi: Likewise.
44065         * doc/posix-functions/ftw.texi: Likewise.
44066         * doc/posix-functions/getrlimit.texi: Likewise.
44067         * doc/posix-functions/glob.texi: Likewise.
44068         * doc/posix-functions/lio_listio.texi: Likewise.
44069         * doc/posix-functions/lockf.texi: Likewise.
44070         * doc/posix-functions/mkstemp.texi: Likewise.
44071         * doc/posix-functions/mmap.texi: Likewise.
44072         * doc/posix-functions/nftw.texi: Likewise.
44073         * doc/posix-functions/openat.texi: Likewise.
44074         * doc/posix-functions/opendir.texi: Likewise.
44075         * doc/posix-functions/posix_fadvise.texi: Likewise.
44076         * doc/posix-functions/posix_fallocate.texi: Likewise.
44077         * doc/posix-functions/pread.texi: Likewise.
44078         * doc/posix-functions/pwrite.texi: Likewise.
44079         * doc/posix-functions/readdir.texi: Likewise.
44080         * doc/posix-functions/readdir_r.texi: Likewise.
44081         * doc/posix-functions/rewinddir.texi: Likewise.
44082         * doc/posix-functions/scandir.texi: Likewise.
44083         * doc/posix-functions/seekdir.texi: Likewise.
44084         * doc/posix-functions/setrlimit.texi: Likewise.
44085         * doc/posix-functions/statvfs.texi: Likewise.
44086         * doc/posix-functions/telldir.texi: Likewise.
44087         * doc/posix-functions/tmpfile.texi: Likewise.
44088         * doc/posix-functions/truncate.texi: Likewise.
44089         * doc/glibc-functions/fallocate.texi: Likewise.
44090         * doc/glibc-functions/fstatfs.texi: Likewise.
44091         * doc/glibc-functions/fts_children.texi: Likewise.
44092         * doc/glibc-functions/fts_read.texi: Likewise.
44093         * doc/glibc-functions/getdirentries.texi: Likewise.
44094         * doc/glibc-functions/mkostemp.texi: Likewise.
44095         * doc/glibc-functions/mkostemps.texi: Likewise.
44096         * doc/glibc-functions/mkstemps.texi: Likewise.
44097         * doc/glibc-functions/preadv.texi: Likewise.
44098         * doc/glibc-functions/pwritev.texi: Likewise.
44099         * doc/glibc-functions/sendfile.texi: Likewise.
44100         * doc/glibc-functions/statfs.texi: Likewise.
44102 2011-07-24  Bruno Haible  <bruno@clisp.org>
44104         doc: Fix typo.
44105         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
44107 2011-07-24  Bruno Haible  <bruno@clisp.org>
44109         doc: Mention fsusage.
44110         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
44112 2011-07-24  Bruno Haible  <bruno@clisp.org>
44114         doc: Mention new glibc headers and functions.
44115         * doc/glibc-headers/gshadow.texi: New file.
44116         * doc/glibc-functions/endsgent.texi: New file.
44117         * doc/glibc-functions/fgetsgent.texi: New file.
44118         * doc/glibc-functions/fgetsgent_r.texi: New file.
44119         * doc/glibc-functions/getsgent.texi: New file.
44120         * doc/glibc-functions/getsgent_r.texi: New file.
44121         * doc/glibc-functions/getsgnam.texi: New file.
44122         * doc/glibc-functions/getsgnam_r.texi: New file.
44123         * doc/glibc-functions/putsgent.texi: New file.
44124         * doc/glibc-functions/setsgent.texi: New file.
44125         * doc/glibc-functions/sgetsgent.texi: New file.
44126         * doc/glibc-functions/sgetsgent_r.texi: New file.
44127         * doc/glibc-functions/malloc_info.texi: New file.
44128         * doc/glibc-functions/preadv.texi: New file.
44129         * doc/glibc-functions/pwritev.texi: New file.
44130         * doc/glibc-functions/register_printf_modifier.texi: New file.
44131         * doc/glibc-functions/register_printf_specifier.texi: New file.
44132         * doc/glibc-functions/register_printf_type.texi: New file.
44133         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
44134         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
44135         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
44136         * doc/glibc-functions/pthread_getname_np.texi: New file.
44137         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
44138         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
44139         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
44140         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
44141         * doc/glibc-functions/pthread_setname_np.texi: New file.
44142         * doc/glibc-functions/pthread_sigqueue.texi: New file.
44143         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
44144         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
44145         * doc/glibc-functions/qsort_r.texi: New file.
44146         * doc/glibc-functions/quick_exit.texi: New file.
44147         * doc/glibc-functions/syncfs.texi: New file.
44148         * doc/gnulib.texi: Include them.
44149         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
44150         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
44151         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
44152         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
44153         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
44154         * doc/glibc-functions/execvpe.texi: Likewise.
44156 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44158         ftell: don't include <unistd.h>
44159         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
44160         guaranteed to define off_t, and the ftell module depends on the
44161         stdio module.
44163         ftell: do not assume wraparound signed arithmetic
44164         * lib/ftell.c: Include <limits.h>.
44165         (ftell): Don't assume wraparound signed arithmetic.
44167 2011-07-24  Bruno Haible  <bruno@clisp.org>
44169         close: No longer depend on module 'fclose'.
44170         * modules/close (Depends-on): Remove fclose.
44171         * NEWS: Mention the change.
44172         Suggested by Sam Steingold <sds@gnu.org>.
44174 2011-07-24  Bruno Haible  <bruno@clisp.org>
44176         fsusage: Enable large volume support on AIX >= 5.2.
44177         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
44178         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
44179         instead of STAT_STATVFS.
44180         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
44182         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
44183         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
44184         f_blocks field only on MacOS X.
44186         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
44187         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
44188         * modules/fsusage (Depends-on): Add largefile.
44190 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
44192         * README: Modernize discussion of signed integers.
44193         Assuming overflow wraparound is no longer safe.
44194         Mention ones' complement and signed magnitude.
44196 2011-07-22  Bruno Haible  <bruno@clisp.org>
44198         select tests, pselect tests: Refactor.
44199         * tests/test-select.h: New file, extracted from tests/test-select.c.
44200         (select_fn): New type.
44201         (test, do_select, do_select_nowait, do_select_wait, test_tty,
44202         test_connect_first, test_accept_first, test_pair, test_socket_pair,
44203         test_pipe): Add my_select argument.
44204         (test_function): Renamed from main. Add my_select argument.
44205         * tests/test-select.c: Move most code to tests/test-select.h. Include
44206         test-select.h.
44207         * modules/select-tests (Files): Add tests/test-select.h.
44208         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
44209         (my_select, main): New functions.
44210         * modules/pselect-tests (Files): Add tests/test-select.h,
44211         tests/macros.h, tests/signature.h.
44212         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
44213         (configure.ac): Check for <sys/wait.h>.
44215 2011-07-22  Bruno Haible  <bruno@clisp.org>
44217         sys_select tests: Check the signature of FD_*.
44218         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
44219         signature tests from here...
44220         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
44221         here.
44222         * modules/sys_select-tests (Files): Add tests/signature.h.
44224 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
44226         largefile: new module, replacing large-inode
44227         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
44228         * MODULES.html.sh: Add largefile, remove large-inode.
44229         * modules/largefile, m4/largefile.m4: New files.
44230         * modules/large-inode, m4/large-inode.m4: Remove.
44232         fsusage: port to MacOS X 10.7 with 4 TiB file systems
44233         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
44234         implementations that use only 32 bits to count blocks.
44235         On typical hosts with 1024-byte blocks, this fails with file
44236         systems as small as 4 TiB.  Problem reported by Herb Wartens
44237         <http://debbugs.gnu.org/9140> and this should also fix a similar
44238         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
44240         large-inode: New module
44241         * MODULES.html.sh: Add it.
44242         * modules/large-inode, m4/large-inode.m4: New files.
44244         extensions: Enable extensions on MacOS X 10.5 and later.
44245         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
44247 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
44249         file-has-acl: use acl_extended_file_nofollow if available
44250         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
44251         (acl_extended_file): New macro.
44252         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
44253         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
44255 2011-07-21  Bruno Haible  <bruno@clisp.org>
44257         Declare system functions in a way that works with C++.
44258         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
44259         declare fdopendir as extern "C".
44260         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
44261         declare frexpl as extern "C".
44262         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
44263         declare gai_strerror as extern "C".
44264         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
44265         programs, declare gai_strerror as extern "C".
44266         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
44267         declare getlogin_r as extern "C".
44268         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
44269         as extern "C".
44270         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
44271         declare ldexpl as extern "C".
44272         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
44273         as extern "C".
44274         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
44275         program, declare getmntinfo as extern "C".
44276         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
44277         stpncpy as extern "C".
44278         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
44279         program, declare __xpg_strerror_r as extern "C".
44280         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
44281         strndup as extern "C".
44282         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
44283         declare memset and bzero as extern "C".
44284         Reported by Sam Steingold <sds@gnu.org>.
44286 2011-07-12  Jim Meyering  <meyering@redhat.com>
44288         maint.mk: prohibit inclusion of "verify.h" without use
44289         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
44291 2011-07-19  Pádraig Brady  <P@draigBrady.com>
44293         timer-time: A new module to check for timer_settime()
44294         * m4/timer_time.m4: Check for the posix function.
44295         * modules/timer-time: Add the new module.
44296         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
44297         Mention it.
44299 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
44300             Bruno Haible  <bruno@clisp.org>
44302         pthread_sigmask: assume POSIX threads if --avoid=threadlib
44303         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
44304         not defined, assume POSIX threads and look for pthread_sigmask in
44305         $LIBS, without changing $CPPFLAGS.
44307 2011-07-19  Bruno Haible  <bruno@clisp.org>
44309         strstr: Update cross-compilation guess.
44310         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
44311         CPUs, guess no, in view of glibc
44312         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
44313         Suggested by Eric Blake. Reported by Reuben Thomas.
44315 2011-07-19  Pádraig Brady  <P@draigBrady.com>
44317         getopt-gnu: suppress core dumps from detection code
44318         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
44319         to suppress core dumps that may well occur on glibc systems.
44320         * modules/getopt-gnu: Depend on nocrash.
44322 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
44324         pthread_sigmask: ensure usleep is declared
44325         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
44326         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
44328 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44330         doc: Document NonStop portability issues.
44331         * doc/posix-functions/sigaction.texi (sigaction):
44332         * doc/posix-headers/signal.texi (signal.h):
44333         Document NonStop.  See Joachim Schmitz in
44334         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
44336 2011-07-15  Bruno Haible  <bruno@clisp.org>
44338         ffsl, ffsll: Avoid unportable behaviour.
44339         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
44341 2011-07-15  Bruno Haible  <bruno@clisp.org>
44343         ffs: More tests.
44344         * tests/test-ffs.c (NBITS): New macro.
44345         (main): Add more tests.
44346         * tests/test-ffsl.c (NBITS): New macro.
44347         (main): Add more tests.
44348         * tests/test-ffsll.c (NBITS): New macro.
44349         (main): Add more tests.
44351 2011-07-15  Eric Blake  <eblake@redhat.com>
44353         ffsl, ffsll: new modules
44354         * modules/ffsl: New file.
44355         * modules/ffsll: Likewise.
44356         * m4/ffsl.m4: Likewise.
44357         * m4/ffsll.m4: Likewise.
44358         * lib/ffsl.c: Likewise.
44359         * lib/ffsl.h: Likewise.
44360         * lib/ffsll.c: Likewise.
44361         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
44362         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
44363         * modules/string (Makefile.am): Substitute witnesses.
44364         * lib/strings.in.h (ffsl, ffsll): Declare.
44365         * modules/ffsl-tests: New test file.
44366         * modules/ffsll-tests: Likewise.
44367         * tests/test-ffsl.c: Likewise.
44368         * tests/test-ffsll.c: Likewise.
44369         * MODULES.html.sh (Integer arithmetic functions): Mention it.
44370         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
44371         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
44373         ffs: fix m4 prerequisite
44374         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
44376         ffs: avoid undefined behavior
44377         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
44378         * tests/test-ffs.c (naive, main): Avoid signed shifts.
44379         Reported by Bruno Haible.
44381 2011-07-12  Bruno Haible  <bruno@clisp.org>
44383         pthread_sigmask: Rely on module 'threadlib'.
44384         * modules/pthread_sigmask (Depends-on): Add threadlib.
44385         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
44386         is defined.
44388 2011-07-12  Bruno Haible  <bruno@clisp.org>
44390         regex: Depend on module 'strcase'.
44391         * modules/regex (Depends-on): Add strcase, for strcasecmp().
44393 2011-07-12  Jim Meyering  <meyering@redhat.com>
44395         warn-on-use: fix typo in file name
44396         * modules/snippet/warn-on-use (Files): Correct file name:
44397         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
44399 2011-07-12  Bruno Haible  <bruno@clisp.org>
44401         strings: Document module.
44402         * doc/posix-headers/strings.texi: Mention module 'strings'.
44404 2011-07-12  Bruno Haible  <bruno@clisp.org>
44406         Rename module '_Noreturn' to 'snippet/_Noreturn'.
44407         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
44408         (Files, Makefile.am): Update.
44409         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
44410         * modules/stdlib (Depends-on): Update.
44412 2011-07-12  Bruno Haible  <bruno@clisp.org>
44414         * NEWS: Mention the changes.
44416         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
44417         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
44418         (Files, Makefile.am): Update.
44419         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
44420         * modules/arpa_inet (Depends-on): Update.
44421         * modules/ctype (Depends-on): Update.
44422         * modules/dirent (Depends-on): Update.
44423         * modules/fcntl-h (Depends-on): Update.
44424         * modules/glob (Depends-on): Update.
44425         * modules/iconv-h (Depends-on): Update.
44426         * modules/inttypes-incomplete (Depends-on): Update.
44427         * modules/langinfo (Depends-on): Update.
44428         * modules/locale (Depends-on): Update.
44429         * modules/math (Depends-on): Update.
44430         * modules/netdb (Depends-on): Update.
44431         * modules/poll-h (Depends-on): Update.
44432         * modules/pty (Depends-on): Update.
44433         * modules/search (Depends-on): Update.
44434         * modules/signal (Depends-on): Update.
44435         * modules/spawn (Depends-on): Update.
44436         * modules/stdio (Depends-on): Update.
44437         * modules/stdlib (Depends-on): Update.
44438         * modules/string (Depends-on): Update.
44439         * modules/strings (Depends-on): Update.
44440         * modules/sys_file (Depends-on): Update.
44441         * modules/sys_ioctl (Depends-on): Update.
44442         * modules/sys_select (Depends-on): Update.
44443         * modules/sys_socket (Depends-on): Update.
44444         * modules/sys_stat (Depends-on): Update.
44445         * modules/sys_time (Depends-on): Update.
44446         * modules/sys_times (Depends-on): Update.
44447         * modules/sys_utsname (Depends-on): Update.
44448         * modules/sys_wait (Depends-on): Update.
44449         * modules/termios (Depends-on): Update.
44450         * modules/time (Depends-on): Update.
44451         * modules/unistd (Depends-on): Update.
44452         * modules/wchar (Depends-on): Update.
44453         * modules/wctype-h (Depends-on): Update.
44454         * MODULES.html.sh (Support for building libraries and executables):
44455         Update.
44457         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
44458         * modules/snippet/unused-parameter: Renamed from
44459         modules/unused-parameter.
44460         (Files, Makefile.am): Update.
44461         * build-aux/snippet/unused-parameter.h: Renamed from
44462         build-aux/unused-parameter.h.
44463         * modules/selinux-h (Depends-on): Update.
44464         * modules/unistr/base (Depends-on): Update.
44465         * MODULES.html.sh (Core language properties): Update.
44467         Rename module 'link-warning' to 'snippet/link-warning'.
44468         * modules/snippet/link-warning: Renamed from modules/link-warning.
44469         (Files, Makefile.am): Update.
44470         * build-aux/snippet/link-warning.h: Renamed from
44471         build-aux/link-warning.h.
44472         * MODULES.html.sh (Support for building libraries and executables):
44473         Update.
44475         Rename module 'c++defs' to 'snippet/c++defs'.
44476         * modules/snippet/c++defs: Renamed from modules/c++defs.
44477         (Files, Makefile.am): Update.
44478         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
44479         * modules/arpa_inet (Depends-on): Update.
44480         * modules/ctype (Depends-on): Update.
44481         * modules/dirent (Depends-on): Update.
44482         * modules/fcntl-h (Depends-on): Update.
44483         * modules/glob (Depends-on): Update.
44484         * modules/iconv-h (Depends-on): Update.
44485         * modules/langinfo (Depends-on): Update.
44486         * modules/locale (Depends-on): Update.
44487         * modules/math (Depends-on): Update.
44488         * modules/netdb (Depends-on): Update.
44489         * modules/poll-h (Depends-on): Update.
44490         * modules/pty (Depends-on): Update.
44491         * modules/search (Depends-on): Update.
44492         * modules/signal (Depends-on): Update.
44493         * modules/spawn (Depends-on): Update.
44494         * modules/stdio (Depends-on): Update.
44495         * modules/stdlib (Depends-on): Update.
44496         * modules/string (Depends-on): Update.
44497         * modules/strings (Depends-on): Update.
44498         * modules/sys_ioctl (Depends-on): Update.
44499         * modules/sys_select (Depends-on): Update.
44500         * modules/sys_socket (Depends-on): Update.
44501         * modules/sys_stat (Depends-on): Update.
44502         * modules/sys_time (Depends-on): Update.
44503         * modules/sys_wait (Depends-on): Update.
44504         * modules/termios (Depends-on): Update.
44505         * modules/time (Depends-on): Update.
44506         * modules/unistd (Depends-on): Update.
44507         * modules/wchar (Depends-on): Update.
44508         * modules/wctype-h (Depends-on): Update.
44510         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
44511         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
44512         (Files, Makefile.am): Update.
44513         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
44514         * modules/argv-iter (Depends-on): Update.
44515         * modules/arpa_inet (Depends-on): Update.
44516         * modules/dirent (Depends-on): Update.
44517         * modules/fcntl-h (Depends-on): Update.
44518         * modules/fnmatch (Depends-on): Update.
44519         * modules/getopt-posix (Depends-on): Update.
44520         * modules/glob (Depends-on): Update.
44521         * modules/iconv-h (Depends-on): Update.
44522         * modules/inttypes-incomplete (Depends-on): Update.
44523         * modules/locale (Depends-on): Update.
44524         * modules/math (Depends-on): Update.
44525         * modules/netdb (Depends-on): Update.
44526         * modules/search (Depends-on): Update.
44527         * modules/signal (Depends-on): Update.
44528         * modules/spawn (Depends-on): Update.
44529         * modules/stdio (Depends-on): Update.
44530         * modules/stdlib (Depends-on): Update.
44531         * modules/string (Depends-on): Update.
44532         * modules/strings (Depends-on): Update.
44533         * modules/sys_socket (Depends-on): Update.
44534         * modules/sys_stat (Depends-on): Update.
44535         * modules/sys_time (Depends-on): Update.
44536         * modules/sys_times (Depends-on): Update.
44537         * modules/sys_utsname (Depends-on): Update.
44538         * modules/time (Depends-on): Update.
44539         * modules/unistd (Depends-on): Update.
44540         * modules/wchar (Depends-on): Update.
44541         * MODULES.html.sh (Support for building libraries and executables):
44542         Update.
44544 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
44546         Improvements on _Noreturn and related modules.
44548         modules/_Exit-tests: test _Noreturn too
44549         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
44550         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
44551         (main): Use them.
44553         stdnoreturn, stdnoreturn-tests: remove modules
44554         They're not needed here and a bit premature for use elsewhere.  See
44555         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
44556         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
44557         * tests/test-stdnoreturn.c: Remove files.
44558         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
44559         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
44560         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
44561         and using noreturn.
44562         * modules/openat, modules/sigpipe-die, modules/xalloc:
44563         * modules/xmemdup0, modules/xstrtol:
44564         Remove dependency on stdnoreturn.
44566         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
44567         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
44568         Reparenthesize to avoid GCC warning.
44569         Support Microsoft's syntax.
44570         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
44572         _Noreturn-tests: remove module
44573         * modules/_Noreturn-tests: Remove.
44574         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
44575         * tests/test-_Noreturn.c: Remove.
44576         * tests/test-stdnoreturn.c: Merge from the old
44577         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
44579 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
44581         _Noreturn, stdnoreturn, and related modules.
44583         * top/maint.mk: Adjust to new noreturn support.
44584         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
44585         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
44587         xalloc: use stdnoreturn.h
44588         * lib/xalloc.h: Include <stdnoreturn.h>.
44589         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
44590         * modules/xalloc (Depends-on): Add stdnoreturn.
44592         xstrtol: use stdnoreturn.h
44593         * lib/xstrtol.h: Include <stdnoreturn.h>.
44594         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
44595         * modules/xstrtol (Depends-on): Add stdnoreturn.
44597         xmemdup0: use stdnoreturn.h
44598         * lib/xmemdup0.h: Include <stdnoreturn.h>.
44599         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
44600         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
44602         sigpipe-die: use stdnoreturn.h
44603         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
44604         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
44605         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
44607         openat: use stdnoreturn.h
44608         * lib/openat.h: Include <stdnoreturn.h>.
44609         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
44610         * modules/openat (Depends-on): Add stdnoreturn.
44612         * lib/openat-die.c (openat_save_fail): Modernize comment.
44614         * lib/xalloc-die.c (xalloc_die): Modernize comment.
44616         * lib/glthread/thread.h: Modernize comment.
44618         obstack: use _Noreturn
44619         * lib/obstack.c (__attribute__): Remove macro.
44620         (print_and_abort): Use _Noreturn.
44622         c-stack: use _Noreturn
44623         * lib/c-stack.c (die, overflow_handler, segv_handler):
44624         Use _Noreturn rather than __attribute__((noreturn)).
44626         argmatch-tests, exclude_tests: use _Noreturn
44627         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
44628         Remove.
44629         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
44631         stdlib: use _Noreturn
44632         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
44633         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
44634         * modules/stdlib (Depends-on): Add _Noreturn.
44635         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
44637         stdnoreturn-tests: new module
44638         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
44640         stdnoreturn: new module
44641         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
44642         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
44644         _Noreturn-tests: new module
44645         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
44647         _Noreturn: new module
44648         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
44649         New section, mentioning it.
44650         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
44652         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
44654 2011-07-11  Eric Blake  <eblake@redhat.com>
44656         ffs: new module
44657         * modules/ffs: New file.
44658         * m4/ffs.m4: Likewise.
44659         * lib/ffs.c: Likewise.
44660         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
44661         * modules/strings (Makefile.am): Substitute witness.
44662         (Depends-on): Add c++defs.
44663         * lib/strings.in.h (ffs): Declare.
44664         * modules/ffs-tests: New test file.
44665         * tests/test-ffs.c: Test new module.
44666         * MODULES.html.sh (Integer arithmetic functions): Mention it.
44667         * doc/posix-functions/ffs.texi (ffs): Likewise.
44669         regex: avoid compiler warning
44670         * lib/regex.c (includes): Include <strings.h>, for use of
44671         strcasecmp in regcomp.c.
44672         Reported by Joachim Schmitz.
44674 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
44676         stdint: respect system's intmax_t if INTMAX_MAX
44677         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
44678         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
44679         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
44680         long but int64_t is long long, and where we will clash with the
44681         system intmax_t if we override it.  See
44682         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
44683         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
44684         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
44685         similarly for UINTMAX_C.
44687 2011-07-08  Bruno Haible  <bruno@clisp.org>
44689         pthread_sigmask tests: Avoid a compiler warning.
44690         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
44691         non-zero.
44693         sigprocmask tests: A better way to avoid a compiler warning.
44694         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
44695         (main): Complain if system() returns non-zero.
44696         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
44698 2011-07-08  Bruno Haible  <bruno@clisp.org>
44700         pthread_sigmask: Work around IRIX bug.
44701         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
44702         bug.
44703         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
44704         there may be unblocked pending signals.
44705         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
44707 2011-07-08  Bruno Haible  <bruno@clisp.org>
44709         pthread_sigmask: Work around Cygwin bug.
44710         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
44711         bug.
44712         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
44713         the system's pthread_sigmask function.
44714         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
44716 2011-07-08  Bruno Haible  <bruno@clisp.org>
44718         pthread_sigmask: Work around bug in single-threaded implementation.
44719         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
44720         FreeBSD, HP-UX, Solaris bug.
44721         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
44722         * lib/pthread_sigmask.c: Include <stddef.h>.
44723         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
44724         the system's pthread_sigmask function.
44725         * modules/pthread_sigmask (configure.ac): Invoke
44726         gl_PREREQ_PTHREAD_SIGMASK.
44727         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
44728         HP-UX, Solaris.
44730 2011-07-08  Eric Blake  <eblake@redhat.com>
44732         test-sigprocmask: avoid compiler warning
44733         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
44734         * tests/test-sigprocmask.c (main): Use it to silence warning.
44735         Reported by Jim Meyering.
44737         test-snprintf: avoid compiler warning
44738         * tests/test-snprintf.c (main): Avoid shadowed declaration.
44739         * tests/test-vsnprintf.c (main): Likewise.
44740         Reported by Jim Meyering.
44742 2011-07-08  Bruno Haible  <bruno@clisp.org>
44744         Tests for module 'pthread_sigmask'.
44745         * modules/pthread_sigmask-tests: New file.
44746         * tests/test-pthread_sigmask1.c: New file, based on
44747         tests/test-sigprocmask.c.
44748         * tests/test-pthread_sigmask2.c: New file.
44750 2011-07-08  Jim Meyering  <meyering@redhat.com>
44752         test-getopt.h: avoid warning about an unused variable
44753         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
44755 2011-07-07  Jim Meyering  <meyering@redhat.com>
44757         maint: reduce list of files exempt from sc_prohibit_leading_TABs
44758         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
44759         now that it no longer contains leading TABs.
44760         Remove unused "url=FIXME" statement.
44762 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
44764         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
44765         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
44766         When gl_THREADLIB is not in use, assume that the POSIX sematics
44767         are desired.  This is better for Emacs, which uses POSIX semantics
44768         on GNUish and/or POSIXish platforms, and does not use threads at
44769         all otherwise.
44771         pthread_sigmask: fix typo when testing for libraries
44772         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
44773         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
44775 2011-07-08  Eric Blake  <eblake@redhat.com>
44777         fts: introduce FTS_NOATIME
44778         * lib/fts_.h (FTS_NOATIME): New bit flag.
44779         (FTS_OPTIONMASK): Adjust.
44780         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
44781         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
44783 2011-07-08  Bruno Haible  <bruno@clisp.org>
44785         Tests for module 'thread'.
44786         * modules/thread-tests: New file.
44787         * tests/test-thread_self.c: New file.
44788         * tests/test-thread_create.cc: New file.
44790 2011-07-08  Bruno Haible  <bruno@clisp.org>
44792         thread: Avoid gcc warnings when using gl_thread_self().
44793         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
44794         'void *'.
44795         (gl_thread_self_pointer): Update.
44797 2011-07-07  Bruno Haible  <bruno@clisp.org>
44799         signal-c++-tests: Check declaration of pthread_sigmask.
44800         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
44801         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
44802         $(LIB_PTHREAD_SIGMASK).
44804 2011-07-07  Bruno Haible  <bruno@clisp.org>
44806         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
44807         * lib/signal.in.h (pthread_sigmask): Override if
44808         REPLACE_PTHREAD_SIGMASK is 1.
44809         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
44810         REPLACE_PTHREAD_SIGMASK.
44811         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
44812         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
44813         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
44814         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
44815         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
44817 2011-07-07  Bruno Haible  <bruno@clisp.org>
44819         pthread_sigmask: Ensure declaration in <signal.h>.
44820         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
44821         include <pthread.h>.
44822         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
44823         problem.
44825 2011-07-07  Bruno Haible  <bruno@clisp.org>
44827         pthread_sigmask: Document the module.
44828         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
44830 2011-07-07  Bruno Haible  <bruno@clisp.org>
44832         pthread_sigmask: Follow gnulib conventions.
44833         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
44834         gl_PTHREAD_SIGMASK.
44835         * modules/pthread_sigmask (configure.ac): Update.
44837 2011-07-07  Bruno Haible  <bruno@clisp.org>
44839         pthread_sigmask: Make declaration C++ safe.
44840         * lib/signal.in.h: In two special conditions, just do an #include_next.
44841         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
44842         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
44843         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
44844         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
44845         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
44846         not REPLACE_PTHREAD_MASK.
44847         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
44848         not REPLACE_PTHREAD_MASK.
44849         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
44851 2011-07-07  Bruno Haible  <bruno@clisp.org>
44853         pthread_sigmask: Fix return value.
44854         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
44855         * lib/pthread_sigmask.c: New file.
44856         * modules/pthread_sigmask (Files): Add it.
44857         (configure.ac): Invoke AC_LIBOBJ.
44859 2011-07-07  Eric Blake  <eblake@redhat.com>
44861         getopt: more portable argv creation
44862         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
44863         const, use char arrays rather than strings.
44864         Suggested by Paul Eggert.
44866 2011-07-07  Bruno Haible  <bruno@clisp.org>
44868         Tests for module 'sigprocmask'.
44869         * modules/sigprocmask-tests: New file.
44870         * tests/test-sigprocmask.c: New file.
44872 2011-07-07  Bruno Haible  <bruno@clisp.org>
44874         float tests: Tweak.
44875         * tests/test-float.c (main): Tweak skip message.
44877 2011-07-07  Eric Blake  <eblake@redhat.com>
44879         getopt: avoid compiler warning during configure
44880         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
44881         assigning string literals to non-const pointer.
44883         getopt-gnu: avoid crash in glibc getopt
44884         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
44885         * tests/test-getopt.h (test_getopt): Enhance test.
44886         * tests/test-getopt_long.h (test_getopt_long): Likewise.
44887         * doc/posix-functions/getopt.texi (getopt): Document it.
44888         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
44889         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
44890         Likewise.
44892 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
44894         getopt: handle W; without long options in getopt [BZ #12922]
44895         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
44896         but no long options are defined, just return 'W'.
44898 2011-07-07  Bruno Haible  <bruno@clisp.org>
44900         Avoid literal tabs.
44901         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
44902         variable containing a tab instead of a literal tab.
44903         Reported by Jim Meyering.
44905 2011-07-07  Bruno Haible  <bruno@clisp.org>
44907         Comments.
44908         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
44910 2011-07-06  Bruno Haible  <bruno@clisp.org>
44912         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
44913         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
44914         <winsock2.h>.
44915         (rpl_fd_isset, FD_ISSET): New definitions, copied from
44916         lib/sys_socket.in.h.
44917         (close, gethostname): Hide declarations from <winsock2.h>.
44918         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
44919         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
44920         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
44921         (select): Don't override if gnulib's <sys/select.h> was already
44922         included.
44923         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
44924         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
44925         setsockopt, shutdown, select): Tweak indentation.
44927 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44929         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
44930         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
44931         in an application that does not use the sys_select module.
44933 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
44935         poll: do not return 0 on timeout=-1
44936         * lib/poll.c: Loop with yield if no events occurred.
44938 2011-07-06  Eric Blake  <eblake@redhat.com>
44940         pthread_sigmask: always replace when not using pthread
44941         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
44942         replacement when using some threading other than pthread.  Fix
44943         logic bug.
44945 2011-07-06  Bruno Haible  <bruno@clisp.org>
44947         Comments.
44948         * m4/printf.m4: Update comments about mingw.
44950 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44952         sys_select: define sigset_t more portably
44953         * lib/sys_select.in.h: Always include <sys/types.h>, since
44954         we now need sigset_t and mingw defines it there.
44955         Include <signal.h> before split inclusion guard, to avoid
44956         mishaps on Solaris, whose <signal.h> eventually includes us.
44957         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
44958         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
44959         which come from ...
44960         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
44961         gl_CHECK_TYPE_SIGSET_T.
44962         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
44963         does the real work.
44964         * modules/sys_select (Depends-on): Add 'signal'.
44966         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
44967         Suggested by Bruno Haible.
44969         pselect: Use pthread_sigmask, not sigprocmask.
44970         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
44971         multithreaded apps better than sigprocmask does.
44972         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
44973         sigprocmask directly.
44975 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44977         * lib/pselect.c (pselect): Use plain name, without "rpl_".
44978         Don't #undef,  since we don't need any underlying pselect.
44979         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
44980         (Depends-on): Add select.
44981         (Link): Add $(LIBSOCKET).
44982         These changes suggested by Bruno Haible.
44984         pselect: document better
44985         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
44986         * doc/posix-functions/pselect.texi (pselect): Document new module.
44988         pthread_sigmask: new module
44989         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
44990         * doc/posix-functions/pthread_sigmask.texi: Document new module.
44991         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
44992         This is done only as a macro; I don't know how well that'll
44993         work for C++.  Move <sys/types.h> include before the include_next,
44994         to avoid mishap on Solaris.
44995         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
44996         * modules/signal (Makefile.am): Substitute the check's results.
44997         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
44999         test-pselect: new module
45000         * modules/pselect-tests, tests/test-pselect.c: New files.
45001         * tests/test-select.c, tests/test-sys_select-c++.cc:
45002         If TEST_PSELECT is defined, test pselect instead of testing select.
45004         * tests/test-sys_select.c (sigset_t): Test for it, too.
45005         Suggested by Bruno Haible.
45007 2011-07-05  Eric Blake  <eblake@redhat.com>
45009         snprintf: guarantee %1$d, for libintl
45010         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
45011         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
45012         * doc/posix-functions/snprintf.texi (snprintf): Update.
45013         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45014         * tests/test-snprintf.c (main): Enhance test.
45015         * tests/test-vsnprintf.c (main): Likewise.
45017 2011-07-05  Jim Meyering  <meyering@redhat.com>
45019         maint: exempt stdio-read.c and stdio-write.c from the cppi check
45020         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
45021         per Bruno's request, to accommodate this idiom (no space after "#")
45022         even when the function is inside an #if block:
45023         char *
45024         gets (char *s)
45025         #undef gets
45026         {
45027           ...
45028         }
45030 2011-07-04  Jim Meyering  <meyering@redhat.com>
45032         maint: indent with spaces, not TABs, and add a rule to check this
45033         * tests/test-userspec.c: Indent with spaces, not TABs.
45034         * tests/test-argp.c: Likewise.
45035         * tests/test-c-stack2.sh: Likewise.
45036         * tests/test-parse-duration.sh: Likewise
45037         * m4/strtod.m4: Likewise.
45038         * m4/alloca.m4: Likewise.
45039         * m4/pselect.m4: Likewise.
45040         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
45042 2011-07-03  Jim Meyering  <meyering@redhat.com>
45044         maint.mk: correct omissions in prohibit_argmatch_without_use check
45045         This rule would mistakenly report that argmatch.h is included without
45046         use even when both the argmatch and invalid_arg macro were used.
45047         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
45048         of argmatch and invalid_arg.
45050 2011-07-03  Bruno Haible  <bruno@clisp.org>
45052         Comments about EINTR.
45053         * lib/safe-read.h: Explain the purpose of this module.
45054         * lib/safe-write.h: Likewise.
45055         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
45056         module.
45057         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
45058         module.
45059         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45061 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
45063         xnanosleep: Rewrite to use new dtotimespec module.
45064         It has the conversion code that used to be in xnanosleep.
45065         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
45066         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
45067         (TIME_T_MAX): Remove.
45068         (xnanosleep): Rewrite in terms of dtotimespec.
45069         * modules/xnanosleep (Depends-on): Add dtotimespec.
45070         Remove intprops, stdbool.
45072         timespec-add, timespec-sub: new modules
45073         * lib/timespec.h (timespec_add, timespec_sub): New decls.
45074         * lib/timespec-add.c, lib/timespec-sub.c:
45075         * modules/timespec-add, modules/timespec-sub: New files.
45077         dtotimespec: new module
45078         * lib/timespec.h (dtotimespec): New decl.
45079         * lib/dtotimespec.c, modules/dtotimespec: New files.
45081         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
45083         pselect: new module
45084         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
45085         (pselect): New decls.
45086         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
45087         since the standard pselect decl uses 'restrict'.
45088         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
45089         HAVE_PSELECT, REPLACE_PSELECT.
45090         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
45091         HAVE_PSELECT, REPLACE_PSELECT.
45092         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
45094         sys_select: don't depend on sys_socket
45095         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
45096         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
45097         This fix works on GNU and GNU-like platforms, but has not been tested
45098         on native Windows.
45099         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
45100         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
45101         gl_HEADER_SYS_SOCKET.
45102         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
45103         gl_PREREQ_SYS_H_WINSOCK2.
45105 2011-06-29  Eric Blake  <eblake@redhat.com>
45107         pipe2: fix C89 compile problem
45108         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
45109         Reported by Bruno Haible.
45111         pipe, pipe2: don't corrupt fd on error
45112         * lib/pipe.c (pipe): Leave fd unchanged on error.
45113         * lib/pipe2.c (pipe2): Likewise.
45114         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
45115         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
45117 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
45119         mmap-anon: do not use regular expressions inadvertently
45120         * m4/mmap-anon.m4: Remove trailing period from strings sought
45121         in the output.
45123 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
45125         nanosleep: fix integer overflow problem
45126         * lib/nanosleep.c (my_usleep): Don't assume signed integer
45127         arithmetic wraps around on overflow.
45129         nanosleep: simplify carrying
45130         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
45131         first call to the underyling nanosleep, not for the last one.
45132         This doesn't fix any bugs, but it simplifies the computation of
45133         the remaining delay.  Found while auditing integer overflow issues.
45135         dup2: remove test for existence of fcntl
45136         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
45137         "#if HAVE_FCNTL", in the configure-time test program.
45138         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
45139         and therefore speeds up "configure" a bit.  Found while
45140         adding the dup2 module to Emacs.
45142 2011-06-24  Eric Blake  <eblake@redhat.com>
45144         maint.mk: enhance useless header checks
45145         * top/maint.mk (_sc_header_without_use): Check both include
45146         styles.
45147         (sc_prohibit_assert_without_use)
45148         (sc_prohibit_close_stream_without_use)
45149         (sc_prohibit_getopt_without_use)
45150         (sc_prohibit_quotearg_without_use)
45151         (sc_prohibit_quote_without_use)
45152         (sc_prohibit_long_options_without_use)
45153         (sc_prohibit_inttostr_without_use)
45154         (sc_prohibit_ignore_value_without_use)
45155         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
45156         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
45157         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
45158         (sc_prohibit_hash_pjw_without_use)
45159         (sc_prohibit_safe_read_without_use)
45160         (sc_prohibit_argmatch_without_use)
45161         (sc_prohibit_canonicalize_without_use)
45162         (sc_prohibit_root_dev_ino_without_use)
45163         (sc_prohibit_openat_without_use)
45164         (sc_prohibit_c_ctype_without_use)
45165         (sc_prohibit_signal_without_use)
45166         (sc_prohibit_stdio--_without_use)
45167         (sc_prohibit_stdio-safer_without_use)
45168         (sc_prohibit_strings_without_use)
45169         (sc_prohibit_intprops_without_use)
45170         (sc_prohibit_stddef_without_use)
45171         (sc_prohibit_xfreopen_without_use): Update clients.
45173 2011-06-24  Jim Meyering  <meyering@redhat.com>
45175         syntax-check: keep one maint.mk rule in sync with its header
45176         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
45177         of the bug Eric has just fixed, with today's commit 25e4c2ec.
45178         I prefer to avoid temporary files here, so use <(...), but that
45179         is not supported by /bin/sh, so...
45180         (SHELL): Define to /bin/bash.
45182 2011-06-24  Eric Blake  <eblake@redhat.com>
45184         maint.mk: update sc_prohibit_intprops_without_use
45185         * top/maint.mk (_intprops_names): Match recent changes.
45187 2011-06-24  Bruno Haible  <bruno@clisp.org>
45189         strerror-override: No-op tweak.
45190         * lib/strerror-override.h (strerror_override): Reorder conditions,
45191         for consistency with lib/strerror-override.c.
45193 2011-06-23  Eric Blake  <eblake@redhat.com>
45195         maint.mk: test further PATH_MAX issues
45196         * top/maint.mk (sc_prohibit_path_max_array): Rename...
45197         (sc_prohibit_path_max_allocation): ...and also test alloca.
45198         Suggested by Jim Meyering.
45200 2011-06-22  Eric Blake  <eblake@redhat.com>
45202         maint.mk: add syntax-check to avoid char[PATH_MAX]
45203         * top/maint.mk (sc_prohibit_path_max_array): New rule.
45205         stat: be robust to PATH_MAX definition
45206         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
45207         * modules/stat (Depends-on): Add verify.
45209         link: work around IRIX bug
45210         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
45211         * lib/link.c (rpl_link): Work around it.
45212         * tests/test-link.h (test_link): Enhance test.
45213         * doc/posix-functions/link.texi (link): Document the bug.
45215         getopt: silence clang warning
45216         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
45217         dereference.
45218         Reported by Gustavo Martin Domato.
45220 2011-06-22  Jim Meyering  <meyering@redhat.com>
45222         bootstrap: do not insert a blank line into each .gitignore file
45223         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
45225 2011-06-21  Eric Blake  <eblake@redhat.com>
45227         perror: test for output mismatch
45228         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
45229         perror on IRIX.
45231         strerror_r: fix OpenBSD behavior on out-of-range
45232         * lib/strerror_r.c (strerror_r): Always use maximal string.
45233         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
45235         strerror_r: fix OpenBSD behavior on 0
45236         * lib/strerror-override.c (strerror_override): Also override 0
45237         when needed.
45238         * lib/strerror-override.h (strerror_override): Likewise.
45239         * lib/strerror.c (strerror): Simplify, now that 0 override is done
45240         earlier.
45241         * lib/strerror_r.c (strerror_r): Likewise.
45242         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
45243         behavior...
45244         (gl_FUNC_STRERROR_0): ...into new macro.
45245         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
45246         is overridden.
45247         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
45248         * modules/strerror-override (Files): Add strerror.m4.
45249         (configure.ac): Also provide override for 0 when needed.
45250         * doc/posix-functions/strerror.texi (strerror): Document this.
45251         * doc/posix-functions/perror.texi (perror): Likewise.
45253         perror: adjust array size
45254         * modules/perror (Depends-on): Add strerror-override.
45255         * lib/perror.c (perror): Use it to avoid magic number.
45257         strerror-override: reduce size
45258         * lib/strerror-override.c (strerror_override): Use fewer lines.
45260 2011-06-20  Bruno Haible  <bruno@clisp.org>
45262         pathmax: Ensure correct value for PATH_MAX on HP-UX.
45263         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
45265 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
45267         alloca: port to compilers that can optimize like GCC 4.6.0
45268         * lib/alloca.c (find_stack_direction): New signature, taken from
45269         Autoconf git.  This works with GCC 4.6.0.  This code should never
45270         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
45271         be used with other compilers that optimize as well as GCC 4.6.0 does.
45272         (alloca): Adjust to new signature.
45273         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
45274         New macro, which patches Autoconf in a similar way.
45276         c-stack: stop worrying about stack direction
45277         * lib/c-stack.c (find_stack_direction): Remove.
45278         (segv_handler): Don't worry about stack direction growth, as it's
45279         too much of a pain to configure this correctly, given how compilers
45280         are optimizing-away our stack-growth detection code.  Instead, assume
45281         that any access to just before or just after the stack is OK.
45282         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
45283         Don't require AC_FUNC_ALLOCA; no longer needed.
45285 2011-06-20  Eric Blake  <eblake@redhat.com>
45287         test-stat: don't allocate PATH_MAX bytes
45288         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
45289         PATH_MAX-sized buffer.
45290         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
45291         * modules/stat-tests (Depends-on): Likewise.
45292         * tests/test-fstatat.c (includes): Drop pathmax.h.
45293         * tests/test-stat.c (includes): Likewise.
45294         Reported by Bruno Haible.
45296 2011-06-20  Bruno Haible  <bruno@clisp.org>
45298         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
45299         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
45300         * lib/float.c: New file.
45301         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
45302         REPLACE_FLOAT_LDBL.
45303         * modules/float (Files): Add lib/float.c.
45304         (configure.ac): Invoke AC_LIBOBJ.
45305         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
45307 2011-06-20  Bruno Haible  <bruno@clisp.org>
45309         Tests for module 'float'.
45310         * modules/float-tests: New file.
45311         * tests/test-float.c: New file.
45313 2011-06-19  Bruno Haible  <bruno@clisp.org>
45315         isinf: Coding style.
45316         * lib/isinf.c: Use GNU coding style.
45318 2011-06-19  Bruno Haible  <bruno@clisp.org>
45320         linkat test: Avoid test failure on AIX 7.1.
45321         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
45322         * tests/test-link.h (test_link): Likewise.
45324 2011-06-19  Bruno Haible  <bruno@clisp.org>
45326         pread test: Avoid test failure on OpenBSD 4.9.
45327         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
45329 2011-06-19  Bruno Haible  <bruno@clisp.org>
45331         sprintf-posix: Fix test failure on AIX 7.1.
45332         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
45333         * doc/posix-functions/dprintf.texi: Mention limited precision problem
45334         on AIX.
45335         * doc/posix-functions/fprintf.texi: Likewise.
45336         * doc/posix-functions/printf.texi: Likewise.
45337         * doc/posix-functions/snprintf.texi: Likewise.
45338         * doc/posix-functions/sprintf.texi: Likewise.
45339         * doc/posix-functions/vdprintf.texi: Likewise.
45340         * doc/posix-functions/vfprintf.texi: Likewise.
45341         * doc/posix-functions/vprintf.texi: Likewise.
45342         * doc/posix-functions/vsnprintf.texi: Likewise.
45343         * doc/posix-functions/vsprintf.texi: Likewise.
45345 2011-06-19  Bruno Haible  <bruno@clisp.org>
45347         roundl-ieee: Fix test failure on AIX 7.1.
45348         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
45349         * doc/posix-functions/roundl.texi: Mention problem with negative
45350         arguments.
45352 2011-06-19  Bruno Haible  <bruno@clisp.org>
45354         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
45355         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
45356         * doc/posix-functions/round.texi: Mention problem with negative
45357         arguments.
45358         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
45360 2011-06-19  Bruno Haible  <bruno@clisp.org>
45362         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
45363         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
45364         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
45365         * doc/posix-functions/roundf.texi: Mention problem with negative
45366         arguments.
45367         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
45369 2011-06-19  Bruno Haible  <bruno@clisp.org>
45371         ceilf-ieee: Work around bug on MacOS X 10.5.
45372         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
45374         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
45375         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
45376         IEEE compliant, avoid compiler optimizations.
45377         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
45378         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
45379         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
45380         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
45381         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
45382         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
45383         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
45384         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45385         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45386         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
45388 2011-06-19  Bruno Haible  <bruno@clisp.org>
45390         ceilf-ieee: Work around bug on AIX 7.1.
45391         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
45392         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
45394 2011-06-19  Bruno Haible  <bruno@clisp.org>
45396         ceil-ieee: Work around bug on AIX 7.1.
45397         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
45398         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
45400 2011-06-18  Bruno Haible  <bruno@clisp.org>
45402         fsync test: Avoid test failure on MacOS X and AIX.
45403         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
45404         EINVAL.
45406 2011-06-18  Bruno Haible  <bruno@clisp.org>
45408         openat, fdopendir tests: Fix link errors.
45409         * modules/openat-tests (Depends-on): Add progname.
45410         * modules/fdopendir-tests (Depends-on): Likewise.
45411         * tests/test-fchownat.c: Include progname.h.
45412         (main): Call set_program_name.
45413         * tests/test-fstatat.c: Include progname.h.
45414         (main): Call set_program_name.
45415         * tests/test-mkdirat.c: Include progname.h.
45416         (main): Call set_program_name.
45417         * tests/test-openat.c: Include progname.h.
45418         (main): Call set_program_name.
45419         * tests/test-unlinkat.c: Include progname.h.
45420         (main): Call set_program_name.
45421         * tests/test-fdopendir.c: Include progname.h.
45422         (main): Call set_program_name.
45424 2011-06-18  Bruno Haible  <bruno@clisp.org>
45426         Doc update.
45427         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
45428         HP-UX.
45429         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
45431 2011-06-18  Bruno Haible  <bruno@clisp.org>
45433         getcwd tests: Avoid compilation error on HP-UX 11.31.
45434         * modules/getcwd-tests (Depends-on): Add pathmax.
45435         * tests/test-getcwd.c: Include pathmax.h.
45437 2011-06-18  Bruno Haible  <bruno@clisp.org>
45439         isfinite, isinf: Fix link error on AIX 6 and 7.
45440         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
45441         needed, also test the macro with a 'float' argument.
45442         * m4/isinf.m4 (gl_ISINF): Likewise.
45444 2011-06-18  Bruno Haible  <bruno@clisp.org>
45446         getloadavg: Don't clobber LIBS. Regression from previous commit.
45447         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
45448         AC_CHECK_LIB from here...
45449         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
45450         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
45451         gl_func_getloadavg_done.
45452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45454 2011-06-18  Bruno Haible  <bruno@clisp.org>
45456         clean-temp: Improve documentation.
45457         * lib/clean-temp.h: Explain better how to use this module.
45458         Reported by John Darrington <john@darrington.wattle.id.au>.
45460 2011-06-17  Bruno Haible  <bruno@clisp.org>
45462         pread, pwrite: Avoid cc warning on AIX.
45463         * lib/unistd.in.h (pread): Undefine before defining as a macro.
45464         (pwrite): Likewise.
45466 2011-06-17  Bruno Haible  <bruno@clisp.org>
45468         spawn-pipe tests: Fix link error.
45469         * tests/test-spawn-pipe-child.c: Undefine fprintf.
45470         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45472 2011-06-17  Bruno Haible  <bruno@clisp.org>
45474         Tests: Remove unnecessary dependency.
45475         * modules/canonicalize-tests (Depends-on): Remove progname.
45476         * modules/chown-tests (Depends-on): Likewise.
45477         * modules/dirname-tests (Depends-on): Likewise.
45478         * modules/fdopendir-tests (Depends-on): Likewise.
45479         * modules/fdutimensat-tests (Depends-on): Likewise.
45480         * modules/hash-tests (Depends-on): Likewise.
45481         * modules/lchown-tests (Depends-on): Likewise.
45482         * modules/linkat-tests (Depends-on): Likewise.
45483         * modules/renameat-tests (Depends-on): Likewise.
45484         * modules/spawn-pipe-tests (Depends-on): Likewise.
45485         * modules/utimensat-tests (Depends-on): Likewise.
45487 2011-06-17  Bruno Haible  <bruno@clisp.org>
45489         spawn-pipe tests: Fix link error.
45490         * tests/test-spawn-pipe-child.c: Undefine fflush.
45492 2011-06-17  Bruno Haible  <bruno@clisp.org>
45494         Fix tests link errors.
45495         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
45496         * modules/chown-tests (Makefile.am): Don't link test-chown with
45497         LIBINTL.
45498         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
45499         LIBINTL.
45500         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
45501         LIBINTL.
45502         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
45503         LIBINTL.
45505 2011-06-16  Bruno Haible  <bruno@clisp.org>
45507         crypto/gc-sha1: Fix recent regression.
45508         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
45509         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
45511         crypto/gc-md5: Fix recent regression.
45512         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
45514         crypto/gc-md4: Fix recent regression.
45515         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
45516         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
45518         crypto/gc-arctwo: Fix recent regression.
45519         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
45520         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
45522         crypto/gc-rijndael: Fix recent regression.
45523         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
45524         (configure.ac): Invoke AC_LIBOBJ here.
45525         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
45526         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45528         crypto/gc-hmac-sha1: Fix recent regression.
45529         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
45530         (configure.ac): Invoke AC_LIBOBJ here.
45531         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
45532         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45534         crypto/gc-hmac-md5: Fix recent regression.
45535         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
45536         (configure.ac): Invoke AC_LIBOBJ here.
45537         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
45538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45540         crypto/gc-des: Fix recent regression.
45541         * modules/crypto/gc-des (Files): Remove m4/des.m4.
45542         (configure.ac): Invoke AC_LIBOBJ here.
45543         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
45544         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45546         crypto/gc-arcfour: Fix recent regression.
45547         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
45548         (configure.ac): Invoke AC_LIBOBJ here.
45549         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
45550         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45552 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
45554         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
45555         After the 2011-05-21 change, this macro requires
45556         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
45557         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
45559 2011-06-16  Bruno Haible  <bruno@clisp.org>
45561         fprintftime: Move AC_LIBOBJ invocations to module description.
45562         * m4/fprintftime.m4: Remove file.
45563         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
45564         (configure.ac): Remove gl_FPRINTFTIME call.
45565         (Makefile.am): Augment lib_SOURCES.
45566         Reported by Jim Meyering.
45568 2011-06-16  Bruno Haible  <bruno@clisp.org>
45570         tmpfile-safer: Finish 2011-05-23 commit.
45571         * m4/stdio-safer.m4: Really remove file.
45572         Reported by Jim Meyering.
45574 2011-06-16  Bruno Haible  <bruno@clisp.org>
45576         syntax-check: Fix typo.
45577         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
45578         printf-posix.m4.
45579         Reported by Jim Meyering.
45581 2011-06-13  Jim Meyering  <meyering@redhat.com>
45583         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
45584         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
45586 2011-05-23  Bruno Haible  <bruno@clisp.org>
45588         yesno: Move AC_LIBOBJ invocations to module description.
45589         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
45590         * modules/yesno (Makefile.am): Augment lib_SOURCES.
45592 2011-05-23  Bruno Haible  <bruno@clisp.org>
45594         xstrtol: Move AC_LIBOBJ invocations to module description.
45595         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
45596         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
45598 2011-05-23  Bruno Haible  <bruno@clisp.org>
45600         xstrtold: Move AC_LIBOBJ invocations to module description.
45601         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
45602         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
45604 2011-05-23  Bruno Haible  <bruno@clisp.org>
45606         xstrtod: Move AC_LIBOBJ invocations to module description.
45607         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
45608         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
45610 2011-05-23  Bruno Haible  <bruno@clisp.org>
45612         xnanosleep: Move AC_LIBOBJ invocations to module description.
45613         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
45614         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
45616 2011-05-23  Bruno Haible  <bruno@clisp.org>
45618         xgetcwd: Move AC_LIBOBJ invocations to module description.
45619         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
45620         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
45622 2011-05-23  Bruno Haible  <bruno@clisp.org>
45624         xalloc: Move AC_LIBOBJ invocations to module description.
45625         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
45626         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
45628 2011-05-23  Bruno Haible  <bruno@clisp.org>
45630         write-any-file: Move AC_LIBOBJ invocations to module description.
45631         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
45632         invocation.
45633         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
45635 2011-05-23  Bruno Haible  <bruno@clisp.org>
45637         utimens: Move AC_LIBOBJ invocations to module description.
45638         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
45639         * modules/utimens (Makefile.am): Augment lib_SOURCES.
45641 2011-05-23  Bruno Haible  <bruno@clisp.org>
45643         utimecmp: Move AC_LIBOBJ invocations to module description.
45644         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
45645         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
45647 2011-05-23  Bruno Haible  <bruno@clisp.org>
45649         userspec: Move AC_LIBOBJ invocations to module description.
45650         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
45651         * modules/userspec (Makefile.am): Augment lib_SOURCES.
45653 2011-05-23  Bruno Haible  <bruno@clisp.org>
45655         unlinkdir: Move AC_LIBOBJ invocations to module description.
45656         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
45657         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
45659 2011-05-23  Bruno Haible  <bruno@clisp.org>
45661         unistd-safer: Move AC_LIBOBJ invocations to module description.
45662         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
45663         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
45665 2011-05-23  Bruno Haible  <bruno@clisp.org>
45667         tempname: Move AC_LIBOBJ invocations to module description.
45668         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
45669         * modules/tempname (Makefile.am): Augment lib_SOURCES.
45671 2011-05-23  Bruno Haible  <bruno@clisp.org>
45673         strftime: Move AC_LIBOBJ invocations to module description.
45674         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
45675         * modules/strftime (Makefile.am): Augment lib_SOURCES.
45677 2011-05-23  Bruno Haible  <bruno@clisp.org>
45679         stdlib-safer: Move AC_LIBOBJ invocations to module description.
45680         * m4/stdlib-safer.m4: Remove file.
45681         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
45682         (configure.ac): Remove gl_STDLIB_SAFER call.
45683         (Makefile.am): Augment lib_SOURCES.
45685 2011-05-23  Bruno Haible  <bruno@clisp.org>
45687         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
45688         * m4/stdio-safer.m4: Remove file.
45689         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
45690         (configure.ac): Remove gl_TMPFILE_SAFER call.
45691         (Makefile.am): Augment lib_SOURCES.
45693 2011-05-23  Bruno Haible  <bruno@clisp.org>
45695         popen-safer: Move AC_LIBOBJ invocations to module description.
45696         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
45697         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
45698         (configure.ac): Remove gl_POPEN_SAFER call.
45699         (Makefile.am): Augment lib_SOURCES.
45701 2011-05-23  Bruno Haible  <bruno@clisp.org>
45703         freopen-safer: Move AC_LIBOBJ invocations to module description.
45704         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
45705         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
45706         (configure.ac): Remove gl_FREOPEN_SAFER call.
45707         (Makefile.am): Augment lib_SOURCES.
45709 2011-05-23  Bruno Haible  <bruno@clisp.org>
45711         fopen-safer: Move AC_LIBOBJ invocations to module description.
45712         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
45713         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
45714         (configure.ac): Remove gl_FOPEN_SAFER call.
45715         (Makefile.am): Augment lib_SOURCES.
45717 2011-05-23  Bruno Haible  <bruno@clisp.org>
45719         crypto/sha512: Move AC_LIBOBJ invocations to module description.
45720         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
45721         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
45723 2011-05-23  Bruno Haible  <bruno@clisp.org>
45725         crypto/sha256: Move AC_LIBOBJ invocations to module description.
45726         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
45727         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
45729 2011-05-23  Bruno Haible  <bruno@clisp.org>
45731         crypto/sha1: Move AC_LIBOBJ invocations to module description.
45732         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
45733         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
45735 2011-05-23  Bruno Haible  <bruno@clisp.org>
45737         settime: Move AC_LIBOBJ invocations to module description.
45738         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
45739         * modules/settime (Makefile.am): Augment lib_SOURCES.
45741 2011-05-23  Bruno Haible  <bruno@clisp.org>
45743         savedir: Move AC_LIBOBJ invocations to module description.
45744         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
45745         * modules/savedir (Makefile.am): Augment lib_SOURCES.
45747 2011-05-23  Bruno Haible  <bruno@clisp.org>
45749         save-cwd: Move AC_LIBOBJ invocations to module description.
45750         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
45751         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
45753 2011-05-23  Bruno Haible  <bruno@clisp.org>
45755         same: Move AC_LIBOBJ invocations to module description.
45756         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
45757         * modules/same (Makefile.am): Augment lib_SOURCES.
45759 2011-05-23  Bruno Haible  <bruno@clisp.org>
45761         safe-write: Move AC_LIBOBJ invocations to module description.
45762         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
45763         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
45764         instead of gl_SAFE_WRITE.
45765         (Makefile.am): Augment lib_SOURCES.
45767 2011-05-23  Bruno Haible  <bruno@clisp.org>
45769         safe-read: Move AC_LIBOBJ invocations to module description.
45770         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
45771         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
45772         of gl_SAFE_READ.
45773         (Makefile.am): Augment lib_SOURCES.
45775 2011-05-23  Bruno Haible  <bruno@clisp.org>
45777         safe-alloc: Move AC_LIBOBJ invocations to module description.
45778         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
45779         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
45781 2011-05-23  Bruno Haible  <bruno@clisp.org>
45783         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
45784         * m4/rijndael.m4: Remove file.
45785         * modules/crypto/rijndael (Files): Remove it.
45786         (configure.ac): Remove gl_RIJNDAEL call.
45787         (Makefile.am): Augment lib_SOURCES.
45789 2011-05-23  Bruno Haible  <bruno@clisp.org>
45791         readtokens: Move AC_LIBOBJ invocations to module description.
45792         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
45793         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
45795 2011-05-23  Bruno Haible  <bruno@clisp.org>
45797         read-file: Move AC_LIBOBJ invocations to module description.
45798         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
45799         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
45800         of gl_FUNC_READ_FILE.
45801         (Makefile.am): Augment lib_SOURCES.
45803 2011-05-23  Bruno Haible  <bruno@clisp.org>
45805         quotearg: Move AC_LIBOBJ invocations to module description.
45806         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
45807         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
45809 2011-05-23  Bruno Haible  <bruno@clisp.org>
45811         quote: Move AC_LIBOBJ invocations to module description.
45812         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
45813         * modules/quote (Makefile.am): Augment lib_SOURCES.
45815 2011-05-23  Bruno Haible  <bruno@clisp.org>
45817         posixver: Move AC_LIBOBJ invocations to module description.
45818         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
45819         * modules/posixver (Makefile.am): Augment lib_SOURCES.
45821 2011-05-23  Bruno Haible  <bruno@clisp.org>
45823         posixtm: Move AC_LIBOBJ invocations to module description.
45824         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
45825         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
45827 2011-05-23  Bruno Haible  <bruno@clisp.org>
45829         physmem: Move AC_LIBOBJ invocations to module description.
45830         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
45831         * modules/physmem (Makefile.am): Augment lib_SOURCES.
45833 2011-05-23  Bruno Haible  <bruno@clisp.org>
45835         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
45836         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
45837         invocation.
45838         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
45840 2011-05-23  Bruno Haible  <bruno@clisp.org>
45842         mpsort: Move AC_LIBOBJ invocations to module description.
45843         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
45844         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
45846 2011-05-23  Bruno Haible  <bruno@clisp.org>
45848         modechange: Move AC_LIBOBJ invocations to module description.
45849         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
45850         * modules/modechange (Makefile.am): Augment lib_SOURCES.
45852 2011-05-23  Bruno Haible  <bruno@clisp.org>
45854         mkdir-p: Move AC_LIBOBJ invocations to module description.
45855         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
45856         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
45858 2011-05-23  Bruno Haible  <bruno@clisp.org>
45860         mkancesdirs: Move AC_LIBOBJ invocations to module description.
45861         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
45862         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
45864 2011-05-23  Bruno Haible  <bruno@clisp.org>
45866         mgetgroups: Move AC_LIBOBJ invocations to module description.
45867         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
45868         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
45870 2011-05-23  Bruno Haible  <bruno@clisp.org>
45872         memxor: Move AC_LIBOBJ invocations to module description.
45873         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
45874         * modules/memxor (Makefile.am): Augment lib_SOURCES.
45876 2011-05-23  Bruno Haible  <bruno@clisp.org>
45878         memcoll: Move AC_LIBOBJ invocations to module description.
45879         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
45880         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
45882 2011-05-23  Bruno Haible  <bruno@clisp.org>
45884         memcasecmp: Move AC_LIBOBJ invocations to module description.
45885         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
45886         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
45888 2011-05-23  Bruno Haible  <bruno@clisp.org>
45890         crypto/md5: Move AC_LIBOBJ invocations to module description.
45891         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
45892         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
45894 2011-05-23  Bruno Haible  <bruno@clisp.org>
45896         crypto/md4: Move AC_LIBOBJ invocations to module description.
45897         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
45898         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
45900 2011-05-23  Bruno Haible  <bruno@clisp.org>
45902         crypto/md2: Move AC_LIBOBJ invocations to module description.
45903         * m4/md2.m4: Remove file.
45904         * modules/crypto/md2 (Files): Remove it.
45905         (configure.ac): Remove gl_MD2 call.
45906         (Makefile.am): Augment lib_SOURCES.
45908 2011-05-23  Bruno Haible  <bruno@clisp.org>
45910         long-options: Move AC_LIBOBJ invocations to module description.
45911         * m4/long-options.m4: Remove file.
45912         * modules/long-options (Files): Remove it.
45913         (configure.ac): Remove gl_LONG_OPTIONS call.
45914         (Makefile.am): Augment lib_SOURCES.
45916 2011-05-23  Bruno Haible  <bruno@clisp.org>
45918         i-ring: Move AC_LIBOBJ invocations to module description.
45919         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
45920         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
45922 2011-05-23  Bruno Haible  <bruno@clisp.org>
45924         idcache: Move AC_LIBOBJ invocations to module description.
45925         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
45926         * modules/idcache (Makefile.am): Augment lib_SOURCES.
45928 2011-05-23  Bruno Haible  <bruno@clisp.org>
45930         human: Move AC_LIBOBJ invocations to module description.
45931         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
45932         * modules/human (Makefile.am): Augment lib_SOURCES.
45934 2011-05-23  Bruno Haible  <bruno@clisp.org>
45936         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
45937         * m4/hmac-sha1.m4: Remove file.
45938         * modules/crypto/hmac-sha1 (Files): Remove it.
45939         (configure.ac): Remove gl_HMAC_SHA1 call.
45940         (Makefile.am): Augment lib_SOURCES.
45942 2011-05-23  Bruno Haible  <bruno@clisp.org>
45944         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
45945         * m4/hmac-md5.m4: Remove file.
45946         * modules/crypto/hmac-md5 (Files): Remove it.
45947         (configure.ac): Remove gl_HMAC_MD5 call.
45948         (Makefile.am): Augment lib_SOURCES.
45950 2011-05-23  Bruno Haible  <bruno@clisp.org>
45952         hash: Move AC_LIBOBJ invocations to module description.
45953         * m4/hash.m4: Remove file.
45954         * modules/hash (Files): Remove it.
45955         (configure.ac): Remove gl_HASH call.
45956         (Makefile.am): Augment lib_SOURCES.
45958 2011-05-23  Bruno Haible  <bruno@clisp.org>
45960         hard-locale: Move AC_LIBOBJ invocations to module description.
45961         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
45962         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
45964 2011-05-23  Bruno Haible  <bruno@clisp.org>
45966         getugroups: Move AC_LIBOBJ invocations to module description.
45967         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
45968         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
45970 2011-05-23  Bruno Haible  <bruno@clisp.org>
45972         gettime: Move AC_LIBOBJ invocations to module description.
45973         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
45974         * modules/gettime (Makefile.am): Augment lib_SOURCES.
45976 2011-05-23  Bruno Haible  <bruno@clisp.org>
45978         getndelim2: Move AC_LIBOBJ invocations to module description.
45979         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
45980         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
45982 2011-05-23  Bruno Haible  <bruno@clisp.org>
45984         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
45985         * m4/gc-pbkdf2-sha1.m4: Remove file.
45986         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
45987         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
45988         (Makefile.am): Augment lib_SOURCES.
45990 2011-05-23  Bruno Haible  <bruno@clisp.org>
45992         fts: Move AC_LIBOBJ invocations to module description.
45993         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
45994         * modules/fts (configure.ac): ... to here.
45996 2011-05-23  Bruno Haible  <bruno@clisp.org>
45998         file-type: Move AC_LIBOBJ invocations to module description.
45999         * m4/file-type.m4: Remove file.
46000         * modules/file-type (Files): Remove it.
46001         (configure.ac): Remove gl_FILE_TYPE call.
46002         (Makefile.am): Augment lib_SOURCES.
46004 2011-05-23  Bruno Haible  <bruno@clisp.org>
46006         filenamecat*: Respect rules for use of AC_LIBOBJ.
46007         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
46008         Remove AC_LIBOBJ invocation.
46009         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
46010         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
46012 2011-05-23  Bruno Haible  <bruno@clisp.org>
46014         filemode: Move AC_LIBOBJ invocations to module description.
46015         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
46016         * modules/filemode (Makefile.am): Augment lib_SOURCES.
46018 2011-05-23  Bruno Haible  <bruno@clisp.org>
46020         openat-safer: Move AC_LIBOBJ invocations to module description.
46021         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
46022         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
46024 2011-05-23  Bruno Haible  <bruno@clisp.org>
46026         fcntl-safer: Move AC_LIBOBJ invocations to module description.
46027         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
46028         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
46030 2011-05-23  Bruno Haible  <bruno@clisp.org>
46032         exclude: Move AC_LIBOBJ invocations to module description.
46033         * m4/exclude.m4: Remove file.
46034         * modules/exclude (Files): Remove it.
46035         (configure.ac): Remove gl_EXCLUDE call.
46036         (Makefile.am): Augment lib_SOURCES.
46038 2011-05-23  Bruno Haible  <bruno@clisp.org>
46040         dirname*: Respect rules for use of AC_LIBOBJ.
46041         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
46042         invocations.
46043         * modules/dirname (Makefile.am): Augment lib_SOURCES.
46044         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
46046 2011-05-23  Bruno Haible  <bruno@clisp.org>
46048         dirent-safer: Move AC_LIBOBJ invocations to module description.
46049         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
46050         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
46052 2011-05-23  Bruno Haible  <bruno@clisp.org>
46054         crypto/des: Move AC_LIBOBJ invocations to module description.
46055         * m4/des.m4: Remove file.
46056         * modules/crypto/des (Files): Remove it.
46057         (configure.ac): Remove gl_DES call.
46058         (Makefile.am): Augment lib_SOURCES.
46060 2011-05-23  Bruno Haible  <bruno@clisp.org>
46062         cycle-check: Move AC_LIBOBJ invocations to module description.
46063         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
46064         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
46066 2011-05-23  Bruno Haible  <bruno@clisp.org>
46068         c-strtold: Move AC_LIBOBJ invocations to module description.
46069         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
46070         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
46072 2011-05-23  Bruno Haible  <bruno@clisp.org>
46074         c-strtod: Move AC_LIBOBJ invocations to module description.
46075         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
46076         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
46078 2011-05-23  Bruno Haible  <bruno@clisp.org>
46080         crc: Move AC_LIBOBJ invocations to module description.
46081         * m4/crc.m4: Remove file.
46082         * modules/crc (Files): Remove it.
46083         (configure.ac): Remove gl_CRC call.
46084         (Makefile.am): Augment lib_SOURCES.
46086 2011-05-23  Bruno Haible  <bruno@clisp.org>
46088         close-stream: Move AC_LIBOBJ invocations to module description.
46089         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
46090         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
46092 2011-05-23  Bruno Haible  <bruno@clisp.org>
46094         closeout: Move AC_LIBOBJ invocations to module description.
46095         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
46096         * modules/closeout (Makefile.am): Augment lib_SOURCES.
46098 2011-05-23  Bruno Haible  <bruno@clisp.org>
46100         closein: Move AC_LIBOBJ invocations to module description.
46101         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
46102         * modules/closein (Makefile.am): Augment lib_SOURCES.
46104 2011-05-23  Bruno Haible  <bruno@clisp.org>
46106         cloexec: Move AC_LIBOBJ invocations to module description.
46107         * m4/cloexec.m4: Remove file.
46108         * modules/cloexec (Files): Remove it.
46109         (configure.ac): Remove gl_CLOEXEC call.
46110         (Makefile.am): Augment lib_SOURCES.
46112 2011-05-23  Bruno Haible  <bruno@clisp.org>
46114         check-version: Move AC_LIBOBJ invocations to module description.
46115         * m4/check-version.m4: Remove file.
46116         * modules/check-version (Files): Remove it.
46117         (configure.ac): Remove gl_CHECK_VERSION call.
46118         (Makefile.am): Augment lib_SOURCES.
46120 2011-05-23  Bruno Haible  <bruno@clisp.org>
46122         chdir-safer: Move AC_LIBOBJ invocations to module description.
46123         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
46124         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
46126 2011-05-23  Bruno Haible  <bruno@clisp.org>
46128         canonicalize: Move AC_LIBOBJ invocations to module description.
46129         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
46130         AC_LIBOBJ invocation.
46131         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
46133 2011-05-23  Bruno Haible  <bruno@clisp.org>
46135         canon-host: Move AC_LIBOBJ invocations to module description.
46136         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
46137         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
46138         instead of gl_CANON_HOST.
46139         (Makefile.am): Augment lib_SOURCES.
46141 2011-05-23  Bruno Haible  <bruno@clisp.org>
46143         backupfile: Move AC_LIBOBJ invocations to module description.
46144         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
46145         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
46147 2011-05-23  Bruno Haible  <bruno@clisp.org>
46149         argmatch: Move AC_LIBOBJ invocations to module description.
46150         * m4/argmatch.m4: Remove file.
46151         * modules/argmatch (Files): Remove it.
46152         (configure.ac): Remove gl_ARGMATCH call.
46153         (Makefile.am): Augment lib_SOURCES.
46155 2011-05-23  Bruno Haible  <bruno@clisp.org>
46157         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
46158         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
46159         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
46161 2011-05-23  Bruno Haible  <bruno@clisp.org>
46163         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
46164         * m4/arcfour.m4: Remove file.
46165         * modules/crypto/arcfour (Files): Remove it.
46166         (configure.ac): Remove gl_ARCFOUR call.
46167         (Makefile.am): Augment lib_SOURCES.
46169 2011-05-22  Bruno Haible  <bruno@clisp.org>
46171         write: Move AC_LIBOBJ invocations to module description.
46172         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
46173         * modules/write (configure.ac): ... to here.
46175 2011-05-22  Bruno Haible  <bruno@clisp.org>
46177         wmemset: Move AC_LIBOBJ invocations to module description.
46178         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
46179         here...
46180         * modules/wmemset (configure.ac): ... to here.
46182 2011-05-22  Bruno Haible  <bruno@clisp.org>
46184         wmemmove: Move AC_LIBOBJ invocations to module description.
46185         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
46186         here...
46187         * modules/wmemmove (configure.ac): ... to here.
46189 2011-05-22  Bruno Haible  <bruno@clisp.org>
46191         wmemcpy: Move AC_LIBOBJ invocations to module description.
46192         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
46193         here...
46194         * modules/wmemcpy (configure.ac): ... to here.
46196 2011-05-22  Bruno Haible  <bruno@clisp.org>
46198         wmemcmp: Move AC_LIBOBJ invocations to module description.
46199         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
46200         here...
46201         * modules/wmemcmp (configure.ac): ... to here.
46203 2011-05-22  Bruno Haible  <bruno@clisp.org>
46205         wmemchr: Move AC_LIBOBJ invocations to module description.
46206         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
46207         here...
46208         * modules/wmemchr (configure.ac): ... to here.
46210 2011-05-22  Bruno Haible  <bruno@clisp.org>
46212         wcswidth: Move AC_LIBOBJ invocations to module description.
46213         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
46214         here...
46215         * modules/wcswidth (configure.ac): ... to here.
46217 2011-05-22  Bruno Haible  <bruno@clisp.org>
46219         wcwidth: Respect rules for use of AC_LIBOBJ.
46220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
46221         invocation from here...
46222         * modules/wcwidth (configure.ac): ... to here.
46223         (Depends-on): Update conditions.
46225 2011-05-22  Bruno Haible  <bruno@clisp.org>
46227         wctype: Move AC_LIBOBJ invocations to module description.
46228         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
46229         invocation from here...
46230         * modules/wctype (configure.ac): ... to here.
46231         (Depends-on): Update conditions.
46233 2011-05-22  Bruno Haible  <bruno@clisp.org>
46235         wctrans: Move AC_LIBOBJ invocations to module description.
46236         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
46237         invocation from here...
46238         * modules/wctrans (configure.ac): ... to here.
46240 2011-05-22  Bruno Haible  <bruno@clisp.org>
46242         wctomb: Move AC_LIBOBJ invocations to module description.
46243         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
46244         invocations from here...
46245         * modules/wctomb (configure.ac): ... to here.
46247 2011-05-22  Bruno Haible  <bruno@clisp.org>
46249         wctob: Move AC_LIBOBJ invocations to module description.
46250         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
46251         gl_PREREQ_WCTOB invocations from here...
46252         * modules/wctob (configure.ac): ... to here.
46253         (Depends-on): Update conditions.
46255 2011-05-22  Bruno Haible  <bruno@clisp.org>
46257         wcsxfrm: Move AC_LIBOBJ invocations to module description.
46258         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
46259         here...
46260         * modules/wcsxfrm (configure.ac): ... to here.
46262 2011-05-22  Bruno Haible  <bruno@clisp.org>
46264         wcstok: Move AC_LIBOBJ invocations to module description.
46265         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
46266         * modules/wcstok (configure.ac): ... to here.
46268 2011-05-22  Bruno Haible  <bruno@clisp.org>
46270         wcsstr: Move AC_LIBOBJ invocations to module description.
46271         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
46272         * modules/wcsstr (configure.ac): ... to here.
46274 2011-05-22  Bruno Haible  <bruno@clisp.org>
46276         wcsspn: Move AC_LIBOBJ invocations to module description.
46277         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
46278         * modules/wcsspn (configure.ac): ... to here.
46280 2011-05-22  Bruno Haible  <bruno@clisp.org>
46282         wcsrtombs: Move AC_LIBOBJ invocations to module description.
46283         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
46284         gl_PREREQ_WCSRTOMBS invocations from here...
46285         * modules/wcsrtombs (configure.ac): ... to here.
46287 2011-05-22  Bruno Haible  <bruno@clisp.org>
46289         wcsrchr: Move AC_LIBOBJ invocations to module description.
46290         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
46291         here...
46292         * modules/wcsrchr (configure.ac): ... to here.
46294 2011-05-22  Bruno Haible  <bruno@clisp.org>
46296         wcspbrk: Move AC_LIBOBJ invocations to module description.
46297         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
46298         here...
46299         * modules/wcspbrk (configure.ac): ... to here.
46301 2011-05-22  Bruno Haible  <bruno@clisp.org>
46303         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
46304         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
46305         gl_PREREQ_WCSNRTOMBS invocations from here...
46306         * modules/wcsnrtombs (configure.ac): ... to here.
46308 2011-05-22  Bruno Haible  <bruno@clisp.org>
46310         wcsnlen: Move AC_LIBOBJ invocations to module description.
46311         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
46312         here...
46313         * modules/wcsnlen (configure.ac): ... to here.
46315 2011-05-22  Bruno Haible  <bruno@clisp.org>
46317         wcsncpy: Move AC_LIBOBJ invocations to module description.
46318         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
46319         here...
46320         * modules/wcsncpy (configure.ac): ... to here.
46322 2011-05-22  Bruno Haible  <bruno@clisp.org>
46324         wcsncmp: Move AC_LIBOBJ invocations to module description.
46325         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
46326         here...
46327         * modules/wcsncmp (configure.ac): ... to here.
46329 2011-05-22  Bruno Haible  <bruno@clisp.org>
46331         wcsncat: Move AC_LIBOBJ invocations to module description.
46332         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
46333         here...
46334         * modules/wcsncat (configure.ac): ... to here.
46336 2011-05-22  Bruno Haible  <bruno@clisp.org>
46338         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
46339         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
46340         from here...
46341         * modules/wcsncasecmp (configure.ac): ... to here.
46343 2011-05-22  Bruno Haible  <bruno@clisp.org>
46345         wcslen: Move AC_LIBOBJ invocations to module description.
46346         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
46347         * modules/wcslen (configure.ac): ... to here.
46349 2011-05-22  Bruno Haible  <bruno@clisp.org>
46351         wcsdup: Move AC_LIBOBJ invocations to module description.
46352         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
46353         * modules/wcsdup (configure.ac): ... to here.
46355 2011-05-22  Bruno Haible  <bruno@clisp.org>
46357         wcscspn: Move AC_LIBOBJ invocations to module description.
46358         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
46359         here...
46360         * modules/wcscspn (configure.ac): ... to here.
46362 2011-05-22  Bruno Haible  <bruno@clisp.org>
46364         wcscpy: Move AC_LIBOBJ invocations to module description.
46365         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
46366         * modules/wcscpy (configure.ac): ... to here.
46368 2011-05-22  Bruno Haible  <bruno@clisp.org>
46370         wcscoll: Move AC_LIBOBJ invocations to module description.
46371         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
46372         here...
46373         * modules/wcscoll (configure.ac): ... to here.
46375 2011-05-22  Bruno Haible  <bruno@clisp.org>
46377         wcscmp: Move AC_LIBOBJ invocations to module description.
46378         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
46379         * modules/wcscmp (configure.ac): ... to here.
46381 2011-05-22  Bruno Haible  <bruno@clisp.org>
46383         wcschr: Move AC_LIBOBJ invocations to module description.
46384         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
46385         * modules/wcschr (configure.ac): ... to here.
46387 2011-05-22  Bruno Haible  <bruno@clisp.org>
46389         wcscat: Move AC_LIBOBJ invocations to module description.
46390         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
46391         * modules/wcscat (configure.ac): ... to here.
46393 2011-05-22  Bruno Haible  <bruno@clisp.org>
46395         wcscasecmp: Move AC_LIBOBJ invocations to module description.
46396         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
46397         here...
46398         * modules/wcscasecmp (configure.ac): ... to here.
46400 2011-05-22  Bruno Haible  <bruno@clisp.org>
46402         wcrtomb: Move AC_LIBOBJ invocations to module description.
46403         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
46404         invocations from here...
46405         * modules/wcrtomb (configure.ac): ... to here.
46407 2011-05-22  Bruno Haible  <bruno@clisp.org>
46409         wcpncpy: Move AC_LIBOBJ invocations to module description.
46410         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
46411         here...
46412         * modules/wcpncpy (configure.ac): ... to here.
46414 2011-05-22  Bruno Haible  <bruno@clisp.org>
46416         wcpcpy: Move AC_LIBOBJ invocations to module description.
46417         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
46418         * modules/wcpcpy (configure.ac): ... to here.
46420 2011-05-22  Bruno Haible  <bruno@clisp.org>
46422         waitpid: Move AC_LIBOBJ invocations to module description.
46423         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
46424         invocation from here...
46425         * modules/waitpid (configure.ac): ... to here.
46427 2011-05-22  Bruno Haible  <bruno@clisp.org>
46429         utimensat: Move AC_LIBOBJ invocations to module description.
46430         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
46431         here...
46432         * modules/utimensat (configure.ac): ... to here.
46434 2011-05-22  Bruno Haible  <bruno@clisp.org>
46436         usleep: Move AC_LIBOBJ invocations to module description.
46437         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
46438         here...
46439         * modules/usleep (configure.ac): ... to here.
46441 2011-05-22  Bruno Haible  <bruno@clisp.org>
46443         unlockpt: Move AC_LIBOBJ invocations to module description.
46444         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
46445         gl_PREREQ_UNLOCKPT invocations from here...
46446         * modules/unlockpt (configure.ac): ... to here.
46448 2011-05-22  Bruno Haible  <bruno@clisp.org>
46450         unlink: Respect rules for use of AC_LIBOBJ.
46451         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
46452         * modules/unlink (configure.ac): ... to here.
46454 2011-05-22  Bruno Haible  <bruno@clisp.org>
46456         uname: Move AC_LIBOBJ invocations to module description.
46457         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
46458         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
46459         here...
46460         * modules/uname (configure.ac): ... to here.
46462 2011-05-22  Bruno Haible  <bruno@clisp.org>
46464         ttyname_r: Move AC_LIBOBJ invocations to module description.
46465         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
46466         gl_PREREQ_TTYNAME_R invocations from here...
46467         * modules/ttyname_r (configure.ac): ... to here.
46469 2011-05-22  Bruno Haible  <bruno@clisp.org>
46471         tsearch: Move AC_LIBOBJ invocations to module description.
46472         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
46473         invocations from here...
46474         * modules/tsearch (configure.ac): ... to here.
46476 2011-05-22  Bruno Haible  <bruno@clisp.org>
46478         towctrans: Move AC_LIBOBJ invocations to module description.
46479         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
46480         AC_LIBOBJ invocation from here...
46481         * modules/towctrans (configure.ac): ... to here.
46483 2011-05-22  Bruno Haible  <bruno@clisp.org>
46485         tmpfile: Move AC_LIBOBJ invocations to module description.
46486         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
46487         invocations from here...
46488         * modules/tmpfile (configure.ac): ... to here.
46490 2011-05-22  Bruno Haible  <bruno@clisp.org>
46492         times: Move AC_LIBOBJ invocations to module description.
46493         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
46494         * modules/times (configure.ac): ... to here.
46496 2011-05-22  Bruno Haible  <bruno@clisp.org>
46498         time_r: Move AC_LIBOBJ invocations to module description.
46499         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
46500         invocations from here...
46501         * modules/time_r (configure.ac): ... to here.
46503 2011-05-22  Bruno Haible  <bruno@clisp.org>
46505         timegm: Move AC_LIBOBJ invocations to module description.
46506         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
46507         invocations from here...
46508         * modules/timegm (configure.ac): ... to here.
46510 2011-05-22  Bruno Haible  <bruno@clisp.org>
46512         tcgetsid: Move AC_LIBOBJ invocations to module description.
46513         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
46514         and gl_PREREQ_TCGETSID invocations from here...
46515         * modules/tcgetsid (configure.ac): ... to here.
46516         (Depends-on): Update conditions.
46518 2011-05-22  Bruno Haible  <bruno@clisp.org>
46520         symlinkat: Move AC_LIBOBJ invocations to module description.
46521         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
46522         here...
46523         * modules/symlinkat (configure.ac): ... to here.
46525 2011-05-22  Bruno Haible  <bruno@clisp.org>
46527         symlink: Move AC_LIBOBJ invocations to module description.
46528         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
46529         here...
46530         * modules/symlink (configure.ac): ... to here.
46532 2011-05-22  Bruno Haible  <bruno@clisp.org>
46534         strverscmp: Move AC_LIBOBJ invocations to module description.
46535         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
46536         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
46537         from here...
46538         * modules/strverscmp (configure.ac): ... to here.
46540 2011-05-22  Bruno Haible  <bruno@clisp.org>
46542         strtok_r: Move AC_LIBOBJ invocations to module description.
46543         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
46544         and gl_PREREQ_STRTOK_R invocations from here...
46545         * modules/strtok_r (configure.ac): ... to here.
46546         (Depends-on): Update conditions.
46548 2011-05-22  Bruno Haible  <bruno@clisp.org>
46550         strtoumax: Move AC_LIBOBJ invocations to module description.
46551         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
46552         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
46553         from here...
46554         * modules/strtoumax (configure.ac): ... to here.
46556 2011-05-22  Bruno Haible  <bruno@clisp.org>
46558         strtoimax: Move AC_LIBOBJ invocations to module description.
46559         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
46560         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
46561         from here...
46562         * modules/strtoimax (configure.ac): ... to here.
46564 2011-05-22  Bruno Haible  <bruno@clisp.org>
46566         strtoull: Move AC_LIBOBJ invocations to module description.
46567         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
46568         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
46569         from here...
46570         * modules/strtoull (configure.ac): ... to here.
46572 2011-05-22  Bruno Haible  <bruno@clisp.org>
46574         strtoll: Move AC_LIBOBJ invocations to module description.
46575         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
46576         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
46577         here...
46578         * modules/strtoll (configure.ac): ... to here.
46580 2011-05-22  Bruno Haible  <bruno@clisp.org>
46582         strtoul: Move AC_LIBOBJ invocations to module description.
46583         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
46584         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
46585         * modules/strtoul (configure.ac): ... to here.
46587 2011-05-22  Bruno Haible  <bruno@clisp.org>
46589         strtol: Move AC_LIBOBJ invocations to module description.
46590         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
46591         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
46592         * modules/strtol (configure.ac): ... to here.
46594 2011-05-22  Bruno Haible  <bruno@clisp.org>
46596         strtod: Move AC_LIBOBJ invocations to module description.
46597         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
46598         invocations from here...
46599         * modules/strtod (configure.ac): ... to here.
46601 2011-05-22  Bruno Haible  <bruno@clisp.org>
46603         strstr*: Move AC_LIBOBJ invocations to module description.
46604         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
46605         invocations from here...
46606         * modules/strstr-simple (configure.ac): ... to here.
46607         * modules/strstr (configure.ac): ... and here.
46609 2011-05-22  Bruno Haible  <bruno@clisp.org>
46611         strsignal: Move AC_LIBOBJ invocations to module description.
46612         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
46613         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
46614         * modules/strsignal (configure.ac): ... to here.
46615         (Depends-on): Update conditions.
46617 2011-05-22  Bruno Haible  <bruno@clisp.org>
46619         strsep: Move AC_LIBOBJ invocations to module description.
46620         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
46621         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
46622         here...
46623         * modules/strsep (configure.ac): ... to here.
46625 2011-05-22  Bruno Haible  <bruno@clisp.org>
46627         strptime: Move AC_LIBOBJ invocations to module description.
46628         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
46629         gl_PREREQ_STRPTIME invocations from here...
46630         * modules/strptime (configure.ac): ... to here.
46632 2011-05-22  Bruno Haible  <bruno@clisp.org>
46634         strpbrk: Move AC_LIBOBJ invocations to module description.
46635         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
46636         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
46637         here...
46638         * modules/strpbrk (configure.ac): ... to here.
46640 2011-05-22  Bruno Haible  <bruno@clisp.org>
46642         strnlen: Move AC_LIBOBJ invocations to module description.
46643         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
46644         invocations from here...
46645         * modules/strnlen (configure.ac): ... to here.
46647 2011-05-22  Bruno Haible  <bruno@clisp.org>
46649         strndup: Move AC_LIBOBJ invocations to module description.
46650         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
46651         invocations from here...
46652         * modules/strndup (configure.ac): ... to here.
46653         (Depends-on): Update conditions.
46655 2011-05-22  Bruno Haible  <bruno@clisp.org>
46657         strncat: Move AC_LIBOBJ invocations to module description.
46658         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
46659         invocations from here...
46660         * modules/strncat (configure.ac): ... to here.
46662 2011-05-22  Bruno Haible  <bruno@clisp.org>
46664         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
46665         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
46666         invocations from here...
46667         * modules/strdup (configure.ac): ... to here.
46668         * modules/strdup-posix (configure.ac): ... and here.
46670 2011-05-22  Bruno Haible  <bruno@clisp.org>
46672         strcspn: Move AC_LIBOBJ invocations to module description.
46673         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
46674         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
46675         here...
46676         * modules/strcspn (configure.ac): ... to here.
46678 2011-05-22  Bruno Haible  <bruno@clisp.org>
46680         strchrnul: Move AC_LIBOBJ invocations to module description.
46681         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
46682         gl_PREREQ_STRCHRNUL invocations from here...
46683         * modules/strchrnul (configure.ac): ... to here.
46685 2011-05-22  Bruno Haible  <bruno@clisp.org>
46687         strcasestr*: Move AC_LIBOBJ invocations to module description.
46688         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46689         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
46690         * modules/strcasestr-simple (configure.ac): ... to here.
46691         * modules/strcasestr (configure.ac): ... and here.
46693 2011-05-22  Bruno Haible  <bruno@clisp.org>
46695         strcase: Move AC_LIBOBJ invocations to module description.
46696         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
46697         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
46698         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
46699         gl_PREREQ_STRNCASECMP invocations from here...
46700         * modules/strcase (configure.ac): ... to here.
46702 2011-05-22  Bruno Haible  <bruno@clisp.org>
46704         stpncpy: Move AC_LIBOBJ invocations to module description.
46705         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
46706         here...
46707         * modules/stpncpy (configure.ac): ... to here.
46709 2011-05-22  Bruno Haible  <bruno@clisp.org>
46711         stpcpy: Move AC_LIBOBJ invocations to module description.
46712         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
46713         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
46714         here...
46715         * modules/stpcpy (configure.ac): ... to here.
46717 2011-05-21  Bruno Haible  <bruno@clisp.org>
46719         stat: Move AC_LIBOBJ invocations to module description.
46720         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
46721         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
46722         here...
46723         * modules/stat (configure.ac): ... to here.
46725 2011-05-21  Bruno Haible  <bruno@clisp.org>
46727         sleep: Move AC_LIBOBJ invocations to module description.
46728         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
46729         * modules/sleep (configure.ac): ... to here.
46731 2011-05-21  Bruno Haible  <bruno@clisp.org>
46733         signbit: Move AC_LIBOBJ invocations to module description.
46734         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
46735         * modules/signbit (configure.ac): ... to here.
46737 2011-05-21  Bruno Haible  <bruno@clisp.org>
46739         sigprocmask: Move AC_LIBOBJ invocations to module description.
46740         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
46741         gl_PREREQ_SIGPROMASK invocations from here...
46742         * modules/sigprocmask (configure.ac): ... to here.
46744 2011-05-21  Bruno Haible  <bruno@clisp.org>
46746         sigaction: Move AC_LIBOBJ invocations to module description.
46747         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
46748         gl_PREREQ_SIGACTION invocations from here...
46749         * modules/sigaction (configure.ac): ... to here.
46751 2011-05-21  Bruno Haible  <bruno@clisp.org>
46753         sig2str: Move AC_LIBOBJ invocations to module description.
46754         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
46755         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
46756         here...
46757         * modules/sig2str (configure.ac): ... to here.
46759 2011-05-21  Bruno Haible  <bruno@clisp.org>
46761         setlocale: Move AC_LIBOBJ invocations to module description.
46762         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
46763         gl_PREREQ_SETLOCALE invocations from here...
46764         * modules/setlocale (configure.ac): ... to here.
46766 2011-05-21  Bruno Haible  <bruno@clisp.org>
46768         unsetenv: Move AC_LIBOBJ invocations to module description.
46769         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
46770         and gl_PREREQ_UNSETENV invocations from here...
46771         * modules/unsetenv (configure.ac): ... to here.
46772         (Depends-on): Update.
46774 2011-05-21  Bruno Haible  <bruno@clisp.org>
46776         setenv: Move AC_LIBOBJ invocations to module description.
46777         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
46778         here...
46779         * modules/setenv (configure.ac): ... to here.
46781 2011-05-21  Bruno Haible  <bruno@clisp.org>
46783         selinux-h: Move AC_LIBOBJ invocations to module description.
46784         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
46785         AC_LIBOBJ invocation from here...
46786         * modules/selinux-h (configure.ac): ... to here.
46788 2011-05-21  Bruno Haible  <bruno@clisp.org>
46790         select: Respect rules for use of AC_LIBOBJ.
46791         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
46792         here...
46793         * modules/select (configure.ac): ... to here.
46795 2011-05-21  Bruno Haible  <bruno@clisp.org>
46797         scandir: Move AC_LIBOBJ invocations to module description.
46798         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
46799         invocations from here...
46800         * modules/scandir (configure.ac): ... to here.
46802 2011-05-21  Bruno Haible  <bruno@clisp.org>
46804         rpmatch: Move AC_LIBOBJ invocations to module description.
46805         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
46806         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
46807         here...
46808         * modules/rpmatch (configure.ac): ... to here.
46810 2011-05-21  Bruno Haible  <bruno@clisp.org>
46812         rmdir: Respect rules for use of AC_LIBOBJ.
46813         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
46814         * modules/rmdir (configure.ac): ... to here.
46816 2011-05-21  Bruno Haible  <bruno@clisp.org>
46818         renameat: Move AC_LIBOBJ invocations to module description.
46819         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
46820         here...
46821         * modules/renameat (configure.ac): ... to here.
46823 2011-05-21  Bruno Haible  <bruno@clisp.org>
46825         rename: Respect rules for use of AC_LIBOBJ.
46826         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
46827         here...
46828         * modules/rename (configure.ac): ... to here.
46830 2011-05-21  Bruno Haible  <bruno@clisp.org>
46832         remove: Move AC_LIBOBJ invocations to module description.
46833         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
46834         here...
46835         * modules/remove (configure.ac): ... to here.
46837 2011-05-21  Bruno Haible  <bruno@clisp.org>
46839         relocatable-lib: Move AC_LIBOBJ invocations to module description.
46840         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
46841         macro.
46842         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
46843         * modules/relocatable-lib (configure.ac): ... to here.
46844         * modules/relocatable-prog-wrapper (configure.ac): Invoke
46845         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
46847 2011-05-21  Bruno Haible  <bruno@clisp.org>
46849         relocatable-prog: Move AC_LIBOBJ invocations to module description.
46850         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
46851         here...
46852         * modules/relocatable-prog (configure.ac): ... to here.
46854 2011-05-21  Bruno Haible  <bruno@clisp.org>
46856         regex: Move AC_LIBOBJ invocations to module description.
46857         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
46858         invocations from here...
46859         * modules/regex (configure.ac): ... to here.
46861 2011-05-21  Bruno Haible  <bruno@clisp.org>
46863         realloc-*: Move AC_LIBOBJ invocations to module description.
46864         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
46865         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
46866         AC_LIBOBJ invocations from here...
46867         * modules/realloc-gnu (configure.ac): ... to here.
46868         * modules/realloc-posix (configure.ac): ... and here.
46870 2011-05-21  Bruno Haible  <bruno@clisp.org>
46872         readutmp: Move AC_LIBOBJ invocations to module description.
46873         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
46874         * modules/readutmp (configure.ac): ... to here.
46876 2011-05-21  Bruno Haible  <bruno@clisp.org>
46878         readlinkat: Move AC_LIBOBJ invocations to module description.
46879         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
46880         here...
46881         * modules/readlinkat (configure.ac): ... to here.
46883 2011-05-21  Bruno Haible  <bruno@clisp.org>
46885         readlink: Move AC_LIBOBJ invocations to module description.
46886         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
46887         gl_PREREQ_READLINK invocations from here...
46888         * modules/readlink (configure.ac): ... to here.
46890 2011-05-21  Bruno Haible  <bruno@clisp.org>
46892         readline: Move AC_LIBOBJ invocations to module description.
46893         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
46894         gl_PREREQ_READLINE invocations from here...
46895         * modules/readline (configure.ac): ... to here.
46897 2011-05-21  Bruno Haible  <bruno@clisp.org>
46899         read: Move AC_LIBOBJ invocations to module description.
46900         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
46901         * modules/read (configure.ac): ... to here.
46903 2011-05-21  Bruno Haible  <bruno@clisp.org>
46905         rawmemchr: Move AC_LIBOBJ invocations to module description.
46906         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
46907         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
46908         from here...
46909         * modules/rawmemchr (configure.ac): ... to here.
46911 2011-05-21  Bruno Haible  <bruno@clisp.org>
46913         random_r: Move AC_LIBOBJ invocations to module description.
46914         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
46915         gl_PREREQ_RANDOM_R invocations from here...
46916         * modules/random_r (configure.ac): ... to here.
46918 2011-05-21  Bruno Haible  <bruno@clisp.org>
46920         pwrite: Move AC_LIBOBJ invocations to module description.
46921         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
46922         * modules/pwrite (configure.ac): ... to here.
46924 2011-05-21  Bruno Haible  <bruno@clisp.org>
46926         putenv: Move AC_LIBOBJ invocations to module description.
46927         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
46928         * modules/putenv (configure.ac): ... to here.
46930 2011-05-21  Bruno Haible  <bruno@clisp.org>
46932         login_tty: Move AC_LIBOBJ invocations to module description.
46933         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
46934         * modules/login_tty (configure.ac): ... to here.
46936 2011-05-21  Bruno Haible  <bruno@clisp.org>
46938         openpty: Move AC_LIBOBJ invocations to module description.
46939         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
46940         * modules/openpty (configure.ac): ... to here.
46942 2011-05-21  Bruno Haible  <bruno@clisp.org>
46944         forkpty: Move AC_LIBOBJ invocations to module description.
46945         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
46946         * modules/forkpty (configure.ac): ... to here.
46948 2011-05-21  Bruno Haible  <bruno@clisp.org>
46950         ptsname: Move AC_LIBOBJ invocations to module description.
46951         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
46952         invocations from here...
46953         * modules/ptsname (configure.ac): ... to here.
46955 2011-05-21  Bruno Haible  <bruno@clisp.org>
46957         pread: Move AC_LIBOBJ invocations to module description.
46958         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
46959         * modules/pread (configure.ac): ... to here.
46961 2011-05-21  Bruno Haible  <bruno@clisp.org>
46963         posix_spawn*: Move AC_LIBOBJ invocations to module description.
46964         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
46965         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
46966         * modules/posix_spawn (configure.ac): ... to here.
46967         * modules/posix_spawnp (configure.ac): ... and here.
46969 2011-05-21  Bruno Haible  <bruno@clisp.org>
46971         popen: Move AC_LIBOBJ invocations to module description.
46972         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
46973         invocations from here...
46974         * modules/popen (configure.ac): ... to here.
46976 2011-05-21  Bruno Haible  <bruno@clisp.org>
46978         poll: Move AC_LIBOBJ invocations to module description.
46979         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
46980         invocations from here...
46981         * modules/poll (configure.ac): ... to here.
46983 2011-05-21  Bruno Haible  <bruno@clisp.org>
46985         pipe-posix: Move AC_LIBOBJ invocations to module description.
46986         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
46987         * modules/pipe-posix (configure.ac): ... to here.
46989 2011-05-21  Bruno Haible  <bruno@clisp.org>
46991         openat: Respect rules for use of AC_LIBOBJ.
46992         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
46993         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
46994         * modules/openat (configure.ac): ... to here.
46996 2011-05-21  Bruno Haible  <bruno@clisp.org>
46998         obstack-printf*: Move AC_LIBOBJ invocations to module description.
46999         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
47000         invocation from here...
47001         * modules/obstack-printf (configure.ac): ... to here.
47002         * modules/obstack-printf-posix (configure.ac): ... and here.
47004 2011-05-21  Bruno Haible  <bruno@clisp.org>
47006         nl_langinfo: Move AC_LIBOBJ invocations to module description.
47007         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
47008         from here...
47009         * modules/nl_langinfo (configure.ac): ... to here.
47011 2011-05-21  Bruno Haible  <bruno@clisp.org>
47013         nanosleep: Move AC_LIBOBJ invocations to module description.
47014         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
47015         gl_PREREQ_NANOSLEEP invocations from here...
47016         * modules/nanosleep (configure.ac): ... to here.
47018 2011-05-21  Bruno Haible  <bruno@clisp.org>
47020         mountlist: Move AC_LIBOBJ invocations to module description.
47021         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
47022         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
47023         * modules/mountlist (configure.ac): ... to here.
47025 2011-05-21  Bruno Haible  <bruno@clisp.org>
47027         mktime: Respect rules for use of AC_LIBOBJ.
47028         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
47029         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
47030         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
47031         (gl_FUNC_MKTIME_INTERNAL): ... and here...
47032         * modules/mktime (configure.ac): ... to here.
47033         * modules/mktime-internal (configure.ac): ... and here.
47034         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
47036 2011-05-21  Bruno Haible  <bruno@clisp.org>
47038         mkstemps: Move AC_LIBOBJ invocations to module description.
47039         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
47040         here...
47041         * modules/mkstemps (configure.ac): ... to here.
47043 2011-05-21  Bruno Haible  <bruno@clisp.org>
47045         mkstemp: Move AC_LIBOBJ invocations to module description.
47046         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
47047         gl_PREREQ_MKSTEMP invocations from here...
47048         * modules/mkstemp (configure.ac): ... to here.
47050 2011-05-21  Bruno Haible  <bruno@clisp.org>
47052         mkostemps: Move AC_LIBOBJ invocations to module description.
47053         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
47054         here...
47055         * modules/mkostemps (configure.ac): ... to here.
47057 2011-05-21  Bruno Haible  <bruno@clisp.org>
47059         mkostemp: Move AC_LIBOBJ invocations to module description.
47060         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
47061         gl_PREREQ_MKOSTEMP invocations from here...
47062         * modules/mkostemp (configure.ac): ... to here.
47064 2011-05-21  Bruno Haible  <bruno@clisp.org>
47066         mknod: Move AC_LIBOBJ invocations to module description.
47067         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
47068         * modules/mknod (configure.ac): ... to here.
47070 2011-05-21  Bruno Haible  <bruno@clisp.org>
47072         mkfifoat: Move AC_LIBOBJ invocations to module description.
47073         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
47074         here...
47075         * modules/mkfifoat (configure.ac): ... to here.
47077 2011-05-21  Bruno Haible  <bruno@clisp.org>
47079         mkfifo: Respect rules for use of AC_LIBOBJ.
47080         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
47081         here...
47082         * modules/mkfifo (configure.ac): ... to here.
47084 2011-05-21  Bruno Haible  <bruno@clisp.org>
47086         mkdtemp: Move AC_LIBOBJ invocations to module description.
47087         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
47088         invocations from here...
47089         * modules/mkdtemp (configure.ac): ... to here.
47091 2011-05-21  Bruno Haible  <bruno@clisp.org>
47093         mkdir: Move AC_LIBOBJ invocations to module description.
47094         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
47095         * modules/mkdir (configure.ac): ... to here.
47097 2011-05-21  Bruno Haible  <bruno@clisp.org>
47099         memset: Move AC_LIBOBJ invocations to module description.
47100         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
47101         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
47102         here...
47103         * modules/memset (configure.ac): ... to here.
47105 2011-05-21  Bruno Haible  <bruno@clisp.org>
47107         memrchr: Move AC_LIBOBJ invocations to module description.
47108         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
47109         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
47110         here...
47111         * modules/memrchr (configure.ac): ... to here.
47113 2011-05-21  Bruno Haible  <bruno@clisp.org>
47115         mempcpy: Move AC_LIBOBJ invocations to module description.
47116         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
47117         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
47118         here...
47119         * modules/mempcpy (configure.ac): ... to here.
47121 2011-05-21  Bruno Haible  <bruno@clisp.org>
47123         memmove: Move AC_LIBOBJ invocations to module description.
47124         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
47125         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
47126         here...
47127         * modules/memmove (configure.ac): ... to here.
47129 2011-05-21  Bruno Haible  <bruno@clisp.org>
47131         memmem*: Move AC_LIBOBJ invocations to module description.
47132         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
47133         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
47134         here...
47135         (gl_FUNC_MEMMEM): ... and here...
47136         * modules/memmem-simple (configure.ac): ... to here.
47137         * modules/memmem (configure.ac): ... and here.
47139 2011-05-21  Bruno Haible  <bruno@clisp.org>
47141         memcpy: Move AC_LIBOBJ invocations to module description.
47142         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
47143         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
47144         here...
47145         * modules/memcpy (configure.ac): ... to here.
47147 2011-05-21  Bruno Haible  <bruno@clisp.org>
47149         memcmp: Simplify autoconf macro.
47150         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
47151         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
47152         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
47154 2011-05-21  Bruno Haible  <bruno@clisp.org>
47156         memcmp: Move AC_LIBOBJ invocations to module description.
47157         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
47158         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
47159         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
47160         * modules/memcmp (configure.ac): ... to here.
47161         (Depends-on): Update conditions.
47163 2011-05-21  Bruno Haible  <bruno@clisp.org>
47165         memchr: Respect rules for use of AC_LIBOBJ.
47166         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
47167         invocations from here...
47168         * modules/memchr (configure.ac): ... to here.
47170 2011-05-21  Bruno Haible  <bruno@clisp.org>
47172         mbtowc: Move AC_LIBOBJ invocations to module description.
47173         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
47174         invocations from here...
47175         * modules/mbtowc (configure.ac): ... to here.
47177 2011-05-21  Bruno Haible  <bruno@clisp.org>
47179         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
47180         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
47181         gl_PREREQ_MBSRTOWCS invocations from here...
47182         * modules/mbsrtowcs (configure.ac): ... to here.
47184 2011-05-21  Bruno Haible  <bruno@clisp.org>
47186         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
47187         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
47188         gl_PREREQ_MBSNRTOWCS invocations from here...
47189         * modules/mbsnrtowcs (configure.ac): ... to here.
47191 2011-05-21  Bruno Haible  <bruno@clisp.org>
47193         mbsinit: Move AC_LIBOBJ invocations to module description.
47194         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
47195         invocations from here...
47196         * modules/mbsinit (configure.ac): ... to here.
47198 2011-05-21  Bruno Haible  <bruno@clisp.org>
47200         mbrlen: Move AC_LIBOBJ invocations to module description.
47201         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
47202         invocations from here...
47203         * modules/mbrlen (configure.ac): ... to here.
47205 2011-05-21  Bruno Haible  <bruno@clisp.org>
47207         mbrtowc: Respect rules for use of AC_LIBOBJ.
47208         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
47209         invocations from here...
47210         * modules/mbrtowc (configure.ac): ... to here.
47212 2011-05-21  Bruno Haible  <bruno@clisp.org>
47214         malloc-*: Move AC_LIBOBJ invocations to module description.
47215         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
47216         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
47217         AC_LIBOBJ invocations from here...
47218         * modules/malloc-gnu (configure.ac): ... to here.
47219         * modules/malloc-posix (configure.ac): ... and here.
47221 2011-05-21  Bruno Haible  <bruno@clisp.org>
47223         lstat, openat: Respect rules for use of AC_LIBOBJ.
47224         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
47225         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
47226         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
47227         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
47228         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
47229         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
47230         here.
47231         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
47233 2011-05-21  Bruno Haible  <bruno@clisp.org>
47235         lseek: Move AC_LIBOBJ invocations to module description.
47236         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
47237         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
47238         * modules/lseek (configure.ac): ... to here.
47240 2011-05-21  Bruno Haible  <bruno@clisp.org>
47242         linkat: Move AC_LIBOBJ invocations to module description.
47243         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
47244         here...
47245         * modules/linkat (configure.ac): ... to here.
47247 2011-05-21  Bruno Haible  <bruno@clisp.org>
47249         link: Respect rules for use of AC_LIBOBJ.
47250         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
47251         * modules/link (configure.ac): ... to here.
47253 2011-05-21  Bruno Haible  <bruno@clisp.org>
47255         lchown: Move AC_LIBOBJ invocations to module description.
47256         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
47257         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
47258         * modules/lchown (configure.ac): ... to here.
47260 2011-05-21  Bruno Haible  <bruno@clisp.org>
47262         iswctype: Move AC_LIBOBJ invocations to module description.
47263         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
47264         here...
47265         * modules/iswctype (configure.ac): ... to here.
47267 2011-05-21  Bruno Haible  <bruno@clisp.org>
47269         iswblank: Move AC_LIBOBJ invocations to module description.
47270         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
47271         here...
47272         * modules/iswblank (configure.ac): ... to here.
47274 2011-05-21  Bruno Haible  <bruno@clisp.org>
47276         atanl: Move AC_LIBOBJ invocations to module description.
47277         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
47278         * modules/atanl (configure.ac): ... to here.
47280 2011-05-21  Bruno Haible  <bruno@clisp.org>
47282         acosl: Move AC_LIBOBJ invocations to module description.
47283         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
47284         * modules/acosl (configure.ac): ... to here.
47286 2011-05-21  Bruno Haible  <bruno@clisp.org>
47288         asinl: Respect rules for use of AC_LIBOBJ.
47289         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
47290         * modules/asinl (configure.ac): ... to here.
47292 2011-05-21  Bruno Haible  <bruno@clisp.org>
47294         tanl: Move AC_LIBOBJ invocations to module description.
47295         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
47296         * modules/tanl (configure.ac): ... to here.
47298 2011-05-21  Bruno Haible  <bruno@clisp.org>
47300         cosl: Move AC_LIBOBJ invocations to module description.
47301         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
47302         * modules/cosl (configure.ac): ... to here.
47304 2011-05-21  Bruno Haible  <bruno@clisp.org>
47306         sinl: Move AC_LIBOBJ invocations to module description.
47307         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
47308         * modules/sinl (configure.ac): ... to here.
47310 2011-05-21  Bruno Haible  <bruno@clisp.org>
47312         logl: Move AC_LIBOBJ invocations to module description.
47313         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
47314         * modules/logl (configure.ac): ... to here.
47316 2011-05-21  Bruno Haible  <bruno@clisp.org>
47318         expl: Move AC_LIBOBJ invocations to module description.
47319         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
47320         * modules/expl (configure.ac): ... to here.
47322 2011-05-21  Bruno Haible  <bruno@clisp.org>
47324         roundl: Move AC_LIBOBJ invocations to module description.
47325         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
47326         * modules/roundl (configure.ac): ... to here.
47328 2011-05-21  Bruno Haible  <bruno@clisp.org>
47330         round: Move AC_LIBOBJ invocations to module description.
47331         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
47332         * modules/round (configure.ac): ... to here.
47334 2011-05-21  Bruno Haible  <bruno@clisp.org>
47336         roundf: Move AC_LIBOBJ invocations to module description.
47337         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
47338         * modules/roundf (configure.ac): ... to here.
47340 2011-05-21  Bruno Haible  <bruno@clisp.org>
47342         truncl: Move AC_LIBOBJ invocations to module description.
47343         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
47344         * modules/truncl (configure.ac): ... to here.
47346 2011-05-21  Bruno Haible  <bruno@clisp.org>
47348         trunc: Move AC_LIBOBJ invocations to module description.
47349         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
47350         * modules/trunc (configure.ac): ... to here.
47352 2011-05-21  Bruno Haible  <bruno@clisp.org>
47354         truncf: Move AC_LIBOBJ invocations to module description.
47355         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
47356         * modules/truncf (configure.ac): ... to here.
47358 2011-05-21  Bruno Haible  <bruno@clisp.org>
47360         ceill: Move AC_LIBOBJ invocations to module description.
47361         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
47362         * modules/ceill (configure.ac): ... to here.
47364 2011-05-21  Bruno Haible  <bruno@clisp.org>
47366         ceil: Move AC_LIBOBJ invocations to module description.
47367         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
47368         * modules/ceil (configure.ac): ... to here.
47370 2011-05-21  Bruno Haible  <bruno@clisp.org>
47372         ceilf: Move AC_LIBOBJ invocations to module description.
47373         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
47374         * modules/ceilf (configure.ac): ... to here.
47376 2011-05-21  Bruno Haible  <bruno@clisp.org>
47378         floorl: Respect rules for use of AC_LIBOBJ.
47379         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
47380         * modules/floorl (configure.ac): ... to here.
47382 2011-05-21  Bruno Haible  <bruno@clisp.org>
47384         floor: Respect rules for use of AC_LIBOBJ.
47385         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
47386         * modules/floor (configure.ac): ... to here.
47388 2011-05-21  Bruno Haible  <bruno@clisp.org>
47390         floorf: Move AC_LIBOBJ invocations to module description.
47391         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
47392         * modules/floorf (configure.ac): ... to here.
47394 2011-05-20  Bruno Haible  <bruno@clisp.org>
47396         sqrtl: Respect rules for use of AC_LIBOBJ.
47397         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
47398         * modules/sqrtl (configure.ac): ... to here.
47400 2011-05-20  Bruno Haible  <bruno@clisp.org>
47402         ldexpl: Respect rules for use of AC_LIBOBJ.
47403         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
47404         * modules/ldexpl (configure.ac): ... to here.
47406 2011-05-20  Bruno Haible  <bruno@clisp.org>
47408         frexpl*: Respect rules for use of AC_LIBOBJ.
47409         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
47410         invocation from here...
47411         * modules/frexpl (configure.ac): ... to here.
47412         * modules/frexpl-nolibm (configure.ac): ... and here.
47414 2011-05-20  Bruno Haible  <bruno@clisp.org>
47416         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
47417         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
47418         invocation from here...
47419         * modules/frexp (configure.ac): ... to here.
47420         * modules/frexp-nolibm (configure.ac): ... and here.
47422 2011-05-20  Bruno Haible  <bruno@clisp.org>
47424         isnan: Respect rules for use of AC_LIBOBJ.
47425         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
47426         invocations here.
47427         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
47428         REPLACE_ISNAN.
47429         * modules/isnand (configure.ac): Likewise.
47430         * modules/isnanl (configure.ac): Likewise.
47432 2011-05-20  Bruno Haible  <bruno@clisp.org>
47434         isnanl*: Respect rules for use of AC_LIBOBJ.
47435         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
47436         invocation from here...
47437         * modules/isnanl (configure.ac): ... to here.
47438         * modules/isnanl-nolibm (configure.ac): ... and here.
47440 2011-05-20  Bruno Haible  <bruno@clisp.org>
47442         isnand*: Move AC_LIBOBJ invocations to module description.
47443         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
47444         invocation from here...
47445         * modules/isnand (configure.ac): ... to here.
47446         * modules/isnand-nolibm (configure.ac): ... and here.
47448 2011-05-20  Bruno Haible  <bruno@clisp.org>
47450         isnanf*: Move AC_LIBOBJ invocations to module description.
47451         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
47452         invocation from here...
47453         * modules/isnanf (configure.ac): ... to here.
47454         * modules/isnanf-nolibm (configure.ac): ... and here.
47456 2011-05-20  Bruno Haible  <bruno@clisp.org>
47458         isnan*: Separate the AC_LIBOBJ invocations.
47459         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
47460         AC_LIBOBJ invocation.
47461         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
47462         here.
47463         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
47464         AC_LIBOBJ invocation.
47465         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
47466         here.
47467         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
47468         AC_LIBOBJ invocation.
47469         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
47470         here.
47471         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
47473 2011-05-08  Bruno Haible  <bruno@clisp.org>
47475         isinf: Move AC_LIBOBJ invocations to module description.
47476         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
47477         * modules/isinf (configure.ac): ... to here.
47479 2011-05-08  Bruno Haible  <bruno@clisp.org>
47481         isfinite: Move AC_LIBOBJ invocations to module description.
47482         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
47483         * modules/isfinite (configure.ac): ... to here.
47485 2011-05-08  Bruno Haible  <bruno@clisp.org>
47487         isblank: Move AC_LIBOBJ invocations to module description.
47488         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
47489         here...
47490         * modules/isblank (configure.ac): ... to here.
47492 2011-05-08  Bruno Haible  <bruno@clisp.org>
47494         isapipe: Move AC_LIBOBJ invocations to module description.
47495         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
47496         gl_PREREQ_ISAPIPE invocations from here...
47497         * modules/isapipe (configure.ac): ... to here.
47498         (Depends-on): Update condition.
47500 2011-05-08  Bruno Haible  <bruno@clisp.org>
47502         ioctl: Move AC_LIBOBJ invocations to module description.
47503         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
47504         invocations from here...
47505         * modules/ioctl (configure.ac): ... to here.
47506         (Depends-on): Update condition.
47508 2011-05-08  Bruno Haible  <bruno@clisp.org>
47510         imaxdiv: Move AC_LIBOBJ invocations to module description.
47511         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
47512         invocations from here...
47513         * modules/imaxdiv (configure.ac): ... to here.
47515 2011-05-08  Bruno Haible  <bruno@clisp.org>
47517         imaxabs: Move AC_LIBOBJ invocations to module description.
47518         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
47519         invocations from here...
47520         * modules/imaxabs (configure.ac): ... to here.
47522 2011-05-08  Bruno Haible  <bruno@clisp.org>
47524         getaddrinfo: Move AC_LIBOBJ invocations to module description.
47525         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
47526         AC_LIBOBJ invocations from here...
47527         * modules/getaddrinfo (configure.ac): ... to here.
47528         (Depends-on): Add conditions.
47530 2011-05-08  Bruno Haible  <bruno@clisp.org>
47532         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
47533         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
47534         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
47535         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
47536         (gl_PREREQ_INET_PTON): ... from here.
47537         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
47538         gl_PREREQ_INET_PTON here.
47539         (Depends-on): Update condition.
47541 2011-05-08  Bruno Haible  <bruno@clisp.org>
47543         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
47544         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
47545         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
47546         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
47547         (gl_PREREQ_INET_NTOP): ... from here.
47548         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
47549         gl_PREREQ_INET_NTOP here.
47550         (Depends-on): Update condition.
47552 2011-05-08  Bruno Haible  <bruno@clisp.org>
47554         iconv_open: Move AC_LIBOBJ invocations to module description.
47555         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
47556         AC_LIBOBJ invocations from here...
47557         * modules/iconv_open (configure.ac): ... to here.
47559 2011-05-08  Bruno Haible  <bruno@clisp.org>
47561         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
47562         If module 'iconv_open' is among the main modules and module
47563         'iconv_open-utf' is among the tests dependencies, then
47564         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
47565         return the special iconv_t values. Therefore iconv() and iconv_close()
47566         must support these special iconv_t values, already in lib, not only in
47567         tests.
47568         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
47569         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
47570         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
47571         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
47572         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
47573         (Depends-on): Add the dependencies of iconv_open-utf.
47574         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
47575         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
47576         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
47578 2011-05-08  Bruno Haible  <bruno@clisp.org>
47580         group-member: Move AC_LIBOBJ invocations to module description.
47581         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
47582         gl_PREREQ_GROUP_MEMBER invocations from here...
47583         * modules/group-member (configure.ac): ... to here.
47585 2011-05-08  Bruno Haible  <bruno@clisp.org>
47587         grantpt: Move AC_LIBOBJ invocations to module description.
47588         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
47589         invocations from here...
47590         * modules/grantpt (configure.ac): ... to here.
47592 2011-05-08  Bruno Haible  <bruno@clisp.org>
47594         glob: Move AC_LIBOBJ invocations to module description.
47595         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
47596         from here...
47597         * modules/glob (configure.ac): ... to here.
47599 2011-05-08  Bruno Haible  <bruno@clisp.org>
47601         getusershell: Move AC_LIBOBJ invocations to module description.
47602         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
47603         Move AC_LIBOBJ invocation from here...
47604         * modules/getusershell (configure.ac): ... to here.
47605         (Depends-on): Update condition.
47607 2011-05-08  Bruno Haible  <bruno@clisp.org>
47609         gettimeofday: Move AC_LIBOBJ invocations to module description.
47610         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
47611         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
47612         gl_PREREQ_GETTIMEOFDAY invocations from here...
47613         * modules/gettimeofday (configure.ac): ... to here.
47615 2011-05-08  Bruno Haible  <bruno@clisp.org>
47617         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
47618         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
47619         just gl_FUNC_TZSET.
47620         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
47621         (gl_FUNC_TZSET_CLOBBER): Remove actions.
47622         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
47623         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
47625 2011-05-08  Bruno Haible  <bruno@clisp.org>
47627         getsubopt: Move AC_LIBOBJ invocations to module description.
47628         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
47629         gl_PREREQ_GETSUBOPT invocations from here...
47630         * modules/getsubopt (configure.ac): ... to here.
47632 2011-05-08  Bruno Haible  <bruno@clisp.org>
47634         getpass-gnu: Move AC_LIBOBJ invocations to module description.
47635         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
47636         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
47637         * modules/getpass-gnu (configure.ac): ... to here.
47639 2011-05-08  Bruno Haible  <bruno@clisp.org>
47641         getpass: Move AC_LIBOBJ invocations to module description.
47642         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
47643         gl_PREREQ_GETPASS invocations from here...
47644         * modules/getpass (configure.ac): ... to here.
47646 2011-05-08  Bruno Haible  <bruno@clisp.org>
47648         getpagesize: Move AC_LIBOBJ invocations to module description.
47649         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
47650         from here...
47651         * modules/getpagesize (configure.ac): ... to here.
47653 2011-05-08  Bruno Haible  <bruno@clisp.org>
47655         getopt: Move AC_LIBOBJ invocations to module description.
47656         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
47657         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
47658         invocations from here...
47659         * modules/getopt-gnu (configure.ac): ... to here.
47660         * modules/getopt-posix (configure.ac): ... and here.
47661         (Depends-on): Update condition.
47663 2011-05-08  Bruno Haible  <bruno@clisp.org>
47665         getopt, argp: Respect rules for use of AC_LIBOBJ.
47666         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
47667         (gl_REPLACE_GETOPT_ALWAYS): New macro.
47668         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
47669         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
47671 2011-05-08  Bruno Haible  <bruno@clisp.org>
47673         getlogin_r: Move AC_LIBOBJ invocations to module description.
47674         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
47675         gl_PREREQ_GETLOGIN_R invocations from here...
47676         * modules/getlogin_r (configure.ac): ... to here.
47678 2011-05-08  Bruno Haible  <bruno@clisp.org>
47680         getlogin: Move AC_LIBOBJ invocations to module description.
47681         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
47682         here...
47683         * modules/getlogin (configure.ac): ... to here.
47685 2011-05-08  Bruno Haible  <bruno@clisp.org>
47687         getloadavg: Move AC_LIBOBJ invocations to module description.
47688         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
47689         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
47690         * modules/getloadavg (configure.ac): ... to here.
47692 2011-05-08  Bruno Haible  <bruno@clisp.org>
47694         gethrxtime: Move AC_LIBOBJ invocations to module description.
47695         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
47696         LIB_GETHRXTIME from here...
47697         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
47698         invocations from here...
47699         * modules/gethrxtime (configure.ac): ... to here.
47701 2011-05-08  Bruno Haible  <bruno@clisp.org>
47703         gethostname: Move AC_LIBOBJ invocations to module description.
47704         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
47705         gl_PREREQ_GETHOSTNAME invocations from here...
47706         * modules/gethostname (configure.ac): ... to here.
47708 2011-05-08  Bruno Haible  <bruno@clisp.org>
47710         getgroups: Move AC_LIBOBJ invocations to module description.
47711         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
47712         here...
47713         * modules/getgroups (configure.ac): ... to here.
47715 2011-05-08  Bruno Haible  <bruno@clisp.org>
47717         getdtablesize: Move AC_LIBOBJ invocations to module description.
47718         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
47719         invocation from here...
47720         * modules/getdtablesize (configure.ac): ... to here.
47722 2011-05-08  Bruno Haible  <bruno@clisp.org>
47724         getdomainname: Move AC_LIBOBJ invocations to module description.
47725         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
47726         gl_PREREQ_GETDOMAINNAME invocations from here...
47727         * modules/getdomainname (configure.ac): ... to here.
47729 2011-05-08  Bruno Haible  <bruno@clisp.org>
47731         getline: Move AC_LIBOBJ invocations to module description.
47732         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
47733         invocations from here...
47734         * modules/getline (configure.ac): ... to here.
47736 2011-05-08  Bruno Haible  <bruno@clisp.org>
47738         getline: Simplify.
47739         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
47740         It's already handled through the module dependency.
47742 2011-05-08  Bruno Haible  <bruno@clisp.org>
47744         getdelim: Move AC_LIBOBJ invocations to module description.
47745         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
47746         and gl_PREREQ_GETDELIM invocations from here...
47747         * modules/getdelim (configure.ac): ... to here.
47748         (Depends-on): Fix condition.
47750 2011-05-08  Bruno Haible  <bruno@clisp.org>
47752         getcwd: Move AC_LIBOBJ invocations to module description.
47753         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
47754         invocations from here...
47755         * modules/getcwd (configure.ac): ... to here.
47757 2011-05-08  Bruno Haible  <bruno@clisp.org>
47759         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
47760         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
47761         here...
47762         * modules/getcwd-lgpl (configure.ac): ... to here.
47764 2011-05-07  Bruno Haible  <bruno@clisp.org>
47766         crypto/gc: Move AC_LIBOBJ invocations to module description.
47767         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
47768         * modules/crypto/gc (configure.ac): ... to here.
47770 2011-05-07  Bruno Haible  <bruno@clisp.org>
47772         fwriting: Move AC_LIBOBJ invocations to module description.
47773         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
47774         here...
47775         * modules/fwriting (configure.ac): ... to here.
47777 2011-05-07  Bruno Haible  <bruno@clisp.org>
47779         fwritable: Move AC_LIBOBJ invocations to module description.
47780         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
47781         here...
47782         * modules/fwritable (configure.ac): ... to here.
47784 2011-05-07  Bruno Haible  <bruno@clisp.org>
47786         futimens: Move AC_LIBOBJ invocations to module description.
47787         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
47788         here...
47789         * modules/futimens (configure.ac): ... to here.
47791 2011-05-07  Bruno Haible  <bruno@clisp.org>
47793         ftruncate: Move AC_LIBOBJ invocations to module description.
47794         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
47795         gl_PREREQ_FTRUNCATE invocations from here...
47796         * modules/ftruncate (configure.ac): ... to here.
47798 2011-05-07  Bruno Haible  <bruno@clisp.org>
47800         fsync: Move AC_LIBOBJ invocations to module description.
47801         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
47802         invocations from here...
47803         * modules/fsync (configure.ac): ... to here.
47805 2011-05-07  Bruno Haible  <bruno@clisp.org>
47807         fsusage: Move AC_LIBOBJ invocations to module description.
47808         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
47809         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
47810         * modules/fsusage (configure.ac): ... to here.
47812 2011-05-07  Bruno Haible  <bruno@clisp.org>
47814         freopen: Move AC_LIBOBJ invocations to module description.
47815         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
47816         invocations from here...
47817         * modules/freopen (configure.ac): ... to here.
47819 2011-05-07  Bruno Haible  <bruno@clisp.org>
47821         free: Move AC_LIBOBJ invocations to module description.
47822         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
47823         invocations from here...
47824         * modules/free (configure.ac): ... to here.
47826 2011-05-07  Bruno Haible  <bruno@clisp.org>
47828         freadable: Move AC_LIBOBJ invocations to module description.
47829         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
47830         here...
47831         * modules/freadable (configure.ac): ... to here.
47833 2011-05-07  Bruno Haible  <bruno@clisp.org>
47835         fpurge: Move AC_LIBOBJ invocations to module description.
47836         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
47837         invocations from here...
47838         * modules/fpurge (configure.ac): ... to here.
47840 2011-05-07  Bruno Haible  <bruno@clisp.org>
47842         fpending: Move AC_LIBOBJ invocations to module description.
47843         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
47844         gl_FUNC_FPENDING.
47845         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
47846         invocations from here...
47847         * modules/fpending (configure.ac): ... to here.
47849 2011-05-07  Bruno Haible  <bruno@clisp.org>
47851         fopen: Move AC_LIBOBJ invocations to module description.
47852         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
47853         invocations from here...
47854         * modules/fopen (configure.ac): ... to here.
47856 2011-05-07  Bruno Haible  <bruno@clisp.org>
47858         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
47859         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
47860         gl_FUNC_FNMATCH_POSIX.
47861         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
47862         invocations from here...
47863         * modules/fnmatch (configure.ac): ... to here.
47864         * modules/fnmatch-gnu (configure.ac): ... and here.
47866 2011-05-07  Bruno Haible  <bruno@clisp.org>
47868         flock: Move AC_LIBOBJ invocations to module description.
47869         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
47870         invocations from here...
47871         * modules/flock (configure.ac): ... to here.
47873 2011-05-07  Bruno Haible  <bruno@clisp.org>
47875         fileblocks: Move AC_LIBOBJ invocations to module description.
47876         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
47877         gl_PREREQ_FILEBLOCKS invocations from here...
47878         * modules/fileblocks (configure.ac): ... to here.
47880 2011-05-06  Bruno Haible  <bruno@clisp.org>
47882         fflush: Move AC_LIBOBJ invocations to module description.
47883         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
47884         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
47885         invocations from here...
47886         * modules/fflush (configure.ac): ... to here.
47888 2011-05-06  Bruno Haible  <bruno@clisp.org>
47890         fdopendir: Move AC_LIBOBJ invocations to module description.
47891         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
47892         here...
47893         * modules/fdopendir (configure.ac): ... to here.
47894         (Depends-on): Improve conditions.
47896 2011-05-06  Bruno Haible  <bruno@clisp.org>
47898         _Exit: Move AC_LIBOBJ invocations to module description.
47899         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
47900         invocations from here...
47901         * modules/_Exit (configure.ac): ... to here.
47903 2011-05-21  Bruno Haible  <bruno@clisp.org>
47905         euidaccess: Respect rules for use of AC_LIBOBJ.
47906         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
47907         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
47908         from here...
47909         * modules/euidaccess (configure.ac): ... to here.
47911 2011-05-06  Bruno Haible  <bruno@clisp.org>
47913         error: Move AC_LIBOBJ invocations to module description.
47914         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
47915         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
47916         invocations from here...
47917         * modules/error (configure.ac): ... to here.
47919 2011-05-06  Bruno Haible  <bruno@clisp.org>
47921         duplocale: Move AC_LIBOBJ invocations to module description.
47922         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
47923         gl_PREREQ_DUPLOCALE invocations from here...
47924         * modules/duplocale (configure.ac): ... to here.
47926 2011-05-05  Bruno Haible  <bruno@clisp.org>
47928         dirfd: Move AC_LIBOBJ invocations to module description.
47929         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
47930         gl_FUNC_DIRFD.
47931         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
47932         here...
47933         * modules/dirfd (configure.ac): ... to here.
47934         (Depends-on): Fix condition.
47936 2011-05-05  Bruno Haible  <bruno@clisp.org>
47938         chown: Respect rules for use of AC_LIBOBJ.
47939         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
47940         * modules/chown (configure.ac): ... to here.
47942 2011-05-05  Bruno Haible  <bruno@clisp.org>
47944         chdir-long: Move AC_LIBOBJ invocations to module description.
47945         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
47946         gl_PREREQ_CHDIR_LONG invocations from here...
47947         * modules/chdir-long (configure.ac): ... to here.
47949 2011-05-05  Bruno Haible  <bruno@clisp.org>
47951         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
47952         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
47953         from here...
47954         * modules/canonicalize-lgpl (configure.ac): ... to here.
47956 2011-05-05  Bruno Haible  <bruno@clisp.org>
47958         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
47959         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
47960         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
47961         REPLACE_CALLOC.
47962         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
47963         * modules/calloc-gnu (configure.ac): Likewise.
47965 2011-05-05  Bruno Haible  <bruno@clisp.org>
47967         btowc: Move AC_LIBOBJ invocations to module description.
47968         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
47969         invocations from here...
47970         * modules/btowc (configure.ac): ... to here.
47972 2011-05-21  Bruno Haible  <bruno@clisp.org>
47974         atexit: Move AC_LIBOBJ invocations to module description.
47975         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
47976         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
47977         here...
47978         * modules/atexit (configure.ac): ... to here.
47980 2011-05-05  Bruno Haible  <bruno@clisp.org>
47982         atoll: Move AC_LIBOBJ invocations to module description.
47983         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
47984         invocations from here...
47985         * modules/atoll (configure.ac): ... to here.
47987 2011-05-05  Bruno Haible  <bruno@clisp.org>
47989         argz: Move AC_LIBOBJ invocations to module description.
47990         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
47991         * modules/argz (configure.ac): ... to here.
47993 2011-05-05  Bruno Haible  <bruno@clisp.org>
47995         alphasort: Move AC_LIBOBJ invocations to module description.
47996         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
47997         gl_PREREQ_ALPHASORT invocations from here...
47998         * modules/alphasort (configure.ac): ... to here.
48000 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
48002         verify: new macro verify_expr; verify_true deprecated
48003         * NEWS: Mention this.
48004         * doc/verify.texi (Compile-time Assertions): Document this.
48005         * lib/verify.h (verify_true): Deprecate.
48006         (verify_expr): New macro.
48007         * tests/test-verify.c (function): Test verify_expr.
48009 2011-06-14  Jim Meyering  <meyering@redhat.com>
48011         init.sh: give more portable redirection-related advice in a comment
48012         * tests/init.sh (stderr_fileno_): Update the advice in comments.
48013         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
48014         for lots of discussion.  Stefano Lattarini suggested the solution
48015         of putting "9>&2" after the command.  Reported by Bruno Haible.
48017 2011-06-13  Bruno Haible  <bruno@clisp.org>
48019         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
48020         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
48021         'none'.
48023 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
48025         ftoastr: use strtof only if HAVE_STRTOF
48026         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
48027         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
48028         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
48029         * modules/ftoastr (configure.ac): Check for strtof.
48031 2011-06-13  Bruno Haible  <bruno@clisp.org>
48033         gnulib-tool: Addendum to 2011-06-08 commit.
48034         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
48035         and --witness-c-macro have been given, augment AM_CPPFLAGS.
48037 2011-06-13  Bruno Haible  <bruno@clisp.org>
48039         fseeko: Provide a non-inline replacement of fseek().
48040         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
48041         * modules/fseeko (Depends-on): Add fseek.
48042         * modules/fseek (License): Change to LGPLv2+.
48044 2011-06-13  Bruno Haible  <bruno@clisp.org>
48046         ftello: Provide a non-inline replacement of ftell().
48047         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
48048         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
48049         not have ftello() (such as on mingw).
48050         * modules/ftello (Depends-on): Add ftell.
48051         * modules/ftell (License): Change to LGPLv2+.
48053 2011-05-07  Bruno Haible  <bruno@clisp.org>
48055         ftell: Move AC_LIBOBJ invocations to module description.
48056         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
48057         * modules/ftell (configure.ac): ... to here.
48059 2011-05-07  Bruno Haible  <bruno@clisp.org>
48061         ftello: Respect rules for use of AC_LIBOBJ.
48062         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
48063         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
48064         here...
48065         * modules/ftello (configure.ac): ... to here.
48067 2011-05-07  Bruno Haible  <bruno@clisp.org>
48069         fseeko: Simplify.
48070         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
48071         (gl_FUNC_FSEEKO): Inline it here.
48073 2011-05-07  Bruno Haible  <bruno@clisp.org>
48075         fseek: Move AC_LIBOBJ invocations to module description.
48076         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
48077         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
48078         * modules/fseek (configure.ac): ... to here.
48080 2011-05-07  Bruno Haible  <bruno@clisp.org>
48082         fseek: Respect rules for use of AC_LIBOBJ.
48083         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
48084         here...
48085         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
48087 2011-05-07  Bruno Haible  <bruno@clisp.org>
48089         fseeko: Respect rules for use of AC_LIBOBJ.
48090         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
48091         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
48092         here...
48093         * modules/fseeko (configure.ac): ... to here.
48095 2011-06-13  Bruno Haible  <bruno@clisp.org>
48097         gnulib-tool: Allow comments in the 'Depends-on' section.
48098         * doc/gnulib.texi (Module description): Mention comment syntax in the
48099         Depends-on section.
48100         * gnulib-tool (func_get_dependencies): Filter out comment lines.
48102 2011-06-13  Bruno Haible  <bruno@clisp.org>
48104         file-set.h: guard __attibute__ use, now that it's not always defined
48105         * lib/file-set.h (record_file): Use __attribute__ only with compiler
48106         versions that support it.  This fixes a coreutils build failure with
48107         the vendor cc on HP-UX 11.31.
48109 2011-06-12  Bruno Haible  <bruno@clisp.org>
48111         acl: Add support for HP-UX >= 11.11 JFS ACLs.
48112         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
48113         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
48114         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
48115         (acl, aclsort): New declarations.
48116         (aclv_nontrivial): New declaration.
48117         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
48118         (file_has_acl): Read also the second kind of HP-UX ACLs.
48119         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
48120         kind of HP-UX ACLs if the first kind fails.
48121         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
48122         second kind of HP-UX ACLs.
48123         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
48124         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
48125         agree.
48126         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
48127         hpuxjfs.
48128         Handle hpuxjfs.
48129         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
48130         hpuxjfs.
48131         Handle hpuxjfs.
48132         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
48133         (func_test_same_acls): Use both lsacl and getacl.
48134         Handle hpuxjfs.
48135         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
48136         (func_test_same_acls): Use both lsacl and getacl.
48137         Handle hpuxjfs.
48139 2011-06-12  Bruno Haible  <bruno@clisp.org>
48141         acl: Complete the 2010-08-10 fix.
48142         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
48143         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
48144         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
48145         explicitly.
48146         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
48147         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
48149 2011-06-12  Bruno Haible  <bruno@clisp.org>
48151         spawn-pipe tests: Comments.
48152         * tests/test-spawn-pipe-child.c (main): Update comment.
48153         Reported by James Youngman <jay@gnu.org>.
48155 2011-06-11  James Youngman  <jay@gnu.org>
48157         New module 'stat-size'.
48158         * modules/stat-size: New module.  Provides macros for accessing
48159         file size information in instances of struct stat.  Depends on the
48160         fileblocks module because it calls st_blocks.
48161         * lib/stat-size.h: New file, adapted from coreutils' system.h.
48162         * doc/gnulib.texi: Include stat-size.texi.
48163         * doc/stat-size.texi: Documentation for this module.
48164         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
48165         * m4/fileblocks.m4: Mention that stat-size depends on the call to
48166         AC_STRUCT_ST_BLOCKS.
48168 2011-06-09  Bruno Haible  <bruno@clisp.org>
48170         thread: Support pthreads-win32.
48171         * lib/glthread/thread.h (gl_thread_self): Define differently on
48172         pthreads-win32.
48173         (gl_null_thread): New declaration.
48174         (gl_thread_self_pointer): New macro.
48175         * lib/glthread/thread.c (gl_null_thread): New constant.
48176         * tests/test-lock.c: Use gl_thread_self_pointer instead of
48177         gl_thread_self.
48178         * tests/test-tls.c: Likewise.
48179         Suggested by Paul Eggert. Reported by Eric Blake.
48181 2011-06-09  Bruno Haible  <bruno@clisp.org>
48183         thread: Fix confusion between NULL and 0.
48184         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
48185         Reported by Paul Eggert.
48187 2011-06-09  Bruno Haible  <bruno@clisp.org>
48189         spawn-pipe tests: Avoid test failure on HP-UX 11.
48190         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
48191         is closed.
48193 2011-06-09  Bruno Haible  <bruno@clisp.org>
48195         acl tests: Fix compilation error on HP-UX 11.
48196         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
48198 2011-06-09  Bruno Haible  <bruno@clisp.org>
48200         rmdir: Avoid test failure on HP-UX 10.20.
48201         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
48202         EEXIST.
48204 2011-06-08  Eric Blake  <eblake@redhat.com>
48206         perror: fix test on mingw
48207         * modules/perror-tests (Depends-on): Add dup2.
48209         strerror_r-posix: fix on MacOS
48210         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
48211         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
48212         logic bug.
48213         * lib/strerror_r.c (strerror_r): Fix the bug.
48214         * lib/strerror.c (strerror): Likewise.
48215         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
48216         problem.
48217         * doc/posix-functions/strerror.texi (strerror): Likewise.
48218         * doc/posix-functions/perror.texi (perror): Likewise.
48219         * tests/test-strerror.c (main): Enhance test.
48220         * tests/test-strerror_r.c (main): Likewise.
48222 2011-06-08  Bruno Haible  <bruno@clisp.org>
48224         gnulib-tool: Better isolation between different gnulib-tool invocations.
48225         * gnulib-tool: New option --witness-c-macro.
48226         (witness_c_macro): New variable.
48227         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
48228         AM_CPPFLAGS define it as a C macro.
48229         (func_emit_tests_Makefile_am): Likewise.
48230         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
48231         read it from there.
48232         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
48233         m4_define, not AC_DEFUN.
48234         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
48235         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
48236         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
48237         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
48238         s|...|...|, to substitute the values of the GNULIB_* module indicator
48239         variables.
48240         * modules/dirent (Makefile.am): Likewise.
48241         * modules/fcntl-h (Makefile.am): Likewise.
48242         * modules/iconv-h (Makefile.am): Likewise.
48243         * modules/langinfo (Makefile.am): Likewise.
48244         * modules/locale (Makefile.am): Likewise.
48245         * modules/math (Makefile.am): Likewise.
48246         * modules/netdb (Makefile.am): Likewise.
48247         * modules/poll-h (Makefile.am): Likewise.
48248         * modules/pty (Makefile.am): Likewise.
48249         * modules/search (Makefile.am): Likewise.
48250         * modules/signal (Makefile.am): Likewise.
48251         * modules/spawn (Makefile.am): Likewise.
48252         * modules/stdio (Makefile.am): Likewise.
48253         * modules/stdlib (Makefile.am): Likewise.
48254         * modules/string (Makefile.am): Likewise.
48255         * modules/sys_ioctl (Makefile.am): Likewise.
48256         * modules/sys_select (Makefile.am): Likewise.
48257         * modules/sys_socket (Makefile.am): Likewise.
48258         * modules/sys_stat (Makefile.am): Likewise.
48259         * modules/sys_times (Makefile.am): Likewise.
48260         * modules/sys_utsname (Makefile.am): Likewise.
48261         * modules/sys_wait (Makefile.am): Likewise.
48262         * modules/termios (Makefile.am): Likewise.
48263         * modules/time (Makefile.am): Likewise.
48264         * modules/unistd (Makefile.am): Likewise.
48265         * modules/wchar (Makefile.am): Likewise.
48267 2011-06-08  Eric Blake  <eblake@redhat.com>
48269         strerror: simplify replacement
48270         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
48271         * modules/strerror (configure.ac): No prereqs needed here...
48272         * modules/strerror-override (configure.ac): ...but this needs it.
48273         (Files): Add file for needed prereq macro.
48275 2011-06-08  Bruno Haible  <bruno@clisp.org>
48277         strerror_r-posix: Tweaks.
48278         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
48279         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
48280         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
48281         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
48282         (gl_FUNC_STRERROR_R): ... to here.
48283         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
48285 2011-06-07  Eric Blake  <eblake@redhat.com>
48287         perror: document fixed bugs
48288         * doc/posix-functions/perror.texi (perror): Document recent
48289         patches.
48291 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
48293         stat-time: get_stat_birthtime failure is better-defined
48294         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
48295         return a timestamp whose tv_sec and tv_nsec values are both -1.
48296         Previously, the spec said only that the tv_nsec value was negative.
48297         This upward-compatible change simplifies GNU tar a bit.
48299 2011-06-07  Eric Blake  <eblake@redhat.com>
48301         strerror_r-posix: work around cygwin 1.7.9
48302         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
48303         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
48304         bug without replacing strerror_r.
48305         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
48306         strerror_r is buggy, but without requiring strerror_r compilation.
48307         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
48309         test-perror: relax test to ignore cygwin bug
48310         * tests/test-perror2.c (main): Relax test on requiring detection
48311         of stream errors, and use unbuffered stream.
48312         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
48313         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
48314         * doc/posix-functions/fputc.texi (fputc): Likewise.
48315         * doc/posix-functions/fputs.texi (fputs): Likewise.
48316         * doc/posix-functions/fputws.texi (fputws): Likewise.
48317         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
48318         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
48319         * doc/posix-functions/getopt.texi (getopt): Likewise.
48320         * doc/posix-functions/perror.texi (perror): Likewise.
48321         * doc/posix-functions/printf.texi (printf): Likewise.
48322         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
48323         * doc/posix-functions/psignal.texi (psignal): Likewise.
48324         * doc/posix-functions/putc.texi (putc): Likewise.
48325         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
48326         Likewise.
48327         * doc/posix-functions/putchar.texi (putchar): Likewise.
48328         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
48329         Likewise.
48330         * doc/posix-functions/puts.texi (puts): Likewise.
48331         * doc/posix-functions/putwc.texi (putwc): Likewise.
48332         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
48333         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
48334         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48335         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
48336         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48337         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
48338         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
48339         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
48341 2011-05-22  Bruno Haible  <bruno@clisp.org>
48343         strerror: Move AC_LIBOBJ invocations to module description.
48344         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
48345         gl_PREREQ_STRERROR invocations from here...
48346         * modules/strerror (configure.ac): ... to here.
48348 2011-05-21  Bruno Haible  <bruno@clisp.org>
48350         perror: Use common idiom.
48351         * modules/perror (configure.ac): Reorder statements.
48353 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
48355         tests: fix usage message in 'mktempd_'
48356         * tests/init.sh (mktempd_): In the usage message, use literal
48357         'mktempd_', not '$ME' (which is even undefined), as the name of
48358         the subroutine.
48360 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
48362         tests init: new function 'fatal_', for hard errors
48363         Before this patch, the only way offered by tests/init.sh to
48364         properly signal a hard error was the `framework_failure_'
48365         function.  But the error message issued by that function,
48366         as its name would suggest, refers to a set-up failure in the
48367         testsuite, while hard errors can obviously also be due to
48368         other reasons.  The best way to fix this inconsistency is to
48369         introduce a new function with a more general error message.
48370         * tests/init.sh (fatal_): New function.
48372 2011-06-06  Eric Blake  <eblake@redhat.com>
48374         canonicalize-lgpl: use common idiom
48375         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
48376         over newer POSIX -Rf.
48377         Reported by Bruno Haible.
48379         canonicalize-lgpl: work around AIX realpath bug
48380         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
48381         * doc/posix-functions/realpath.texi (realpath): Document it.
48382         Reported by Bruno Haible.
48384         strerror: work around FreeBSD bug
48385         * lib/strerror.c (strerror): Special case 0.
48386         Reported by Bruno Haible.
48388         strerror-override: avoid bloating errno module
48389         * modules/errno (Files, configure.ac): Move replacement strings...
48390         * modules/strerror-override: ...to new module.
48391         * modules/strerror (Depends-on): Add strerror-override.
48392         * modules/strerror_r-posix (Depends-on): Likewise.
48393         * MODULES.html.sh: Document new module.
48394         Reported by Bruno Haible.
48396 2011-06-06  Bruno Haible  <bruno@clisp.org>
48398         spawn-pipe tests: Rename program.
48399         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
48400         * tests/test-spawn-pipe-child.c: Update comment.
48401         * tests/test-spawn-pipe.sh: Update.
48402         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
48404         spawn-pipe tests: Link the child program only against libc.
48405         * tests/test-spawn-pipe-child.c: New file, extracted from
48406         tests/test-spawn-pipe.c.
48407         (main): Expect only one argument.
48408         (is_open): New function, copied from tests/test-pipe.c.
48409         * tests/test-spawn-pipe.c: Don't include <errno.h>.
48410         (child_main): Remove function.
48411         (test_pipe): Pass only one argument to the child program.
48412         (main): Remove child process code. Expect the child program's name as
48413         first argument.
48414         * tests/test-spawn-pipe.sh: Pass the child program's name as first
48415         argument.
48416         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
48417         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
48418         test-spawn-pipe-child against no libraries.
48420 2011-06-06  Bruno Haible  <bruno@clisp.org>
48422         careadlinkat: Avoid mismatch between ssize_t and int.
48423         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
48424         * lib/careadlinkat.c (careadlinkatcwd): Define always.
48426 2011-06-06  Jim Meyering  <meyering@redhat.com>
48428         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
48429         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
48430         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
48432 2011-06-05  Bruno Haible  <bruno@clisp.org>
48434         ansi-c++-opt: Interoperability with libtool.
48435         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
48436         set the variable to "no", not to ":".
48437         * NEWS: Mention the change.
48439 2011-06-05  Bruno Haible  <bruno@clisp.org>
48441         acl: Fix test failure on AIX 7.
48442         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
48443         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
48445 2011-06-05  Bruno Haible  <bruno@clisp.org>
48447         pipe-filter-ii: Fix test failure on AIX and IRIX.
48448         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
48449         with EAGAIN, retry with a smaller buffer size.
48451 2011-06-05  Bruno Haible  <bruno@clisp.org>
48453         localename: Fix link dependencies.
48454         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
48455         * modules/localename-tests (Makefile.am): Link test-localename with
48456         $(LIBTHREAD).
48458 2011-06-05  Bruno Haible  <bruno@clisp.org>
48460         error: Avoid gcc warning.
48461         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
48463 2011-06-05  Bruno Haible  <bruno@clisp.org>
48465         unsetenv: Avoid gcc warning.
48466         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
48468 2011-06-05  Bruno Haible  <bruno@clisp.org>
48470         setenv: Avoid gcc warning.
48471         * lib/setenv.c (setenv): Provide declaration if system lacks it.
48473 2011-06-05  Bruno Haible  <bruno@clisp.org>
48475         sys_select: Ensure memset is declared also on AIX 7.
48476         * lib/sys_select.in.h: Include <string.h> also on AIX.
48477         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
48478         self-contained also on AIX 7.1.
48480 2011-06-04  Jim Meyering  <meyering@redhat.com>
48482         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
48483         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
48484         function name, "error".
48485         (_gl_translatable_diag_func_re): New configurable variable.
48487 2011-06-04  Bruno Haible  <bruno@clisp.org>
48489         getopt: Avoid gcc warning.
48490         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
48492 2011-06-04  Bruno Haible  <bruno@clisp.org>
48494         strerror_r: Fix comments.
48495         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
48496         commit.
48498 2011-06-04  Bruno Haible  <bruno@clisp.org>
48500         perror: Fix compilation error.
48501         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
48502         Undefine fprintf, not sprintf.
48503         * modules/perror (Depends-on): Remove intprops, verify.
48505 2011-06-04  Bruno Haible  <bruno@clisp.org>
48507         setlocale: Enable replacement on Cygwin 1.5.
48508         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
48509         Cygwin 1.5.x.
48510         * doc/posix-functions/setlocale.texi: Mention that the problem with the
48511         LC_CTYPE category also exists on Cygwin 1.5.x.
48513 2011-06-04  Bruno Haible  <bruno@clisp.org>
48515         strerror-override: Don't disable symbol renamings.
48516         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
48517         * lib/strerror-override.c: Include config.h.
48518         (strerror_override): Don't undefine.
48520 2011-06-03  Bruno Haible  <bruno@clisp.org>
48522         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
48523         * lib/localename.h: Update copyright header.
48524         * lib/localename.c: Likewise.
48525         * lib/relocatable.h: Likewise.
48526         * lib/relocatable.c: Likewise.
48528 2011-06-02  Bruno Haible  <bruno@clisp.org>
48530         doc: Fix a module name.
48531         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
48533 2011-06-02  Bruno Haible  <bruno@clisp.org>
48535         pipe2: Remove dependency on 'nonblocking' module.
48536         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
48537         O_NONBLOCK is defined by gnulib.
48538         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
48539         is zero.
48540         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
48541         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
48542         defined by gnulib.
48543         (get_nonblocking_flag): New function.
48544         (main): Test O_NONBLOCK flag only if it is nonzero.
48545         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
48547 2011-06-03  Jim Meyering  <meyering@redhat.com>
48549         maint: three new prohibit-header-without-use rules
48550         Prohibit use of cloexec.h, posixver.h, same.h without use.
48551         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
48552         (sc_prohibit_posixver_without_use): Likewise.
48553         (sc_prohibit_same_without_use): Likewise.
48555 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48557         allocator: 'die' routine is now given requested size
48558         * lib/allocator.h (struct allocator.die): New size arg.
48559         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
48560         If the actual problem is an ssize_t limitation, not a size_t or
48561         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
48563 2011-06-01  Eric Blake  <eblake@redhat.com>
48565         strerror: drop strerror_r dependency
48566         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
48567         * lib/strerror-override.c (strerror_override): ...to new file.
48568         * lib/strerror-override.h: Add prototype.
48569         * lib/strerror-impl.h: Delete.
48570         * lib/strerror.c (strerror): New implementation.
48571         * modules/errno (Files): Add new files.
48572         (configure.ac): Compile new file as appropriate.
48573         * modules/strerror (Files): Drop unused file.
48574         (Depends-on): Drop strerror_r-posix.
48575         * MODULES.html.sh: Document strerror_r-posix.
48576         Requested by Sam Steingold.
48578         perror: call strerror_r directly
48579         * modules/perror (Files): Drop strerror-impl.h.
48580         * lib/perror.c (perror): Use our own stack buffer, rather than
48581         calling a wrapper that uses static storage.
48582         * doc/posix-functions/perror.texi (perror): Document a limitation
48583         of our replacement.
48585         strerror_r: fix includes for FreeBSD
48586         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
48587         since we use abort on some platforms.
48588         Reported by Matthias Bolte.
48590 2011-05-31  Bruno Haible  <bruno@clisp.org>
48592         Fix link errors in tests: openat-die uses gettext-h.
48593         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
48594         against $(LIBINTL).
48595         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
48596         against $(LIBINTL).
48597         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
48598         $(LIBINTL).
48599         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
48600         against $(LIBINTL).
48601         * modules/linkat-tests (Makefile.am): Link test-linkat against
48602         $(LIBINTL).
48603         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
48604         $(LIBINTL).
48605         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
48606         against $(LIBINTL).
48607         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
48608         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
48609         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
48610         $(LIBINTL).
48611         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
48612         $(LIBINTL).
48613         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
48614         $(LIBINTL).
48615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48617 2011-05-31  Bruno Haible  <bruno@clisp.org>
48619         Fix link errors in tests: wait-process uses gettext-h.
48620         * modules/nonblocking-pipe-tests (Makefile.am): Set
48621         test_nonblocking_pipe_main_LDADD.
48622         * modules/nonblocking-socket-tests (Makefile.am): Link
48623         test-nonblocking-socket-main against $(LIBINTL).
48624         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48626 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
48628         assert-h: work around 'verify' incompatibility
48629         * lib/verify.h: Use @...@ directives, not ifdef.
48630         * modules/assert-h (assert.h): Implement the directives.
48631         (assert.h): Substitute the symbol-prefix more consistently.
48633 2011-05-29  Jim Meyering  <meyering@redhat.com>
48635         trim: remove three superfluous assignments
48636         * lib/trim.c (trim2): Remove three superfluous assignments
48637         and correct brace positioning.
48639 2011-05-29  Bruno Haible  <bruno@clisp.org>
48641         wctype-h: Avoid namespace pollution on Solaris 2.6.
48642         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
48643         identifiers.
48644         * doc/posix-headers/wctype.texi: Mention the problem.
48645         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48647 2011-05-28  Jim Meyering  <meyering@redhat.com>
48649         parse-datetime.y: accommodate -Wstrict-overflow
48650         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
48651         placate -Wstrict-overflow.
48653         trim: avoid a warning from -O2 -Wstrict-overflow
48654         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
48656 2011-05-29  Bruno Haible  <bruno@clisp.org>
48658         gnulib-tool: Fix bug in yesterday's commit.
48659         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
48660         twice.
48662 2011-05-29  Bruno Haible  <bruno@clisp.org>
48664         Allow multiple gnulib generated include files to be combined.
48665         * gnulib-tool (func_compute_include_guard_prefix): New function.
48666         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
48667         ${gl_include_guard_prefix} references.
48668         (func_import, func_create_testdir): Invoke
48669         func_compute_include_guard_prefix.
48670         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
48671         * lib/ctype.in.h: Likewise.
48672         * lib/dirent.in.h: Likewise.
48673         * lib/errno.in.h: Likewise.
48674         * lib/fcntl.in.h: Likewise.
48675         * lib/float.in.h: Likewise.
48676         * lib/getopt.in.h: Likewise.
48677         * lib/iconv.in.h: Likewise.
48678         * lib/langinfo.in.h: Likewise.
48679         * lib/locale.in.h: Likewise.
48680         * lib/math.in.h: Likewise.
48681         * lib/netdb.in.h: Likewise.
48682         * lib/netinet_in.in.h: Likewise.
48683         * lib/poll.in.h: Likewise.
48684         * lib/pthread.in.h: Likewise.
48685         * lib/pty.in.h: Likewise.
48686         * lib/sched.in.h: Likewise.
48687         * lib/se-selinux.in.h: Likewise.
48688         * lib/search.in.h: Likewise.
48689         * lib/signal.in.h: Likewise.
48690         * lib/spawn.in.h: Likewise.
48691         * lib/stdarg.in.h: Likewise.
48692         * lib/stddef.in.h: Likewise.
48693         * lib/stdint.in.h: Likewise.
48694         * lib/stdio.in.h: Likewise.
48695         * lib/stdlib.in.h: Likewise.
48696         * lib/string.in.h: Likewise.
48697         * lib/strings.in.h: Likewise.
48698         * lib/sys_file.in.h: Likewise.
48699         * lib/sys_ioctl.in.h: Likewise.
48700         * lib/sys_select.in.h: Likewise.
48701         * lib/sys_socket.in.h: Likewise.
48702         * lib/sys_stat.in.h: Likewise.
48703         * lib/sys_time.in.h: Likewise.
48704         * lib/sys_times.in.h: Likewise.
48705         * lib/sys_uio.in.h: Likewise.
48706         * lib/sys_utsname.in.h: Likewise.
48707         * lib/sys_wait.in.h: Likewise.
48708         * lib/sysexits.in.h: Likewise.
48709         * lib/termios.in.h: Likewise.
48710         * lib/time.in.h: Likewise.
48711         * lib/unistd.in.h: Likewise.
48712         * lib/wchar.in.h: Likewise.
48713         * lib/wctype.in.h: Likewise.
48714         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
48715         * modules/ctype (Makefile.am): Likewise.
48716         * modules/dirent (Makefile.am): Likewise.
48717         * modules/errno (Makefile.am): Likewise.
48718         * modules/fcntl-h (Makefile.am): Likewise.
48719         * modules/float (Makefile.am): Likewise.
48720         * modules/getopt-posix (Makefile.am): Likewise.
48721         * modules/iconv-h (Makefile.am): Likewise.
48722         * modules/langinfo (Makefile.am): Likewise.
48723         * modules/locale (Makefile.am): Likewise.
48724         * modules/math (Makefile.am): Likewise.
48725         * modules/netdb (Makefile.am): Likewise.
48726         * modules/netinet_in (Makefile.am): Likewise.
48727         * modules/poll-h (Makefile.am): Likewise.
48728         * modules/pthread (Makefile.am): Likewise.
48729         * modules/pty (Makefile.am): Likewise.
48730         * modules/sched (Makefile.am): Likewise.
48731         * modules/search (Makefile.am): Likewise.
48732         * modules/selinux-h (Makefile.am): Likewise.
48733         * modules/signal (Makefile.am): Likewise.
48734         * modules/spawn (Makefile.am): Likewise.
48735         * modules/stdarg (Makefile.am): Likewise.
48736         * modules/stddef (Makefile.am): Likewise.
48737         * modules/stdint (Makefile.am): Likewise.
48738         * modules/stdio (Makefile.am): Likewise.
48739         * modules/stdlib (Makefile.am): Likewise.
48740         * modules/string (Makefile.am): Likewise.
48741         * modules/strings (Makefile.am): Likewise.
48742         * modules/sys_file (Makefile.am): Likewise.
48743         * modules/sys_ioctl (Makefile.am): Likewise.
48744         * modules/sys_select (Makefile.am): Likewise.
48745         * modules/sys_socket (Makefile.am): Likewise.
48746         * modules/sys_stat (Makefile.am): Likewise.
48747         * modules/sys_time (Makefile.am): Likewise.
48748         * modules/sys_times (Makefile.am): Likewise.
48749         * modules/sys_uio (Makefile.am): Likewise.
48750         * modules/sys_utsname (Makefile.am): Likewise.
48751         * modules/sys_wait (Makefile.am): Likewise.
48752         * modules/sysexits (Makefile.am): Likewise.
48753         * modules/termios (Makefile.am): Likewise.
48754         * modules/time (Makefile.am): Likewise.
48755         * modules/unistd (Makefile.am): Likewise.
48756         * modules/wchar (Makefile.am): Likewise.
48757         * modules/wctype-h (Makefile.am): Likewise.
48758         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
48760 2011-05-29  Bruno Haible  <bruno@clisp.org>
48762         assert-h: Allow multiple gnulib generated replacements to coexist.
48763         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
48765 2011-05-29  Bruno Haible  <bruno@clisp.org>
48767         argp: Allow coexistence with strerror_r-posix module.
48768         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
48769         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
48770         by gnulib's <string.h> replacement), assume it has the POSIX signature,
48771         not the glibc signature.
48773 2011-05-28  Bruno Haible  <bruno@clisp.org>
48775         gnulib-tool: Alternative structure of testdirs, similar to --import.
48776         * gnulib-tool: New option --single-configure.
48777         (func_usage): Document it.
48778         (single_configure): New variable.
48779         (func_modules_transitive_closure_separately,
48780         func_modules_transitive_closure_separately,
48781         func_determine_use_libtests, func_modules_add_dummy_separately,
48782         func_modules_to_filelist_separately): New functions, extracted from
48783         func_import.
48784         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
48785         (func_import): Use the new functions.
48786         (func_create_testdir): Set final_modules. Handle $single_configure =
48787         true case.
48789 2011-05-28  Bruno Haible  <bruno@clisp.org>
48791         getloadavg: Remove an unreliable safety check.
48792         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
48793         getloadavg.c is in place.
48794         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
48795         Reported by Sam Steingold <sds@gnu.org>.
48797 2011-05-28  Bruno Haible  <bruno@clisp.org>
48799         doc: Cleanup yet another file produced by texinfo.tex.
48800         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
48802 2011-05-28  Bruno Haible  <bruno@clisp.org>
48804         Finish the conditional dependencies mechanism.
48805         * gnulib-tool: New option --no-conditional-dependencies.
48806         (func_usage): Document it. Don't mark --conditional-dependencies as
48807         experimental.
48808         (cond_dependencies): The possible values can now be true, false, empty.
48809         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
48810         (func_import): Store setting in gnulib-cache.m4 and read it from there.
48811         * doc/gnulib-tool.texi (Conditional dependencies): New section.
48813 2011-05-28  Bruno Haible  <bruno@clisp.org>
48815         doc: Use a recent texinfo.tex.
48816         * doc/Makefile (tex_opts): New variable.
48817         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
48819 2011-05-28  Jim Meyering  <meyering@redhat.com>
48821         intprops.h: adjust comment to match code change
48822         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
48823         only once, it *may* have side effects.  Also fix an unrelated typo.
48824         (_GL_INT_SIGNED): Likewise.
48826 2011-05-26  Simon Josefsson  <simon@josefsson.org>
48828         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
48830 2011-05-26  Bruno Haible  <bruno@clisp.org>
48832         mbsrchr: Avoid collision with system function on Interix.
48833         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
48834         Reported by Markus Duft <mduft@gentoo.org>.
48836 2011-05-15  James Youngman  <jay@gnu.org>
48838         getopt: for ambiguous options, enumerate the possibilities.
48839         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
48840         the ambiguous options when an ambiguous prefix is given. This was
48841         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
48842         glibc change was
48843         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
48845 2011-05-25  Eric Blake  <eblake@redhat.com>
48847         getcwd: work around mingw bug
48848         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
48849         * doc/posix-functions/getcwd.texi (getcwd): Document it.
48850         Reported by Matthias Bolte.
48852 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
48854         test-intprops: disable -Wtype-limits diagnostics
48855         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
48856         diagnostics.  Otherwise, the integer overflow macros generate many
48857         diagnostics.  Reported by Jim Meyering in
48858         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
48860         intprops: shorten, to pacify gcc -Woverlength-strings
48861         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
48862         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
48863         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
48864         likely to run afoul of C compiler limits for string constant lengths.
48865         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
48867 2011-05-24  Eric Blake  <eblake@redhat.com>
48869         docs: document recently fixed glibc printf bug
48870         * doc/posix-functions/fprintf.texi (fprintf): Document it.
48871         * doc/posix-functions/printf.texi (printf): Likewise.
48872         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48873         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48875         closein-tests: convert to init.sh
48876         * modules/closein-tests (Files): Add init.sh
48877         * tests/test-closein.sh Use it.
48879         yesno-tests: convert to init.sh
48880         * modules/yesno-tests (Files): Add init.sh.
48881         * tests/test-yesno.sh: Use it.
48883         atexit-tests: ensure reliable exit status
48884         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
48885         Reported by Bruno Haible.
48887 2011-05-24  Bruno Haible  <bruno@clisp.org>
48889         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
48890         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
48891         gl_PREREQ_STRERROR_R invocations from here...
48892         * modules/strerror_r-posix (configure.ac): ... to here.
48894 2011-05-24  Eric Blake  <eblake@redhat.com>
48896         strerror_r: fix missing header
48897         * lib/strerror_r.c: Avoid compiler warning about snprintf.
48899         strerror_r: fix AIX test failures
48900         * lib/strerror_r.c (strerror_r): Convert silent truncation to
48901         ERANGE failure.
48903         strerror_r: fix Solaris test failures
48904         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
48905         failures.
48906         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
48908         strerror_r: enforce POSIX recommendations
48909         * lib/strerror_r.c (safe_copy): New helper method.
48910         (strerror_r): Guarantee a non-empty string.
48911         * tests/test-strerror_r.c (main): Enhance tests to incorporate
48912         recent POSIX rulings and to match our strerror guarantees.
48913         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
48915 2011-05-24  Jim Meyering  <meyering@redhat.com>
48917         test-perror2.c: avoid warning about unused variable
48918         * tests/test-perror2.c (main): Remove declaration of unused "fp".
48920 2011-05-24  Eric Blake  <eblake@redhat.com>
48922         perror: avoid spurious test failure on HP-UX
48923         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
48925         tests: fix logic bug in init.sh
48926         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
48927         shell.
48929 2011-05-24  Jim Meyering  <meyering@redhat.com>
48931         utimensat: do not reference an out-of-scope buffer
48932         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
48933         declared in an inner scope, yet "times" would be dereferenced outside
48934         the scope in which "ts" was valid.
48935         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
48936         of ts[2] "out/up", so that the use of aliased "times" (via
48937         "times = ts;") does not end up referencing an out-of-scope "ts"
48939         opendir-safer.c: don't clobber errno; don't close negative FD
48940         * lib/opendir-safer.c (opendir_safer):
48941         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
48942         file descriptor, and more importantly, don't clobber the
48943         offending errno value with EINVAL.  Before, upon failure
48944         of dup_safer, we would pass the negative file descriptor to
48945         fdopendir, which would clobber errno.
48947 2011-05-23  Bruno Haible  <bruno@clisp.org>
48949         idcache: Fix module description.
48950         * modules/idcache (Include): Set to "idcache.h".
48952 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
48954         gnulib-tool: fix portability problem with MacOS sed
48955         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
48956         before the "}".  Problem reported by Leo in
48957         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
48958         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
48959         sed_extract_condition1, sed_extract_condition2.
48961 2011-05-23  Bruno Haible  <bruno@clisp.org>
48963         hash: Simplify autoconf macro.
48964         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
48966 2011-05-23  Bruno Haible  <bruno@clisp.org>
48968         getugroups: Fix module description.
48969         * modules/getugroups (Include): Set to "getugroups.h".
48971 2011-05-23  Bruno Haible  <bruno@clisp.org>
48973         linkat: Simplify autoconf macro.
48974         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
48976 2011-05-23  Bruno Haible  <bruno@clisp.org>
48977             Eric Blake  <eblake@redhat.com>
48979         linkat, renameat: Update dependencies.
48980         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
48981         * modules/linkat (Depends-on): Likewise. Remove also readlink,
48982         symlinkat.
48984 2011-05-23  Jim Meyering  <meyering@redhat.com>
48986         maint.mk: more tight_scope improvements
48987         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
48988         (_gl_TS_headers): Define only in if-0'd block.
48989         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
48990         sometimes we must *not* use it.  Adjust uses accordingly.
48991         (sc_tight_scope): Use much simpler grep-based test to determine
48992         whether we skip this rule.
48994         maint.mk: generalize/improve the tight-scope rule
48995         * top/maint.mk: Emit a warning when the test is skipped.
48996         (_gl_TS_dir): Add $(srcdir)/ prefix.
48997         (_gl_TS_function_match): Simplify, rather than trying
48998         to enumerate common types.  Otherwise, it would fail to match an
48999         "extern unsigned char const *" declaration in idutils.
49000         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
49001         a way to support use of that type of macro.
49002         (_gl_TS_var_match): Simplify regexp.
49003         (_gl_TS_obj_files): New configurable variable.
49004         (_gl_TS_headers): Likewise.
49006 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49008         verify: fix bug when gnulib <assert.h> is also included
49009         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
49010         is defined, not if _GL_STATIC_ASSERT_H is not defined.
49011         Perhaps there's a better way, but this fixes the immediate problem.
49012         Problem reported by Bruno Haible in
49013         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
49015 2011-05-22  Bruno Haible  <bruno@clisp.org>
49017         xgetcwd: Simplify autoconf macro.
49018         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
49020 2011-05-22  Bruno Haible  <bruno@clisp.org>
49022         New module 'mktime-internal'.
49023         * modules/mktime-internal: New file.
49024         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
49025         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
49026         mktime_internal as a C macro if libc has __mktime_internal.
49027         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
49028         conditions.
49029         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
49031 2011-05-22  Bruno Haible  <bruno@clisp.org>
49033         timegm: Correct mktime replacement statements.
49034         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
49035         defining mktime as a C macro. This completes a 2009-07-28 commit.
49037 2011-05-22  Bruno Haible  <bruno@clisp.org>
49039         timegm: Simplify autoconf macro.
49040         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
49042 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
49044         clock-time: change to LGPLv2+.
49045         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
49046         BSD-like but we have no mark for that; this is good enough for now.
49048 2011-05-21  Bruno Haible  <bruno@clisp.org>
49050         strerror_r: Fix comments.
49051         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
49053 2011-05-21  Bruno Haible  <bruno@clisp.org>
49055         relocatable-prog-wrapper: Fix possible link error.
49056         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
49057         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
49058         (gl_FUNC_SETENV): ... to here.
49059         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
49060         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
49062 2011-05-21  Bruno Haible  <bruno@clisp.org>
49064         relocatable-prog-wrapper: Assume strerror() exists.
49065         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
49066         m4/strerror.m4.
49067         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
49068         * lib/relocwrapper.c: Remove mention of strerror module.
49069         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
49070         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
49071         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
49072         C macro.
49074 2011-05-21  Bruno Haible  <bruno@clisp.org>
49076         select: Simplify replacement idiom.
49077         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
49078         Win32 platforms.
49079         * lib/sys_select.in.h (select): Simplify accordingly.
49080         * modules/select (Depends-on): Likewise.
49082 2011-05-21  Bruno Haible  <bruno@clisp.org>
49084         mkdir-p: Simplify autoconf macro.
49085         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
49086         gl_FUNC_LCHOWN.
49088 2011-05-21  Eric Blake  <eblake@redhat.com>
49090         strerror_r: avoid clobbering strerror on cygwin
49091         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
49092         fall back instead to sys_errlist.
49093         * modules/strerror (configure.ac): Add witness.
49094         * tests/test-strerror_r.c (main): Enhance test.
49095         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
49096         * tests/test-perror2.c (main): Free memory before exit.
49098 2011-05-21  Bruno Haible  <bruno@clisp.org>
49100         mkdtemp: Use gnulib naming conventions.
49101         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
49102         * modules/mkdtemp (configure.ac): Update.
49104 2011-05-20  Eric Blake  <eblake@redhat.com>
49106         strerror_r: avoid corrupting errno on Solaris
49107         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
49108         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
49110         strerror_r: avoid compiler warning
49111         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
49113         strerror_r: simplify AIX code
49114         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
49116         test-perror: avoid spurious failure on FreeBSD
49117         * modules/perror-tests (Depends-on): Add strerror, now that
49118         strerror_r no longer pulls it in.
49120 2011-05-20  Bruno Haible  <bruno@clisp.org>
49122         strerror_r-posix: Remove unused dependencies.
49123         * modules/strerror_r-posix (Depends-on): Remove strerror.
49124         Reported by Eric Blake.
49126 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
49128         intprops: remove assumption about A|B representation
49129         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
49130         is a valid integer if both A and B are.  Although this is true for
49131         all known practical hosts, the C standard doesn't guarantee it,
49132         and the code need not assume it.  Also, this change may work around
49133         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
49134         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
49136 2011-05-20  Eric Blake  <eblake@redhat.com>
49138         perror: work around FreeBSD bug
49139         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
49140         is broken.  Move AC_LIBOBJ...
49141         * modules/perror (configure.ac): Here.
49142         * doc/posix-functions/perror.texi (perror): Document this.
49143         * tests/test-perror2.c (main): Enhance test.
49145         test-perror: check for strerror interactions
49146         * tests/macros.h (STREQ): Add macro.
49147         * modules/perror-tests (Files): Add second test.
49148         * tests/test-perror2.c (main): New file.
49149         * doc/posix-functions/perror.texi (perror): Document glibc bug.
49151         test-perror: rewrite to use init script
49152         * modules/perror-tests (Files): Add init.sh.
49153         * tests/test-perror.sh: Use temporary directory.
49155 2011-05-20  Jim Meyering  <meyering@redhat.com>
49157         maint: replace misused "a" with "an"
49158         * doc/intprops.texi: "a integer"
49159         * doc/regex.texi: "a explanation"
49160         * lib/alignof.h: "a object"
49161         * lib/argmatch.h: "a explanation"
49162         * lib/argp-help.c: "a option" and "a OPTION_DOC"
49163         * lib/stdint.in.h: "a integer"
49164         * lib/userspec.c: "a owner"
49165         * doc/gnulib.texi: Fix "a idea", and reword.
49167 2011-05-19  Jim Meyering  <meyering@redhat.com>
49169         maint: correct misuse of "a" and "an"
49170         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
49171         * lib/argp-help.c: "an docum...": s/an/a/
49172         * lib/argp-parse.c: "An vector": s/An/A/
49173         * lib/execute.c: "an native": s/an/a/
49174         * lib/spawn-pipe.c: Likewise.
49175         * lib/gc.h: "an Gc_rc": s/an/a/
49176         * lib/unigbrk.in.h: "an grapheme": s/an/a/
49177         * lib/fts.c: "an stat.st_dev": s/an/a/
49179 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49181         intprops-tests: work around HP-UX 11.23 cc bug with constants
49182         * tests/test-intprops.c (VERIFY): New macro.
49183         (main): Use it, instead of verify, to work around the compiler bug; see
49184         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
49186         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
49187         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
49188         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
49189         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
49190         (_GL_REMAINDER_OVERFLOW): Use it.
49192         intprops-tests: revert unsigned part of previous change
49193         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
49194         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
49195         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
49196         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
49198 2011-05-19  Bruno Haible  <bruno@clisp.org>
49200         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
49201         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
49202         strerror_r() returned without filling the buffer.
49203         Reported by Eric Blake.
49205 2011-05-19  Eric Blake  <eblake@redhat.com>
49207         strerror_r: guarantee unchanged errno
49208         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
49209         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
49210         failure.
49211         * tests/test-strerror_r.c (main): Enhance test.
49213 2011-05-19  Bruno Haible  <bruno@clisp.org>
49215         strerror_r: Reorder #if blocks.
49216         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
49217         for consistency with the previous commit.
49219 2011-05-19  Bruno Haible  <bruno@clisp.org>
49221         perror: Avoid clobbering the strerror buffer when possible.
49222         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
49223         * lib/strerror.c: Include it.
49224         * modules/strerror (Files): Add lib/strerror-impl.h.
49225         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
49226         (my_strerror): New function, defined through lib/strerror-impl.h.
49227         (perror): Use it instead of strerror.
49228         * modules/perror (Files): Add lib/strerror-impl.h.
49229         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
49231 2011-05-19  Eric Blake  <eblake@redhat.com>
49233         strerror_r: fix on newer cygwin
49234         * lib/strerror_r.c (strerror_r): Cygwin now has
49235         __xpg_strerror_r, use it.
49237 2011-05-19  Bruno Haible  <bruno@clisp.org>
49239         strerror_r: Avoid clobbering the strerror buffer when possible.
49240         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
49241         (sys_nerr, sys_errlist): New declarations.
49242         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
49243         HP-UX, native Win32, IRIX, and 32-bit Solaris.
49244         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
49246 2011-05-19  Bruno Haible  <bruno@clisp.org>
49248         strerror_r: Fix test failure on mingw.
49249         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
49250         EXTEND_STRERROR_R.
49251         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
49252         macros from errno.in.h instead.
49254 2011-05-19  Eric Blake  <eblake@redhat.com>
49256         strerror: relax test for Solaris
49257         * tests/test-strerror.c (main): Permit Solaris behavior.
49258         * tests/test-strerror_r.c (main): Likewise.
49260         strerror: enforce POSIX ruling on strerror(0)
49261         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
49262         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
49263         * lib/strerror_r.c (rpl_strerror_r): Work around it.
49264         * doc/posix-functions/strerror.texi (strerror): Document it.
49265         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
49266         * tests/test-strerror.c (main): Strengthen test.
49267         * tests/test-strerror_r.c (main): Likewise.
49269 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49271         intprop-tests: port to older and more-pedantic compilers
49272         * modules/intprops-tests (Files): Add tests/macros.h.
49273         * tests/test-intprops.c: Include macros.h.
49274         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
49275         it's no longer documented to expand to an integer constant expression.
49276         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
49277         argument is floating point, as it's no longer documented to expand
49278         to an integer constant expression in that case.
49279         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
49280         compiler bugs reported by Bruno Haible.  See
49281         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
49282         (U0, U1): New constants, to work around the same bugs.  Also,
49283         in tests, use e.g., "(unsigned int) 39" rather than "39u".
49285         intprops: work around C compiler bugs
49286         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
49287         bug in Sun C 5.11 2010/08/13 and other compilers; see
49288         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
49290         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
49291         * doc/intprops.texi (Integer Type Determination): Fix
49292         documentation for TYPE_IS_INTEGER: it returns an constant
49293         expression, not an integer constant expression.  Fix doc for
49294         TYPE_SIGNED: it returns an integer constant expression only if its
49295         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
49296         hardly worth documented that way....)
49298 2011-05-18  Bruno Haible  <bruno@clisp.org>
49300         strerror_r: Avoid clobbering the strerror buffer when possible.
49301         * lib/strerror_r.c (strerror_r): Merge the three implementations.
49302         Handle gnulib defined errno values here. When strerror() returns NULL
49303         or an empty string, return EINVAL.
49304         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
49305         gnulib defined errno values here.
49306         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
49308 2011-05-18  Eric Blake  <eblake@redhat.com>
49310         fnmatch: avoid compiler warning
49311         * lib/fnmatch_loop.c (FCT): Use correct type.
49312         Reported by Matthias Bolte.
49314 2011-05-13  Jim Meyering  <meyering@redhat.com>
49316         maint.mk: three new prohibit_<HDR>_without_use rules
49317         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
49318         (sc_prohibit_stdio-safer_without_use): Likewise.
49319         (sc_prohibit_xfreopen_without_use): Likewise.
49321 2011-05-17  Jim Meyering  <meyering@redhat.com>
49323         announce-gen: fail if the NEWS delta is empty
49324         If there's nothing noteworthy in NEWS, then either you forgot
49325         or you shouldn't be releasing.
49326         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
49328 2011-05-17  Pádraig Brady  <P@draigBrady.com>
49330         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
49331         reserved symbols starting with double underscore from the check.
49333 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
49335         intprops: add doc
49336         * doc/intprops.texi: New file, documenting intprops.
49337         * doc/gnulib.texi (Particular Modules): Include it.
49339         verify: add doc to gnulib manual and fix example
49340         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
49341         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
49342         (Compile-time Assertions): Fix example so it can't overflow.
49344 2011-05-17  Jim Meyering  <meyering@redhat.com>
49346         warnings.m4: don't usurp save_CPPFLAGS variable name
49347         * m4/warnings.m4: Prefix local temporary variable name with gl_.
49349         doc: fix typo
49350         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
49352 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49353             Bruno Haible  <bruno@clisp.org>
49355         doc: Tweak recent change.
49356         * README (Portability guidelines): Tweak new text.
49357         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
49358         Interix 6.1.
49360 2011-05-16  Eric Blake  <eblake@redhat.com>
49362         inttypes: avoid autoconf warning
49363         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
49364         * m4/stdint.m4 (gl_STDINT_H): Likewise.
49366 2011-05-16  Sam Steingold  <sds@gnu.org>
49367         and Eric Blake  <eblake@redhat.com>
49369         vc-list-files: accept multiple directory operands
49370         * build-aux/vc-list-files: Iterate over all remaining operands.
49372 2011-05-16  Bruno Haible  <bruno@clisp.org>
49374         Fix confusion regarding deprecated modules.
49375         * modules/calloc (Status, Notice): Mark module as deprecated, not
49376         obsolete.
49377         * modules/fnmatch-posix (Status, Notice): Likewise.
49378         * modules/getdate (Status, Notice): Likewise.
49379         * modules/getopt (Status, Notice): Likewise.
49380         * modules/malloc (Status, Notice): Likewise.
49381         * modules/pipe (Status, Notice): Likewise.
49382         * modules/realloc (Status, Notice): Likewise.
49383         * modules/rename-dest-slash (Status, Notice): Likewise.
49384         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
49385         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
49386         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
49387         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
49388         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
49390 2011-05-16  Bruno Haible  <bruno@clisp.org>
49392         doc: List the target platforms.
49393         * doc/gnulib-intro.texi (Target Platforms): New section.
49394         * doc/gnulib.texi (Introduction): Update menu.
49395         * README (Portability guidelines): Refer to the new section. Update
49396         statement about oldest supported environment. Remove rationale why
49397         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
49398         unportable C89 function.
49399         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
49400         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
49402 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49404         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
49406 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
49408         intprops-tests: new module
49409         * modules/intprops-tests, tests/test-intprops.c: New files.
49411         intprops: add safe, portable integer overflow checking
49412         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
49413         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
49414         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
49415         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
49416         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
49417         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
49418         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
49419         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
49420         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
49421         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
49422         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
49424 2011-05-12  James Youngman  <jay@gnu.org>
49426         Add a test for glibc's Bugzilla bug #12378.
49427         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
49428         doesn't allow the literal matching of a lone "[" (which is
49429         required by POSIX).
49430         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
49432 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
49434         Sync glibc change fixing Bugzilla bug #12378.
49435         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
49436         beginning and fall back to matching as normal character if the
49437         string ends before the matching ']' is found.  This is what POSIX
49438         requires.
49440 2011-05-13  Eric Blake  <eblake@redhat.com>
49442         getcwd-lgpl: relax test for FreeBSD
49443         * doc/posix-functions/getcwd.texi (getcwd): Document portability
49444         issue.
49445         * tests/test-getcwd-lgpl.c (main): Relax test.
49446         Reported by Matthias Bolte.
49448 2011-05-11  Eric Blake  <eblake@redhat.com>
49450         test-fflush: silence compiler warning
49451         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
49453 2011-05-11  Bruno Haible  <bruno@clisp.org>
49455         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
49456         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
49457         * modules/canonicalize (Depends-on): Add 'nocrash'.
49458         * modules/canonicalize-lgpl (Depends-on): Likewise.
49459         * doc/posix-functions/realpath.texi: Update platforms list.
49460         Reported by Ryan Schmidt <ryandesign@macports.org>.
49462 2011-05-11  Bruno Haible  <bruno@clisp.org>
49464         group-member: Declare function in <unistd.h>.
49465         * lib/unistd.in.h (group_member): New declaration.
49466         * lib/group-member.h: Remove file.
49467         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
49468         * tests/test-unistd-c++.cc: Check signature of group_member.
49469         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
49470         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
49471         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
49472         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
49473         HAVE_GROUP_MEMBER.
49474         * modules/group-member (Files): Remove lib/group-member.h.
49475         (Depends-on): Add unistd. Specify conditions.
49476         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49477         (Include): Change to <unistd.h>.
49478         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
49479         HAVE_GROUP_MEMBER.
49480         * NEWS: Mention the change.
49481         * lib/euidaccess.c: Don't include group-member.h.
49483 2011-05-11  Bruno Haible  <bruno@clisp.org>
49485         group-member: Document module.
49486         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
49487         module.
49489 2011-05-11  Bruno Haible  <bruno@clisp.org>
49491         fclose: Fix mistake earlier today.
49492         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
49494 2011-05-11  Eric Blake  <eblake@redhat.com>
49496         fclose: preserve fflush errors
49497         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
49498         Reported by Jim Meyering.
49500         bootstrap: support a prereq of 'rpcgen -' on RHEL5
49501         * build-aux/bootstrap (check_versions): When no specific version
49502         is required, merely check that the app produces an exit status
49503         that indicates its existence.
49505         maint.mk: drop redundant check
49506         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
49507         the same but better.
49509 2011-05-11  Bruno Haible  <bruno@clisp.org>
49511         fclose: Fix possible link error.
49512         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
49513         unregister_shadow_fd. Improve comments.
49514         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
49515         Eric Blake.
49517 2011-05-11  Jim Meyering  <meyering@redhat.com>
49519         maint.mk: improve "can not" detection and generalize rule name
49520         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
49521         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
49522         Use the same technique as in sc_prohibit_doubled_word, so that
49523         we recognize "can not" also when the words are separated by a newline.
49524         Suggested by Eric Blake.
49525         (perl_filename_lineno_text_): Define.  Factored out of...
49526         (prohibit_doubled_word_): ...here.  Use the new definition.
49527         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
49528         (prohibit_undesirable_word_seq_RE_): New overridable variable.
49529         (ignore_undesirable_word_sequence_RE_): New overridable variable.
49531 2011-05-10  Eric Blake  <eblake@redhat.com>
49533         fclose: avoid double close race when possible
49534         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
49535         all but WINDOWS_SOCKETS.
49537 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
49539         openat: correct new comment
49540         * lib/openat-proc.c (openat_proc_name): Correct the comment.
49542 2011-05-10  Jim Meyering  <meyering@redhat.com>
49544         openat: add comments
49545         * lib/openat-proc.c (openat_proc_name): Add comments,
49546         mostly from Eric Blake.
49548 2011-05-09  Eric Blake  <eblake@redhat.com>
49550         openat: reduce syscalls in first probe of /proc
49551         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
49552         be a directory.  Simplify the probe for .. bugs.
49553         * modules/openat (Depends-on): Drop same-inode.
49554         Reported by Bastien ROUCARIES.
49556 2011-05-09  Jim Meyering  <meyering@redhat.com>
49558         maint.mk: change semantics/name of tight_scope variables
49559         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
49560         Rename variables to align with semantics that make them more useful.
49562         maint.mk: tweak new rule's name not to impinge
49563         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
49564         (sc_tight_scope): Use new rule name rather than $@-0.
49566         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
49567         * top/maint.mk (sc_tight_scope): New rule.
49568         (sc_tight_scope-0): New rule, ifdef'd out.
49569         (_gl_TS_dir): Default.
49570         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
49571         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
49573 2011-05-09  Simon Josefsson  <simon@josefsson.org>
49575         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
49576         Haible <bruno@clisp.org>.
49578 2011-05-08  Bruno Haible  <bruno@clisp.org>
49580         Comments.
49581         * m4/isnanf.m4: Add comment.
49582         * m4/isnanl.m4: Likewise.
49584 2011-05-08  Bruno Haible  <bruno@clisp.org>
49586         glob: Remove obsolete macro.
49587         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
49589 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
49591         intprops: Sun C 5.11 supports __typeof__
49592         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
49593         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
49594         which is new.
49595         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
49597         intprops: switch to usual gnulib indenting and naming
49598         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
49599         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
49601         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
49603 2011-05-08  Jim Meyering  <meyering@redhat.com>
49605         maint.mk: suppress "Entering/Leaving directory" diag in announcement
49606         * top/maint.mk (release-prep): Use make's --no-print-directory
49607         option when generating the announcement.  This eliminates the
49608         pesky "make[2]: Entering/Leaving directory" diagnostics in the
49609         generated announcement template.
49611 2011-05-08  Bruno Haible  <bruno@clisp.org>
49613         tzset: Fix gettimeofday wrapper on Solaris 2.6.
49614         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
49615         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
49617 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
49619         ignore-value, verify: Omit include files from lib_SOURCES.
49620         * modules/ignore-value, modules/verify (Makefile.am):
49621         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
49622         that leads Automake to duplicate use of am__objects_... variables
49623         in Makefile.in.  See
49624         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
49626 2011-05-07  Bruno Haible  <bruno@clisp.org>
49628         fclose: Simplify autoconf macro.
49629         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
49630         defined.
49632 2011-05-07  Bruno Haible  <bruno@clisp.org>
49634         canonicalize-lgpl: Fix autoconf macro ordering bug.
49635         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
49636         gl_STDLIB_H_DEFAULTS.
49638 2011-05-06  Eric Blake  <eblake@redhat.com>
49640         maintainer-makefile: make sc_po_check easier to tune
49641         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
49642         to probe for strings, such as an alternate location for gnulib.
49644         fclose: guarantee behavior on seekable stdin
49645         * modules/fclose (Depends-on): Add fflush.
49646         * doc/posix-functions/fclose.texi (fclose): Document this.
49647         * tests/test-fclose.c (main): Make test for this unconditional.
49649 2011-05-06  Bruno Haible  <bruno@clisp.org>
49651         fflush, fpurge: Relicense under LGPLv2+.
49652         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
49653         * modules/fpurge (License): Likewise.
49654         With permission from Eric Blake and Jim Meyering.
49655         Suggested by Eric Blake.
49657 2011-05-06  Karl Berry  <karl@gnu.org>
49659         * MODULES.html.sh (func_all_modules): remove exit.
49661 2011-05-06  Jim Meyering  <meyering@redhat.com>
49663         maint.mk: use info-gnu@ as the default only for a stable release
49664         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
49665         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
49666         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
49667         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
49669 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
49671         assert-h: new module, which supports C1X-style static_assert
49672         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
49673         * lib/verify.h: Revamp so that this can be copied into assert.h,
49674         while retaining the ability to use it standalone as before.
49675         Rename private identifiers so as not to encroach on the
49676         standard C namespace, since this is now used by assert.h.
49677         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
49678         the old verify_true.
49679         (_GL_VERIFY_TRUE): New macro, with much of the contents of
49680         the old verify_true.  Use _GL_VERIFY_TYPE.
49681         (_GL_VERIFY): New macro, with much of the contents of the old verify.
49682         (static_assert): New macro, if _GL_STATIC_ASSERT_H
49683         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
49684         defined when this file is copied into the replacement assert.h.
49685         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
49686         and _Static_assert is not built in.
49687         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
49688         defined, and use the new macros mentioned above.
49689         * doc/posix-headers/assert.texi: Document this.
49691 2011-05-05  Bruno Haible  <bruno@clisp.org>
49693         fclose, fflush: Respect rules for use of AC_LIBOBJ.
49694         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
49695         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
49696         gl_REPLACE_FCLOSE here.
49697         * modules/fflush (Depends-on): Remove fclose.
49698         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
49699         combination with module 'fclose'.
49701 2011-05-05  Bruno Haible  <bruno@clisp.org>
49703         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
49704         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
49705         gl_FUNC_FFLUSH.
49706         (gl_FUNC_FFLUSH): Use it.
49707         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
49708         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
49709         gl_REPLACE_FSEEKO here.
49711 2011-05-05  Bruno Haible  <bruno@clisp.org>
49713         tzset: Relicense under LGPL.
49714         * modules/tzset (License): Change to LGPL.
49715         No agreement needed; it's a no-op.
49717         strtoimax, strtoumax: Relicense under LGPL.
49718         * modules/strtoimax (License): Change to LGPL.
49719         * modules/strtoumax (License): Likewise.
49720         With permission from Jim Meyering, Paul Eggert:
49721         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
49722         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
49724         getgroups: Relicense under LGPL.
49725         * modules/getgroups (License): Change to LGPL.
49726         With permission from Jim Meyering, Paul Eggert, Eric Blake:
49727         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
49728         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
49729         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
49731         nanosleep: Relicense under LGPL.
49732         * modules/nanosleep (License): Change to LGPL.
49733         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
49734         Haible:
49735         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
49736         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
49737         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
49738         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
49740         futimens: Relicense under LGPL.
49741         * modules/futimens (License): Change to LGPL.
49742         With permission from Eric Blake:
49743         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
49745         fflush: Relicense under LGPL.
49746         * modules/fflush (License): Change to LGPL.
49747         With permission from Eric Blake, Bruno Haible, Jim Meyering:
49748         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
49749         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
49750         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
49752         tmpfile: Relicense under LGPL.
49753         * modules/tmpfile (License): Change to LGPL.
49754         With permission from Ben Pfaff:
49755         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
49757         isfinite: Relicense under LGPL.
49758         * modules/isfinite (License): Change to LGPL.
49759         With permission from Ben Pfaff, Bruno Haible:
49760         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
49761         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
49763         acosl..tanl: Relicense under LGPL.
49764         * modules/acosl (License): Change to LGPL.
49765         * modules/asinl (License): Likewise.
49766         * modules/atanl (License): Likewise.
49767         * modules/cosl (License): Likewise.
49768         * modules/expl (License): Likewise.
49769         * modules/logl (License): Likewise.
49770         * modules/sinl (License): Likewise.
49771         * modules/sqrtl (License): Likewise.
49772         * modules/tanl (License): Likewise.
49773         Source code originally from glibc and Paolo Bonzini. Agreements:
49774         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
49775         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
49777 2011-05-05  Bruno Haible  <bruno@clisp.org>
49779         signal: Define sighandler_t.
49780         * lib/signal.in.h (sighandler_t): New type.
49781         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
49782         whether sighandler_t is defined.
49783         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
49784         * modules/signal (Depends-on): Add extensions.
49785         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
49786         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
49787         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
49789 2011-05-05  Eric Blake  <eblake@redhat.com>
49791         maint: remove useless REPLACE_*_H macros
49792         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
49793         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
49794         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
49795         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
49796         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
49797         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
49798         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
49799         * m4/btowc.m4: Update callers.
49800         * m4/dirfd.m4: Likewise.
49801         * m4/duplocale.m4: Likewise.
49802         * m4/fchdir.m4: Likewise.
49803         * m4/fdopendir.m4: Likewise.
49804         * m4/inet_ntop.m4: Likewise.
49805         * m4/inet_pton.m4: Likewise.
49806         * m4/ioctl.m4: Likewise.
49807         * m4/mbrlen.m4: Likewise.
49808         * m4/mbrtowc.m4: Likewise.
49809         * m4/mbsinit.m4: Likewise.
49810         * m4/mbsnrtowcs.m4: Likewise.
49811         * m4/mbsrtowcs.m4: Likewise.
49812         * m4/poll.m4: Likewise.
49813         * m4/setlocale.m4: Likewise.
49814         * m4/wcrtomb.m4: Likewise.
49815         * m4/wcsnrtombs.m4: Likewise.
49816         * m4/wcsrtombs.m4: Likewise.
49817         * m4/wctob.m4: Likewise.
49818         * m4/wcwidth.m4: Likewise.
49819         * modules/posix_spawn: Likewise.
49820         * modules/posix_spawn_file_actions_addclose: Likewise.
49821         * modules/posix_spawn_file_actions_adddup2: Likewise.
49822         * modules/posix_spawn_file_actions_addopen: Likewise.
49823         * modules/posix_spawn_file_actions_destroy: Likewise.
49824         * modules/posix_spawn_file_actions_init: Likewise.
49825         * modules/posix_spawnattr_destroy: Likewise.
49826         * modules/posix_spawnattr_getflags: Likewise.
49827         * modules/posix_spawnattr_getpgroup: Likewise.
49828         * modules/posix_spawnattr_getschedparam: Likewise.
49829         * modules/posix_spawnattr_getschedpolicy: Likewise.
49830         * modules/posix_spawnattr_getsigdefault: Likewise.
49831         * modules/posix_spawnattr_getsigmask: Likewise.
49832         * modules/posix_spawnattr_init: Likewise.
49833         * modules/posix_spawnattr_setflags: Likewise.
49834         * modules/posix_spawnattr_setpgroup: Likewise.
49835         * modules/posix_spawnattr_setschedparam: Likewise.
49836         * modules/posix_spawnattr_setschedpolicy: Likewise.
49837         * modules/posix_spawnattr_setsigdefault: Likewise.
49838         * modules/posix_spawnattr_setsigmask: Likewise.
49839         * modules/posix_spawnp: Likewise.
49841 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
49843         Add option to do-release-commit-and-tag to specify branch.
49844         * build-aux/do-release-commit-and-tag: Add --branch.
49846 2011-05-03  Bruno Haible  <bruno@clisp.org>
49848         Avoid unnecessary compilation units, through conditional dependencies.
49849         * modules/accept (Depends-on): Add conditions to the dependencies.
49850         * modules/acosl (Depends-on): Likewise.
49851         * modules/argz (Depends-on): Likewise.
49852         * modules/asinl (Depends-on): Likewise.
49853         * modules/atanl (Depends-on): Likewise.
49854         * modules/atoll (Depends-on): Likewise.
49855         * modules/bind (Depends-on): Likewise.
49856         * modules/btowc (Depends-on): Likewise.
49857         * modules/canonicalize-lgpl (Depends-on): Likewise.
49858         * modules/ceil (Depends-on): Likewise.
49859         * modules/ceilf (Depends-on): Likewise.
49860         * modules/ceill (Depends-on): Likewise.
49861         * modules/chdir-long (Depends-on): Likewise.
49862         * modules/chown (Depends-on): Likewise.
49863         * modules/close (Depends-on): Likewise.
49864         * modules/connect (Depends-on): Likewise.
49865         * modules/cosl (Depends-on): Likewise.
49866         * modules/dirfd (Depends-on): Likewise.
49867         * modules/dprintf (Depends-on): Likewise.
49868         * modules/dprintf-posix (Depends-on): Likewise.
49869         * modules/error (Depends-on): Likewise.
49870         * modules/euidaccess (Depends-on): Likewise.
49871         * modules/expl (Depends-on): Likewise.
49872         * modules/faccessat (Depends-on): Likewise.
49873         * modules/fchdir (Depends-on): Likewise.
49874         * modules/fclose (Depends-on): Likewise.
49875         * modules/fcntl (Depends-on): Likewise.
49876         * modules/fdopendir (Depends-on): Likewise.
49877         * modules/fflush (Depends-on): Likewise.
49878         * modules/floor (Depends-on): Likewise.
49879         * modules/floorf (Depends-on): Likewise.
49880         * modules/floorl (Depends-on): Likewise.
49881         * modules/fnmatch (Depends-on): Likewise.
49882         * modules/fopen (Depends-on): Likewise.
49883         * modules/fprintf-posix (Depends-on): Likewise.
49884         * modules/frexp (Depends-on): Likewise.
49885         * modules/frexp-nolibm (Depends-on): Likewise.
49886         * modules/frexpl (Depends-on): Likewise.
49887         * modules/frexpl-nolibm (Depends-on): Likewise.
49888         * modules/fseek (Depends-on): Likewise.
49889         * modules/fsusage (Depends-on): Likewise.
49890         * modules/ftell (Depends-on): Likewise.
49891         * modules/ftello (Depends-on): Likewise.
49892         * modules/futimens (Depends-on): Likewise.
49893         * modules/getcwd (Depends-on): Likewise.
49894         * modules/getcwd-lgpl (Depends-on): Likewise.
49895         * modules/getdelim (Depends-on): Likewise.
49896         * modules/getdomainname (Depends-on): Likewise.
49897         * modules/getgroups (Depends-on): Likewise.
49898         * modules/gethostname (Depends-on): Likewise.
49899         * modules/getline (Depends-on): Likewise.
49900         * modules/getlogin_r (Depends-on): Likewise.
49901         * modules/getopt-posix (Depends-on): Likewise.
49902         * modules/getpeername (Depends-on): Likewise.
49903         * modules/getsockname (Depends-on): Likewise.
49904         * modules/getsockopt (Depends-on): Likewise.
49905         * modules/getsubopt (Depends-on): Likewise.
49906         * modules/getusershell (Depends-on): Likewise.
49907         * modules/glob (Depends-on): Likewise.
49908         * modules/grantpt (Depends-on): Likewise.
49909         * modules/iconv_open (Depends-on): Likewise.
49910         * modules/iconv_open-utf (Depends-on): Likewise.
49911         * modules/inet_ntop (Depends-on): Likewise.
49912         * modules/inet_pton (Depends-on): Likewise.
49913         * modules/ioctl (Depends-on): Likewise.
49914         * modules/isapipe (Depends-on): Likewise.
49915         * modules/isfinite (Depends-on): Likewise.
49916         * modules/isinf (Depends-on): Likewise.
49917         * modules/lchown (Depends-on): Likewise.
49918         * modules/ldexpl (Depends-on): Likewise.
49919         * modules/link (Depends-on): Likewise.
49920         * modules/linkat (Depends-on): Likewise.
49921         * modules/listen (Depends-on): Likewise.
49922         * modules/logl (Depends-on): Likewise.
49923         * modules/lstat (Depends-on): Likewise.
49924         * modules/mbrlen (Depends-on): Likewise.
49925         * modules/mbrtowc (Depends-on): Likewise.
49926         * modules/mbsinit (Depends-on): Likewise.
49927         * modules/mbsnrtowcs (Depends-on): Likewise.
49928         * modules/mbsrtowcs (Depends-on): Likewise.
49929         * modules/mbtowc (Depends-on): Likewise.
49930         * modules/memcmp (Depends-on): Likewise.
49931         * modules/mkdir (Depends-on): Likewise.
49932         * modules/mkdtemp (Depends-on): Likewise.
49933         * modules/mkfifo (Depends-on): Likewise.
49934         * modules/mkfifoat (Depends-on): Likewise.
49935         * modules/mknod (Depends-on): Likewise.
49936         * modules/mkostemp (Depends-on): Likewise.
49937         * modules/mkostemps (Depends-on): Likewise.
49938         * modules/mkstemp (Depends-on): Likewise.
49939         * modules/mkstemps (Depends-on): Likewise.
49940         * modules/mktime (Depends-on): Likewise.
49941         * modules/nanosleep (Depends-on): Likewise.
49942         * modules/open (Depends-on): Likewise.
49943         * modules/openat (Depends-on): Likewise.
49944         * modules/perror (Depends-on): Likewise.
49945         * modules/poll (Depends-on): Likewise.
49946         * modules/popen (Depends-on): Likewise.
49947         * modules/posix_spawn (Depends-on): Likewise.
49948         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
49949         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49950         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49951         * modules/posix_spawnp (Depends-on): Likewise.
49952         * modules/pread (Depends-on): Likewise.
49953         * modules/printf-posix (Depends-on): Likewise.
49954         * modules/ptsname (Depends-on): Likewise.
49955         * modules/putenv (Depends-on): Likewise.
49956         * modules/pwrite (Depends-on): Likewise.
49957         * modules/readline (Depends-on): Likewise.
49958         * modules/readlink (Depends-on): Likewise.
49959         * modules/readlinkat (Depends-on): Likewise.
49960         * modules/recv (Depends-on): Likewise.
49961         * modules/recvfrom (Depends-on): Likewise.
49962         * modules/regex (Depends-on): Likewise.
49963         * modules/remove (Depends-on): Likewise.
49964         * modules/rename (Depends-on): Likewise.
49965         * modules/renameat (Depends-on): Likewise.
49966         * modules/rmdir (Depends-on): Likewise.
49967         * modules/round (Depends-on): Likewise.
49968         * modules/roundf (Depends-on): Likewise.
49969         * modules/roundl (Depends-on): Likewise.
49970         * modules/rpmatch (Depends-on): Likewise.
49971         * modules/select (Depends-on): Likewise.
49972         * modules/send (Depends-on): Likewise.
49973         * modules/sendto (Depends-on): Likewise.
49974         * modules/setenv (Depends-on): Likewise.
49975         * modules/setlocale (Depends-on): Likewise.
49976         * modules/setsockopt (Depends-on): Likewise.
49977         * modules/shutdown (Depends-on): Likewise.
49978         * modules/sigaction (Depends-on): Likewise.
49979         * modules/signbit (Depends-on): Likewise.
49980         * modules/sigprocmask (Depends-on): Likewise.
49981         * modules/sinl (Depends-on): Likewise.
49982         * modules/sleep (Depends-on): Likewise.
49983         * modules/snprintf (Depends-on): Likewise.
49984         * modules/snprintf-posix (Depends-on): Likewise.
49985         * modules/socket (Depends-on): Likewise.
49986         * modules/sprintf-posix (Depends-on): Likewise.
49987         * modules/sqrtl (Depends-on): Likewise.
49988         * modules/stat (Depends-on): Likewise.
49989         * modules/strchrnul (Depends-on): Likewise.
49990         * modules/strdup-posix (Depends-on): Likewise.
49991         * modules/strerror (Depends-on): Likewise.
49992         * modules/strerror_r-posix (Depends-on): Likewise.
49993         * modules/strndup (Depends-on): Likewise.
49994         * modules/strnlen (Depends-on): Likewise.
49995         * modules/strptime (Depends-on): Likewise.
49996         * modules/strsep (Depends-on): Likewise.
49997         * modules/strsignal (Depends-on): Likewise.
49998         * modules/strstr-simple (Depends-on): Likewise.
49999         * modules/strtod (Depends-on): Likewise.
50000         * modules/strtoimax (Depends-on): Likewise.
50001         * modules/strtok_r (Depends-on): Likewise.
50002         * modules/strtoumax (Depends-on): Likewise.
50003         * modules/symlink (Depends-on): Likewise.
50004         * modules/symlinkat (Depends-on): Likewise.
50005         * modules/tanl (Depends-on): Likewise.
50006         * modules/tcgetsid (Depends-on): Likewise.
50007         * modules/tmpfile (Depends-on): Likewise.
50008         * modules/trunc (Depends-on): Likewise.
50009         * modules/truncf (Depends-on): Likewise.
50010         * modules/truncl (Depends-on): Likewise.
50011         * modules/uname (Depends-on): Likewise.
50012         * modules/unlink (Depends-on): Likewise.
50013         * modules/unlockpt (Depends-on): Likewise.
50014         * modules/unsetenv (Depends-on): Likewise.
50015         * modules/usleep (Depends-on): Likewise.
50016         * modules/utimensat (Depends-on): Likewise.
50017         * modules/vasprintf (Depends-on): Likewise.
50018         * modules/vdprintf (Depends-on): Likewise.
50019         * modules/vdprintf-posix (Depends-on): Likewise.
50020         * modules/vfprintf-posix (Depends-on): Likewise.
50021         * modules/vprintf-posix (Depends-on): Likewise.
50022         * modules/vsnprintf (Depends-on): Likewise.
50023         * modules/vsnprintf-posix (Depends-on): Likewise.
50024         * modules/vsprintf-posix (Depends-on): Likewise.
50025         * modules/wcrtomb (Depends-on): Likewise.
50026         * modules/wcscasecmp (Depends-on): Likewise.
50027         * modules/wcscspn (Depends-on): Likewise.
50028         * modules/wcsdup (Depends-on): Likewise.
50029         * modules/wcsncasecmp (Depends-on): Likewise.
50030         * modules/wcsnrtombs (Depends-on): Likewise.
50031         * modules/wcspbrk (Depends-on): Likewise.
50032         * modules/wcsrtombs (Depends-on): Likewise.
50033         * modules/wcsspn (Depends-on): Likewise.
50034         * modules/wcsstr (Depends-on): Likewise.
50035         * modules/wcstok (Depends-on): Likewise.
50036         * modules/wcswidth (Depends-on): Likewise.
50037         * modules/wctob (Depends-on): Likewise.
50038         * modules/wctomb (Depends-on): Likewise.
50039         * modules/wctype (Depends-on): Likewise.
50040         * modules/wcwidth (Depends-on): Likewise.
50041         * modules/write (Depends-on): Likewise.
50043 2011-05-03  Bruno Haible  <bruno@clisp.org>
50045         Support for conditional dependencies.
50046         * doc/gnulib.texi (Module description): Document the syntax of
50047         conditional dependencies.
50048         * gnulib-tool: New option --conditional-dependencies.
50049         (func_usage): Document it.
50050         (cond_dependencies): New variable.
50051         (func_get_automake_snippet_conditional,
50052         func_get_automake_snippet_unconditional): New functions, extracted from
50053         func_get_automake_snippet.
50054         (func_get_automake_snippet): Use them.
50055         (sed_first_32_chars): New variable.
50056         (func_module_shellfunc_name): New function.
50057         (func_module_shellvar_name): New function.
50058         (func_module_conditional_name): New function.
50059         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
50060         func_cond_module_condition): New functions.
50061         (func_modules_transitive_closure): Add support for conditional
50062         dependencies.
50063         (func_emit_lib_Makefile_am): For a conditional module, enclose the
50064         conditional automake snippet in an automake conditional.
50065         (func_emit_autoconf_snippets): Emit shell functions that contain the
50066         code for conditional modules.
50067         (func_import, func_create_testdir): Update specification.
50069 2011-05-03  Eric Blake  <eblake@redhat.com>
50071         test-getaddrinfo: report error information
50072         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
50074 2011-05-03  Jim Meyering  <meyering@redhat.com>
50076         bootstrap: avoid build failure when $GZIP is set
50077         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
50078         program name.  If defined at all, it is supposed to list gzip options.
50079         Reported by Alan Curry in http://debbugs.gnu.org/8609
50081 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
50083         readme-release: new module with release instructions
50084         * modules/readme-release: New module.
50085         * top/README-release: New file, from coreutils, grep, diffutils.
50086         * MODULES.html.sh (Support for maintaining and releasing): Add it.
50088 2011-05-02  Eric Blake  <eblake@redhat.com>
50090         fflush: also replace fclose when fixing fflush
50091         * modules/fflush (Depends-on): Add fclose.
50092         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
50093         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
50094         memstreams with no backing fd.
50095         * doc/posix-functions/fclose.texi (fclose): Document the use of
50096         fflush module to fix the bug.
50097         * tests/test-fclose.c (main): Relax test when fclose is used in
50098         isolation.
50100         fclose: add some tests
50101         * modules/fclose-tests: New test module.
50102         * tests/test-fclose.c: New file.
50103         * doc/posix-functions/fclose.texi (fclose): Document the bug.
50105         fclose: reduced dependencies
50106         * modules/fclose (Depends-on): Switch from fflush/fseeko to
50107         simpler lseek.
50108         * lib/fclose.c (rpl_fclose): Likewise.
50109         Reported by Simon Josefsson.
50111         exit: drop remaining clients
50112         * modules/argmatch (Depends-on): Replace exit with stdlib.
50113         * modules/copy-file (Depends-on): Likewise.
50114         * modules/execute (Depends-on): Likewise.
50115         * modules/exitfail (Depends-on): Likewise.
50116         * modules/obstack (Depends-on): Likewise.
50117         * modules/pagealign_alloc (Depends-on): Likewise.
50118         * modules/pipe-filter-gi (Depends-on): Likewise.
50119         * modules/pipe-filter-ii (Depends-on): Likewise.
50120         * modules/savewd (Depends-on): Likewise.
50121         * modules/spawn-pipe (Depends-on): Likewise.
50122         * modules/wait-process (Depends-on): Likewise.
50123         * modules/xsetenv (Depends-on): Likewise.
50124         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
50125         * modules/git-merge-changelog (Depends-on): Likewise.
50126         * modules/long-options (Depends-on): Likewise.
50127         * modules/pt_chown (Depends-on): Likewise.
50128         * modules/sysexits (Depends-on): Likewise.
50130         freading: relax license from LGPLv3+ to LGPLv2+
50131         * modules/freading (License): Relax LGPL version.
50133 2011-05-02  Bruno Haible  <bruno@clisp.org>
50135         fchdir: Remove unused dependencies.
50136         * modules/fchdir (Depends-on): Remove include_next.
50138 2011-05-02  Bruno Haible  <bruno@clisp.org>
50140         gnulib-tool: Refactor.
50141         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
50142         from func_emit_autoconf_snippets.
50143         (func_emit_autoconf_snippets): Use it.
50145 2011-05-02  Simon Josefsson  <simon@josefsson.org>
50147         * NEWS: Document removal of 'exit'.
50148         * modules/exit: Remove file.
50150 2011-05-01  Bruno Haible  <bruno@clisp.org>
50152         Update DEPENDENCIES.
50153         * DEPENDENCIES (gettext): Recommend the newest release.
50154         Reported by Simon Josefsson.
50156 2011-05-01  Bruno Haible  <bruno@clisp.org>
50158         gnulib-tool: Reduce code duplication.
50159         * gnulib-tool (func_emit_autoconf_snippets): New function.
50160         (func_import, func_create_testdir): Use it.
50162 2011-04-30  Eric Blake  <eblake@redhat.com>
50164         fclose: don't fail on non-seekable input stream
50165         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
50166         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
50167         since fflush is allowed to fail in that case.
50169 2011-04-30  Bruno Haible  <bruno@clisp.org>
50171         dup3: cleanup
50172         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
50174 2011-04-30  Bruno Haible  <bruno@clisp.org>
50176         netdb: Make it work in C++ mode.
50177         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
50178         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
50179         module.
50180         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
50181         gl_MODULE_INDICATOR_FOR_TESTS.
50182         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
50183         * modules/netdb-c++-tests: New file.
50184         * tests/test-netdb-c++.cc: New file.
50186 2011-04-30  Bruno Haible  <bruno@clisp.org>
50188         New modules 'vfscanf', 'vscanf'.
50189         * modules/vfscanf: New file.
50190         * modules/vscanf: New file.
50191         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
50192         here.
50193         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
50194         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
50196 2011-04-30  Bruno Haible  <bruno@clisp.org>
50198         passfd: Add comments.
50199         * lib/passfd.c: Add comments about platforms.
50201 2011-04-30  Bruno Haible  <bruno@clisp.org>
50203         sys_uio: Make <sys/uio.h> self-contained.
50204         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
50205         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
50207 2011-04-30  Bruno Haible  <bruno@clisp.org>
50209         sys_socket: Ensure 'struct iovec' definition.
50210         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
50211         <sys/socket.h>.
50212         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
50214 2011-04-30  Bruno Haible  <bruno@clisp.org>
50216         sys_uio: Protect definition of 'struct iovec'.
50217         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
50218         it as a C struct.
50220 2011-04-30  Bruno Haible  <bruno@clisp.org>
50222         manywarnings: fix indentation
50223         * m4/manywarnings.m4: Indent by 2 spaces consistently.
50225 2011-04-30  Pádraig Brady  <P@draigBrady.com>
50227         manywarnings: add -Wno-missing-field-initializers if needed.
50228         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
50229         option if it's needed to allow initialization with { 0, }
50231 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
50233         announce-gen: cosmetic improvement
50234         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
50236 2011-04-29  Jim Meyering  <meyering@redhat.com>
50238         vc-list-files: indent with spaces, not TABs
50239         * build-aux/vc-list-files: Convert leading TABs to spaces,
50240         to match the style of most other files in gnulib.
50242         announce-gen: indent with spaces, not TABs
50243         * build-aux/announce-gen: Convert all TABs to spaces, to match
50244         the style of most other files in gnulib.
50246 2011-04-29  Eric Blake  <eblake@redhat.com>
50248         quotearg: avoid uninitialized variable use
50249         * lib/quotearg.c (quoting_options_from_style): Initialize
50250         remaining fields, and ensure that custom styles are only used via
50251         quoting_options rather than quoting_style.
50253 2011-04-29  Jim Meyering  <meyering@redhat.com>
50255         maint.mk: remove unused VC-tag variable
50256         * top/maint.mk (VC-tag): Remove unused variable.
50258 2011-04-29  Bruno Haible  <bruno@clisp.org>
50260         netdb: fix gai_strerror replacements
50261         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
50262         * modules/netdb: Substitute it.
50264 2011-04-29  Jim Meyering  <meyering@redhat.com>
50266         test-getcwd.c: avoid new set-but-not-used warning
50267         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
50268         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
50269         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
50270         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
50272         test-hash.c: avoid a new shadowing warning
50273         * tests/test-hash.c (main): Don't shadow "dup".
50275 2011-04-28  Eric Blake  <eblake@redhat.com>
50277         getaddrinfo: fix gai_strerror signature
50278         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
50279         and work around mingw with UNICODE defined.
50280         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
50281         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
50282         * modules/netdb (Makefile.am): Substitute it.
50283         * lib/netdb.in.h (gai_strerror): Declare replacement.
50284         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
50285         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
50286         the fix.
50288         getsockopt: avoid compiler warning
50289         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
50290         Reported by Matthias Bolte.
50292         tests: drop unused link dependency
50293         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
50294         * modules/dirent-safer-tests (Makefile.am): Likewise.
50295         * modules/fdopendir-tests (Makefile.am): Likewise.
50296         * modules/mkfifoat-tests (Makefile.am): Likewise.
50297         * modules/openat-safer-tests (Makefile.am): Likewise.
50298         * modules/openat-tests (Makefile.am): Likewise.
50299         * modules/readlinkat-tests (Makefile.am): Likewise.
50300         * modules/symlinkat-tests (Makefile.am): Likewise.
50301         * modules/linkat-tests (Makefile.am): Likewise.
50302         (Depends-on): Switch to filenamecat-lgpl.
50303         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
50304         LIBINTL.
50305         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
50306         * tests/test-linkat.c (main): Don't require xalloc.
50308         hash, mgetgroups: drop xalloc dependency
50309         * lib/hash.c (includes): Adjust includes.
50310         * lib/mgetgroups.c (includes): Likewise.
50311         (xgetgroups): Move...
50312         * lib/xgetgroups.c: ...to new file.
50313         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
50314         * modules/xgetgroups: New file, split from...
50315         * modules/mgetgroups: ...here.
50316         (Depends-on): Add xalloc-oversized.
50317         * modules/hash (Depends-on): Likewise.
50318         * modules/hash-tests (Depends-on): Drop xalloc.
50319         (test_hash_LDADD): Drop unused library.
50320         * tests/test-hash.c (main): Break xalloc dependency.
50321         (includes): Drop unused include.
50323         xalloc-oversized: new module
50324         * modules/xalloc-oversized: New module.
50325         * modules/xalloc (Depends-on): Add it.
50326         * lib/xalloc.h (xalloc_oversized): Move...
50327         * lib/xalloc-oversized.h: ...into new file.
50329         utimecmp: drop dependency on xmalloc
50330         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
50331         due to memory pressure.
50332         * modules/utimecmp (Depends-on): Drop xalloc.
50334 2011-04-27  Eric Blake  <eblake@redhat.com>
50336         getcwd: fix mingw bugs
50337         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
50338         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
50339         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
50341 2011-04-27  Bruno Haible  <bruno@clisp.org>
50343         mkstemps: Ensure declaration on MacOS X 10.5.
50344         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
50345         * doc/glibc-functions/mkstemps.texi: Document header file problem on
50346         MacOS X.
50348 2011-04-27  Bruno Haible  <bruno@clisp.org>
50350         mkstemp: More documentation.
50351         * doc/posix-functions/mkstemp.texi: Document header file problem on
50352         MacOS X.
50354 2011-04-27  Bruno Haible  <bruno@clisp.org>
50356         mkstemp: Tweak configure message when cross-compiling.
50357         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
50358         result as a guess.
50360 2011-04-27  Bruno Haible  <bruno@clisp.org>
50362         clean-temp: Clarify what it does.
50363         * lib/clean-temp.h: Add more comments.
50364         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
50365         module.
50366         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
50367         * doc/glibc-functions/mkstemps.texi: Likewise.
50368         * doc/glibc-functions/mkostemps.texi: Likewise.
50370 2011-04-27  Eric Blake  <eblake@redhat.com>
50372         fchdir: avoid extra chdir and fix test
50373         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
50374         getcwd-lgpl.
50375         * lib/fchdir.c (get_name): Any absolute name will do; it does not
50376         have to be canonical.
50377         (canonicalize_file_name): Drop unused macro.
50378         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
50380         filenamecat-lgpl: fix licence
50381         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
50382         when it was first created.
50384         linkat, renameat: add missing dependency
50385         * modules/linkat (Depends-on): Require getcwd-lgpl.
50386         * modules/renameat (Depends-on): Likewise.
50388         tests: reduce dependencies
50389         * tests/test-linkat.c (main): Use lighter-weight getcwd.
50390         * tests/test-renameat.c (main): Likewise.
50391         * modules/linkat-tests (Depends-on): Relax dependency.
50392         * modules/renameat-tests (Depends-on): Likewise.
50393         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
50394         dependency explicit.
50396         save-cwd: reduce default dependency
50397         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
50398         * lib/save-cwd.c: Update comments.
50399         * NEWS: Document the semantic change.
50401         getcwd: enhance tests
50402         * tests/test-getcwd-lgpl.c: New file, taken from...
50403         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
50404         repeat long path stress tests from m4 probe.
50405         * modules/getcwd-lgpl-tests: New module.
50406         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
50407         * m4/getcwd-abort-bug.m4: Update comment.
50408         * m4/getcwd-path-max.m4: Likewise.
50410         getcwd-lgpl: new module
50411         * modules/getcwd-lgpl: New module.
50412         * lib/getcwd-lgpl.c: New file.
50413         * doc/posix-functions/getcwd.texi (getcwd): Document it.
50414         * MODULES.html.sh (lacking POSIX:2008): Likewise.
50415         * modules/getcwd (configure.ac): Set C witness.
50416         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
50418         getcwd: tweak comments
50419         * m4/getcwd-abort-bug.m4: Fix comments.
50420         * m4/getcwd-path-max.m4: Likewise.
50421         * m4/getcwd.m4: Likewise.
50423 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
50424         and Eric Blake  <eblake@redhat.com>
50426         mkstemp: replace if system version uses wrong permissions
50427         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
50428         read/write mode bits set in file created by mkstemp.
50429         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
50431 2011-04-27  Eric Blake  <eblake@redhat.com>
50433         passfd: avoid compiler warning
50434         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
50435         Reported by Laine Stump.
50437 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
50439         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
50440         required by the NetBSD (and perhaps other 4.4BSD derived) join.
50442 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
50443         and Eric Blake  <eblake@redhat.com>
50445         mkstemp: mention clean-temp module
50446         * lib/mkstemp.c: Add comment.
50447         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
50449 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
50451         inttypes: also provide default values for 32-bit tests
50452         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
50453         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
50455 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50457         strtoumax: remove dependency on strtoimax
50458         This is like the strtoull change of yesterday.
50459         * modules/strtoumax (Files): Add lib/strtoimax.c.
50460         (Depends-on): Remove strtoimax and add verify.
50462         inttypes-incomplete: new module
50463         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
50464         all but the PRI* and SCN* parts of gl_INTTYPES_H.
50465         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
50466         of gl_INTTYPES_H.
50467         (gl_INTTYPES_H): Rewrite in terms of these new macros.
50468         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
50469         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
50470         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
50471         * modules/strtoumax, modules/xstrtol (Depends-on):
50472         Depend on inttypes-incomplete, not inttypes.
50473         * modules/inttypes-incomplete: New module, containing the contents
50474         of the old modules/inttypes module, except that the Files: section
50475         omits m4/inttypes-pri.m4, and the configure.ac section invokes
50476         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
50477         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
50478         (Depends-on): Depend only on inttypes-incomplete.
50479         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
50481         inttypes: omit now-redundant strtoimax and strtoumax work
50482         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
50483         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
50485         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
50486         This supports apps that need pointers to strtoimax and strtoumax,
50487         and ports to HP-UX 11.00 64.bit, which has macros that expand to
50488         nonexistent functions.  See
50489         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
50490         et seq.
50491         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
50492         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
50493         a macro.
50494         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
50496 2011-04-25  Simon Josefsson  <simon@josefsson.org>
50498         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
50500 2011-04-25  Bruno Haible  <bruno@clisp.org>
50502         strtol, strtoul: Mark modules as obsolete.
50503         * modules/strtol (Status, Notice): New sections.
50504         * modules/strtoul (Status, Notice): New sections.
50506 2011-04-25  Bruno Haible  <bruno@clisp.org>
50508         strtod: Remove check for strtod, unless supporting old platforms.
50509         * modules/strtod-obsolete: New file.
50510         * m4/strtod-obsolete.m4: New file.
50511         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
50512         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
50513         * modules/strtod (Depends-on): Add strtod-obsolete.
50514         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
50516 2011-04-25  Bruno Haible  <bruno@clisp.org>
50518         strcase: Make module obsolete.
50519         * modules/strcase (Status, Notice): New sections.
50521 2011-04-25  Bruno Haible  <bruno@clisp.org>
50523         dup2: Remove check for dup2, unless supporting old obsolete platforms.
50524         * modules/dup2-obsolete: New file.
50525         * m4/dup2-obsolete.m4: New file.
50526         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
50527         gl_FUNC_DUP2_OBSOLETE is not also defined.
50528         * modules/dup2 (Depends-on): Add dup2-obsolete.
50529         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
50531 2011-04-25  Bruno Haible  <bruno@clisp.org>
50533         strnlen: Avoid memchr related link error on old obsolete platforms.
50534         * modules/memchr-obsolete: New file.
50535         * m4/memchr-obsolete.m4: New file.
50536         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
50537         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
50538         * modules/memchr (Depends-on): Add memchr-obsolete.
50539         * modules/strnlen (Depends-on): Likewise.
50540         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
50542 2011-04-25  Jim Meyering  <meyering@redhat.com>
50544         maint.mk: makefile_at_at_check extend and clean up
50545         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
50546         in addition to */Makefile.am.
50547         Exempt legitimate uses of @VAR@ notation, e.g.,
50548         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
50549         Remove obsolete coreutils-specific comment.
50550         Prompted by discussion here:
50551         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
50553 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50555         strtoul: remove dependency on strtol
50556         This is so that 'configure' need not check for strtol merely because
50557         the application needs strtoul.
50558         * modules/strtoul (Files): Add lib/strtol.c.
50559         (Depends-on): Remove strtol.
50561         strtoull: remove dependency on strtoul
50562         This is like the strtoll change.
50563         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
50564         (Depends-on): Remove strtoul.
50566         strtoll: remove dependency on strtol
50567         This is so that 'configure' need not check for strtol merely because
50568         the application needs strtoll.
50569         * modules/strtoll (Files): Add lib/strtol.c.
50570         (Depends-on): Remove strtol.
50572 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
50574         inttypes: Move some configure check to module 'imaxdiv'.
50575         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
50576         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
50577         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
50579 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
50581         inttypes: Move some configure check to module 'imaxabs'.
50582         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
50583         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
50584         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
50586 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
50588         inttypes: Remove configure tests that are not needed since 2009-12-31.
50589         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
50590         gl_cv_header_working_inttypes_h.
50592 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
50594         * modules/strnlen (Depends-on): Remove memchr.
50595         The strnlen implementation doesn't need the memchr module's fixes; see
50596         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
50598         strtol: remove dependency on wchar
50599         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
50600         * modules/strtol (Depends-on): Remove wchar.
50602 2011-04-21  Eric Blake  <eblake@redhat.com>
50604         passfd: fix test regression on Linux
50605         * modules/passfd-tests (configure.ac): Correct socketpair check.
50607         passfd: speed up configure and drop unused code
50608         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
50609         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
50610         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
50611         Instead of probing at configure for unix_scm_rights_bsd44_way,
50612         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
50613         check to a struct member probe.
50614         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
50615         (sendfd, recvfd): Update preprocessor checks.
50616         * modules/passfd (Files): Reflect rename, and drop unused file.
50617         (Depends-on): Drop unused dependency.
50619         passfd: allow compilation on mingw
50620         * modules/sys_socket (Depends-on): Add sys_uio.
50621         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
50622         iovec and a minimal struct msghdr.
50623         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
50624         * tests/test-sys_socket.c (main): Enhance test.
50625         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
50626         guaranteed to provide what we need.
50627         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
50628         * modules/passfd-tests (Depends-on): Add sys_wait.
50629         * tests/test-passfd.c (main): Skip test on mingw, for now.
50630         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
50631         partial 'struct msghdr' implementation.
50633         sys_uio: new module
50634         * modules/sys_uio: New module.
50635         * modules/sys_uio-tests: Likewise.
50636         * lib/sys_uio.in.h: New file.
50637         * m4/sys_uio_h.m4: Likewise.
50638         * tests/test-sys_uio.c: Likewise.
50639         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
50640         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
50642 2011-04-20  Jim Meyering  <meyering@redhat.com>
50644         useless-if-before-free: avoid false-positive
50645         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
50646         disjunct so that it too requires a terminating ";".  Without that,
50647         this script would identify as useless one statement from gcc that
50648         was not:
50649           if (aligned_ptr)
50650             free (((void **) aligned_ptr) [-1]);
50652 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
50654         doc: update users.txt.
50655         * users.txt: Add barcode.
50657 2011-04-19  Bruno Haible  <bruno@clisp.org>
50659         ioctl: Remove link dependency on native Windows.
50660         * lib/fd-hook.h: Renamed from lib/close-hook.h.
50661         (gl_close_fn, gl_ioctl_fn): New types.
50662         (struct fd_hook): Renamed from struct close_hook. Change type of
50663         private_close_fn field. Add private_ioctl_fn field.
50664         (close_hook_fn): Add parameter for primary close method.
50665         (execute_close_hooks, execute_all_close_hooks): Likewise.
50666         (ioctl_hook_fn): New type.
50667         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
50668         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
50669         argument.
50670         (unregister_fd_hook): Renamed from unregister_close_hook.
50671         * lib/fd-hook.c: Renamed from lib/close-hook.c.
50672         Don't include <unistd.h>.
50673         (close): Remove undef.
50674         (anchor): Update.
50675         (execute_close_hooks): Add argument for primary close method.
50676         (execute_all_close_hooks): Likewise.
50677         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
50678         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
50679         argument. Allow each argument to be NULL.
50680         (unregister_fd_hook): Renamed from unregister_close_hook.
50681         * lib/close.c (rpl_close): Pass 'close' function pointer to
50682         execute_all_close_hooks.
50683         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
50684         (primary_ioctl): New function.
50685         (ioctl): Don't call ioctlsocket here. Instead, call
50686         execute_all_ioctl_hooks.
50687         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
50688         close method.
50689         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
50690         (fd_sockets_hook): Renamed from close_sockets_hook.
50691         (gl_sockets_startup, gl_sockets_cleanup): Update.
50692         * modules/fd-hook: Renamed from modules/close-hook. Update.
50693         * modules/close (Depends-on): Add fd-hook, remove close-hook.
50694         * modules/sockets (Depends-on): Likewise.
50695         * modules/ioctl (Depends-on): Add fd-hook.
50696         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
50697         GNULIB_SOCKET.
50699 2011-04-19  Bruno Haible  <bruno@clisp.org>
50701         Move the support of O_NONBLOCK in open() to the 'open' module.
50702         * modules/nonblocking (Depends-on): Remove 'open'.
50703         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
50704         gl_cv_have_open_O_NONBLOCK.
50705         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
50706         O_NONBLOCK support.
50707         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
50709 2011-04-17  Bruno Haible  <bruno@clisp.org>
50711         pipe2: Simplify code.
50712         * lib/pipe2.c (pipe2): Reduce code duplication.
50714 2011-04-17  Bruno Haible  <bruno@clisp.org>
50716         nonblocking: Add comment.
50717         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
50719 2011-04-17  Bruno Haible  <bruno@clisp.org>
50721         nonblocking: Add tests for sockets.
50722         * tests/test-nonblocking-socket.sh: New file.
50723         * tests/test-nonblocking-socket-main.c: New file.
50724         * tests/test-nonblocking-socket-child.c: New file.
50725         * tests/test-nonblocking-socket.h: New file.
50726         * tests/socket-server.h: New file.
50727         * tests/socket-client.h: New file.
50728         * modules/nonblocking-socket-tests: New file.
50729         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
50731 2011-04-17  Bruno Haible  <bruno@clisp.org>
50733         nonblocking: Add tests for pipes.
50734         * tests/test-nonblocking-pipe.sh: New file.
50735         * tests/test-nonblocking-pipe-main.c: New file.
50736         * tests/test-nonblocking-pipe-child.c: New file.
50737         * tests/test-nonblocking-pipe.h: New file.
50738         * tests/test-nonblocking-writer.h: New file.
50739         * tests/test-nonblocking-reader.h: New file.
50740         * tests/test-nonblocking-misc.h: New file.
50741         * modules/nonblocking-pipe-tests: New file.
50742         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
50744 2011-04-16  Bruno Haible  <bruno@clisp.org>
50746         gettext: Clarify the needed programmer actions.
50747         * modules/gettext (Notice): New field.
50748         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
50750 2011-04-16  Bruno Haible  <bruno@clisp.org>
50752         strchrnul: Tweak last commit.
50753         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
50754         bug.
50755         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
50756         as in _GL_FUNCDECL_SYS.
50757         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
50758         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
50760 2011-04-15  Eric Blake  <eblake@redhat.com>
50762         strchrnul: work around cygwin bug
50763         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
50764         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
50765         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
50766         * modules/string (Makefile.am): Substitute it.
50767         * lib/string.in.h (strchrnul): Use it.
50769 2011-04-15  Bruno Haible  <bruno@clisp.org>
50771         Don't require lib/stdio-write.c when only module 'stdio' is used.
50772         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
50773         invocation.
50774         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
50776 2011-04-14  Bruno Haible  <bruno@clisp.org>
50778         Support non-blocking pipe I/O in read() on native Windows.
50779         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
50780         (read): New declaration.
50781         * lib/read.c: New file.
50782         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
50783         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
50784         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
50785         vscanf): New declarations.
50786         * lib/stdio-read.c: New file.
50787         * m4/read.m4: New file.
50788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
50789         REPLACE_READ.
50790         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
50791         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
50792         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
50793         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
50794         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
50795         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
50796         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
50797         * modules/read: New file.
50798         * modules/nonblocking (Files): Add lib/stdio-read.c.
50799         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
50800         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
50801         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
50802         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
50803         * modules/pread (Depends-on): Add read.
50804         * modules/safe-read (Depends-on): Likewise.
50805         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
50806         gets, scanf, vfscanf, vscanf): Verify signatures.
50807         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
50808         problem with non-blocking pipes.
50809         * doc/posix-functions/fgetc.texi: Likewise.
50810         * doc/posix-functions/fgets.texi: Likewise.
50811         * doc/posix-functions/fread.texi: Likewise.
50812         * doc/posix-functions/fscanf.texi: Likewise.
50813         * doc/posix-functions/getc.texi: Likewise.
50814         * doc/posix-functions/getchar.texi: Likewise.
50815         * doc/posix-functions/gets.texi: Likewise.
50816         * doc/posix-functions/scanf.texi: Likewise.
50817         * doc/posix-functions/vfscanf.texi: Likewise.
50818         * doc/posix-functions/vscanf.texi: Likewise.
50820 2011-04-14  Bruno Haible  <bruno@clisp.org>
50822         Support non-blocking pipe I/O in write() on native Windows.
50823         * lib/write.c (rpl_write): Split a write request that failed merely
50824         because the byte count was larger than the pipe buffer's size.
50825         * doc/posix-functions/write.texi: Mention the problem with large byte
50826         counts.
50828 2011-04-14  Bruno Haible  <bruno@clisp.org>
50830         wchar: Ensure that wchar_t gets defined on uClibc.
50831         * lib/wchar.in.h: On uClibc, include <stddef.h>.
50832         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
50834 2011-04-13  Bruno Haible  <bruno@clisp.org>
50836         safe-write, full-read: Avoid unnecessary compilation units.
50837         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
50838         (Depends-on): Remove safe-read. Add ssize_t.
50839         * modules/full-read (Files): Add lib/full-write.c.
50840         (Depends-on): Add full-write.
50842 2011-04-13  Bruno Haible  <bruno@clisp.org>
50844         Support non-blocking pipe I/O and SIGPIPE in pwrite().
50845         * modules/pwrite (Depends-on): Add 'write'.
50847 2011-04-13  Bruno Haible  <bruno@clisp.org>
50849         Support non-blocking pipe I/O in write() on native Windows.
50850         * lib/unistd.in.h (write): Enable replacement also if
50851         GNULIB_UNISTD_H_NONBLOCKING is 1.
50852         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
50853         (rpl_write): When failing to write on a non-blocking pipe, change
50854         errno from ENOSPC to EAGAIN.
50855         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
50856         putchar, puts, vfprintf, vprintf): Enable replacement also if
50857         GNULIB_STDIO_H_NONBLOCKING is 1.
50858         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
50859         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
50860         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
50861         CALL_WITH_SIGPIPE_EMULATION.
50862         (CALL_WITH_SIGPIPE_EMULATION): Use them.
50863         * m4/nonblocking.m4: New file.
50864         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
50865         for non-blocking I/O support.
50866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50867         GNULIB_UNISTD_H_NONBLOCKING.
50868         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
50869         required for non-blocking I/O support.
50870         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
50871         * modules/nonblocking (Files): Add m4/nonblocking.m4,
50872         lib/stdio-write.c, m4/asm-underscore.m4.
50873         (Depends-on): Add stdio, unistd.
50874         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
50875         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
50876         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
50877         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
50878         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
50879         problem with non-blocking pipes.
50880         * doc/posix-functions/fputc.texi: Likewise.
50881         * doc/posix-functions/fputs.texi: Likewise.
50882         * doc/posix-functions/fwrite.texi: Likewise.
50883         * doc/posix-functions/printf.texi: Likewise.
50884         * doc/posix-functions/putc.texi: Likewise.
50885         * doc/posix-functions/putchar.texi: Likewise.
50886         * doc/posix-functions/puts.texi: Likewise.
50887         * doc/posix-functions/vfprintf.texi: Likewise.
50888         * doc/posix-functions/vprintf.texi: Likewise.
50889         * doc/posix-functions/write.texi: Likewise.
50891 2011-04-10  Jim Meyering  <meyering@redhat.com>
50893         maint.mk: prohibit doubled words
50894         Detect them also when they're separated by a newline.
50895         There are 3 ways to customize it:
50896           - disable the test on a per file basis, as usual with rules using
50897             $(VC_LIST_EXCEPT)
50898           - replace the default doubled-word-selecting regexp (affects all files)
50899           - ignore a particular file-vs-doubled-word match
50900         I nearly used that last one to ignore the "is is" match in
50901         coreutils' NEWS file, since the text was "ls -is is ..."
50902         To do that, I would have added this line to cfg.mk:
50903           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
50904         but it would have ignored any "is is" match in NEWS.
50905         Low probability, but still...
50906         Instead, I changed the text, slightly:
50907           -  ls -is is now consistent with ls -lis in ignoring values returned
50908           +  "ls -is" is now consistent with ls -lis in ignoring values returned
50909         * top/maint.mk (prohibit_double_word_RE_): Provide default.
50910         (prohibit_doubled_word_): Define.
50911         (sc_prohibit_doubled_word): New rule.
50912         (sc_prohibit_the_the): Remove.  Subsumed by the above.
50914 2011-04-10  Jim Meyering  <meyering@redhat.com>
50916         maint: fix doubled-word typo in comment
50917         * m4/gethostname.m4: s/is is/it is/
50918         * m4/getdomainname.m4: Likewise.
50920 2011-04-10  Jim Meyering  <meyering@redhat.com>
50922         maint: remove doubled word: s/it it/it/
50923         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
50925 2011-04-10  Jim Meyering  <meyering@redhat.com>
50927         maint.mk: remove useless semicolon and backslash
50928         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
50929         semicolon and backslash.
50931 2011-04-10  Bruno Haible  <bruno@clisp.org>
50933         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
50934         * modules/stdint-tests (Depends-on): Add wchar.
50936 2011-04-10  Jim Meyering  <meyering@redhat.com>
50938         maint: remove doubled words in comments, e.g., s/a a/a/
50939         * lib/strptime.c (day_of_the_week): s/the the/the/
50940         * tests/test-chown.h (test_chown): s/a a/a/
50942         test-chown.h: correct a cast
50943         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
50944         when the destination is a stat.st_gid.
50946 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
50948         getaddrinfo: Fix test for sa_len member.
50949         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
50950         include <sys/types.h> before <sys/socket.h>.
50952 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50954         maint: change "can not" to "cannot"
50955         * doc/posix-functions/iconv.texi (iconv): This one crossed line
50956         boundaries.
50958 2011-04-09  Jim Meyering  <meyering@redhat.com>
50960         maint: change "a a" to "a"
50961         * tests/test-lchown.h (test_lchown): s/a a/a/
50963         maint.mk: prohibit \<the the\>
50964         * top/maint.mk (sc_prohibit_the_the): New rule.
50966         maint: fix "the the" in comment
50967         * lib/count-one-bits.h: s/the the/the/
50969         maint: change "can not" to "cannot"
50970         But do not change the occurrences in maintain.texi or in
50971         build-aux/po/Makefile.in.in, which I presume comes from gettext.
50972         * doc/gnulib-tool.texi: s/can not/cannot/
50973         * doc/posix-functions/accept.texi (accept): Likewise.
50974         * doc/posix-functions/socket.texi (socket): Likewise.
50975         * lib/mbrtowc.c: Likewise.
50977         maint.mk: prohibit use of "can not"
50978         * top/maint.mk (sc_prohibit_can_not): New rule.
50979         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
50981 2011-04-09  Bruno Haible  <bruno@clisp.org>
50983         careadlinkat: Guard against misuse of careadlinkatcwd.
50984         * lib/careadlinkat.c: Include <stdlib.h>.
50985         (careadlinkatcwd): Check that the fd argument is as expected.
50987 2011-04-09  Bruno Haible  <bruno@clisp.org>
50989         careadlinkat: Use common coding style.
50990         * lib/careadlinkat.c: Move gnulib includes after system includes.
50992 2011-04-09  Bruno Haible  <bruno@clisp.org>
50994         careadlinkat: Clarify specification.
50995         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
50996         (careadlinkatcwd): Add comment.
50997         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
50999 2011-04-09  Bruno Haible  <bruno@clisp.org>
51001         areadlinkat: Avoid link error on many platforms.
51002         * modules/areadlinkat (Depends-on): Add areadlink.
51004 2011-04-09  Bruno Haible  <bruno@clisp.org>
51006         allocator, careadlinkat: Fix double-inclusion guard.
51007         * lib/allocator.h: Fix double-inclusion guard.
51008         * lib/careadlinkat.h: Likewise.
51010 2011-04-09  Bruno Haible  <bruno@clisp.org>
51012         relocatable-prog-wrapper: Update after module 'areadlink' changed.
51013         * lib/relocwrapper.c: Update dependencies hierarchy.
51014         * build-aux/install-reloc: Update list of files to be compiled.
51015         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
51016         lib/allocator.[hc].
51018 2011-04-08  Eric Blake  <eblake@redhat.com>
51020         strftime: silence gnulib-tool warning
51021         * modules/strftime-tests (Depends-on): Drop automatic dependency.
51023 2011-04-08  Bruno Haible  <bruno@clisp.org>
51025         verify: Fix syntax error with GCC 4.6 in C++ mode.
51026         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
51027         (HAVE_STATIC_ASSERT): New macro.
51028         (verify_true, verify): Use 'static_assert' if it is supported and
51029         '_Static_assert' is not supported.
51031 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
51033         allocator: New module.
51034         * modules/allocator, lib/allocator.c: New files.
51035         * lib/allocator.h (stdlib_allocator): New decl.
51036         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
51037         Remove.  Do not include <stdlib.h>.
51038         (careadlinkat): Use stdlib_allocator instead of rolling our own.
51039         * modules/careadlinkat (Files): Remove lib/allocator.h.
51040         (Depends-on): Add allocator.
51042         stdlib: let modules use system malloc, realloc
51043         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
51044         if !_GL_USE_STDLIB_ALLOC.
51045         (malloc, realloc): Limit this change to a smaller scope.
51047         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
51048         (malloc, realloc): Don't #undef; no longer needed.
51049         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51050         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51051         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
51052         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51053         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51054         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51055         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
51056         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
51058         careadlinkat: rename members to avoid problem
51059         * lib/allocator.h (struct allocator): Rename members from
51060         malloc/realloc to allocate/reallocate, to avoid problems if malloc
51061         and realloc are #define'd.  Reported by Eric Blake in
51062         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
51063         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
51065 2011-04-08  Eric Blake  <eblake@redhat.com>
51067         nonblocking: reduce dependency
51068         * tests/test-nonblocking.c: Only test sockets when in use.
51069         * modules/nonblocking-tests (Depends-on): Drop socket.
51070         (Makefile.am): Link even if sockets are not present.
51071         * modules/pipe2-tests (Makefile.am): Likewise.
51072         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
51074         pipe2: fix O_NONBLOCK support on mingw
51075         * modules/pipe2 (Depends-on): Add nonblocking.
51076         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
51077         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
51078         * tests/test-nonblocking.c (main): Likewise.
51079         * modules/pipe2-tests (Makefile.am): Avoid link failure.
51081         fcntl-h: fix O_ACCMODE on cygwin
51082         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
51083         * lib/fcntl.in.h (O_ACCMODE): Fix it.
51085         pipe-filter: drop O_NONBLOCK workarounds
51086         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
51087         * modules/pipe-filter-ii (Depends-on): Likewise.
51088         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
51090         nonblocking: provide O_NONBLOCK for mingw
51091         * modules/nonblocking (Depends-on): Add open.
51092         (configure.ac): Set new witness macro.
51093         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
51094         * modules/fcntl-h (Makefile.am): Substitute it.
51095         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
51096         nonblocking module is in use.
51097         * lib/nonblocking.c: Adjust portability test.
51098         * lib/open.c (open): Don't let native open see gnulib flag.
51099         * tests/test-fcntl-h.c (main): Enhance test.
51100         * tests/test-open.h (test_open): Likewise.
51101         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
51103         careadlinkat: fix compilation error on mingw
51104         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
51105         within struct allocator.
51107 2011-04-06  Eric Blake  <eblake@redhat.com>
51109         binary-io: relicense under LGPLv2+
51110         * modules/binary-io (License): Relax to LGPLv2+.
51111         Requested for libvirt, and required by pipe2.
51113 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
51115         verify: use _Static_assert if available
51116         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
51117         (verify_true, verify): Use it if available.  This generates better
51118         diagnostics with GCC 4.6.0 and later.
51120 2011-04-05  Bruno Haible  <bruno@clisp.org>
51122         Remove leftover generated .h files after config.status changed.
51124         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
51125         GL_GENERATE_ALLOCA_H.
51126         * modules/alloca-opt (Makefile.am): Remove alloca.h if
51127         GL_GENERATE_ALLOCA_H evaluates to false.
51129         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
51130         GL_GENERATE_ARGZ_H.
51131         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
51132         evaluates to false.
51134         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
51135         GL_GENERATE_BYTESWAP_H.
51136         * modules/byteswap (Makefile.am): Remove byteswap.h if
51137         GL_GENERATE_BYTESWAP_H evaluates to false.
51139         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
51140         GL_GENERATE_ERRNO_H.
51141         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
51142         evaluates to false.
51144         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
51145         GL_GENERATE_FLOAT_H.
51146         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
51147         evaluates to false.
51149         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
51150         GL_GENERATE_FNMATCH_H.
51151         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
51152         GL_GENERATE_FNMATCH_H evaluates to false.
51154         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
51155         GL_GENERATE_GLOB_H.
51156         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
51157         evaluates to false.
51159         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
51160         automake conditional GL_GENERATE_ICONV_H.
51161         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
51162         evaluates to false.
51164         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
51165         GL_GENERATE_NETINET_IN_H.
51166         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
51167         GL_GENERATE_NETINET_IN_H evaluates to false.
51169         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
51170         conditional GL_GENERATE_PTHREAD_H.
51171         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
51172         * modules/pthread (Makefile.am): Remove pthread.h if
51173         GL_GENERATE_PTHREAD_H evaluates to false.
51175         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
51176         GL_GENERATE_SCHED_H.
51177         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
51178         evaluates to false.
51180         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
51181         conditional GL_GENERATE_SELINUX_CONTEXT_H.
51182         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
51183         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
51185         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
51186         GL_GENERATE_STDARG_H.
51187         * modules/stdarg (Makefile.am): Remove stdarg.h if
51188         GL_GENERATE_STDARG_H evaluates to false.
51190         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
51191         GL_GENERATE_STDBOOL_H.
51192         * modules/stdbool (Makefile.am): Remove stdbool.h if
51193         GL_GENERATE_STDBOOL_H evaluates to false.
51195         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
51196         conditional GL_GENERATE_STDDEF_H.
51197         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
51198         * modules/stddef (Makefile.am): Remove stddef.h if
51199         GL_GENERATE_STDDEF_H evaluates to false.
51201         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
51202         GL_GENERATE_STDINT_H.
51203         * modules/stdint (Makefile.am): Remove stdint.h if
51204         GL_GENERATE_STDINT_H evaluates to false.
51206         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
51207         GL_GENERATE_SYSEXITS_H.
51208         * modules/sysexits (Makefile.am): Remove sysexits.h if
51209         GL_GENERATE_SYSEXITS_H evaluates to false.
51211         Reported by Karl Berry and Ralf Wildenhues.
51213 2011-04-05  Bruno Haible  <bruno@clisp.org>
51215         Ensure to rebuild generated .h files when config.status has changed.
51216         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
51217         config.status.
51218         * modules/ctype (Makefile.am): Likewise.
51219         * modules/dirent (Makefile.am): Likewise.
51220         * modules/errno (Makefile.am): Likewise.
51221         * modules/fcntl-h (Makefile.am): Likewise.
51222         * modules/float (Makefile.am): Likewise.
51223         * modules/getopt-posix (Makefile.am): Likewise.
51224         * modules/glob (Makefile.am): Likewise.
51225         * modules/iconv-h (Makefile.am): Likewise.
51226         * modules/inttypes (Makefile.am): Likewise.
51227         * modules/langinfo (Makefile.am): Likewise.
51228         * modules/locale (Makefile.am): Likewise.
51229         * modules/math (Makefile.am): Likewise.
51230         * modules/netdb (Makefile.am): Likewise.
51231         * modules/netinet_in (Makefile.am): Likewise.
51232         * modules/poll-h (Makefile.am): Likewise.
51233         * modules/pthread (Makefile.am): Likewise.
51234         * modules/pty (Makefile.am): Likewise.
51235         * modules/sched (Makefile.am): Likewise.
51236         * modules/search (Makefile.am): Likewise.
51237         * modules/selinux-h (Makefile.am): Likewise.
51238         * modules/signal (Makefile.am): Likewise.
51239         * modules/spawn (Makefile.am): Likewise.
51240         * modules/stdarg (Makefile.am): Likewise.
51241         * modules/stdbool (Makefile.am): Likewise.
51242         * modules/stddef (Makefile.am): Likewise.
51243         * modules/stdint (Makefile.am): Likewise.
51244         * modules/stdio (Makefile.am): Likewise.
51245         * modules/stdlib (Makefile.am): Likewise.
51246         * modules/string (Makefile.am): Likewise.
51247         * modules/strings (Makefile.am): Likewise.
51248         * modules/sys_file (Makefile.am): Likewise.
51249         * modules/sys_ioctl (Makefile.am): Likewise.
51250         * modules/sys_select (Makefile.am): Likewise.
51251         * modules/sys_socket (Makefile.am): Likewise.
51252         * modules/sys_stat (Makefile.am): Likewise.
51253         * modules/sys_time (Makefile.am): Likewise.
51254         * modules/sys_times (Makefile.am): Likewise.
51255         * modules/sys_utsname (Makefile.am): Likewise.
51256         * modules/sys_wait (Makefile.am): Likewise.
51257         * modules/sysexits (Makefile.am): Likewise.
51258         * modules/termios (Makefile.am): Likewise.
51259         * modules/time (Makefile.am): Likewise.
51260         * modules/unistd (Makefile.am): Likewise.
51261         * modules/wchar (Makefile.am): Likewise.
51262         * modules/wctype-h (Makefile.am): Likewise.
51263         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
51265 2011-04-05  Bruno Haible  <bruno@clisp.org>
51267         pipe2: Relicense under LGPLv2+.
51268         * modules/pipe2 (License): Change to LGPLv2+.
51269         Requested by Eric Blake, for libvirt.
51271 2011-04-05  Bruce Korb  <bkorb@gnu.org>
51273         bootstrap: compute gnulib_extra_files after updating build_aux
51274         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
51275         change build_aux or also supply gnulib_extra_files.  Handle correctly.
51277 2011-04-05  Eric Blake  <eblake@redhat.com>
51279         bootstrap: preserve git whitelist item sorting
51280         * build-aux/bootstrap (sort_patterns): New function.
51281         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
51283 2011-04-05  Simon Josefsson  <simon@josefsson.org>
51285         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
51286         sc_space_tab check.
51288 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
51290         areadlink, areadlinkat: rewrite in terms of careadlinkat
51291         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
51292         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
51293         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
51294         (malloc, realloc): Remove #undefs.
51295         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
51296         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
51297         readlink, ssize_t, stdint, unistd.
51298         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
51299         areadlink, stdint.
51301         careadlinkat: new module
51302         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
51303         * modules/careadlinkat: New files, written by me with
51304         a review and feedback from Ben Pfaff in
51305         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
51307 2011-04-01  Bruno Haible  <bruno@clisp.org>
51309         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
51310         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
51311         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
51312         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
51313         Reported by Bruce Korb <bruce.korb@gmail.com>.
51315 2011-04-01  Bruno Haible  <bruno@clisp.org>
51317         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
51318         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
51319         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
51320         * modules/wcpcpy (Depends-on): Add extensions.
51321         * modules/wcpncpy (Depends-on): Likewise.
51322         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
51323         systems.
51324         * doc/posix-functions/wcpncpy.texi: Likewise.
51325         * doc/posix-functions/wcwidth.texi: Likewise.
51327 2011-03-31  Eric Blake  <eblake@redhat.com>
51329         nonblocking: fix mingw test failures
51330         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
51331         non-blocking flag on regular file.
51332         (get_nonblocking_flag): Set errno on invalid fd.
51333         * tests/test-nonblocking.c (main): Avoid test failure on
51334         directories if fchdir is not active.
51335         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
51337 2011-03-31  Bruno Haible  <bruno@clisp.org>
51339         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
51340         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
51341         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
51342         Reported by Simon Josefsson <simon@josefsson.org>.
51344 2011-03-31  Bruno Haible  <bruno@clisp.org>
51345         and Eric Blake  <eblake@redhat.com>
51347         nonblocking: new module
51348         * modules/nonblocking: New module.
51349         * modules/nonblocking-tests: Likewise.
51350         * lib/nonblocking.h: New file.
51351         * lib/nonblocking.c: Likewise.
51352         * tests/test-nonblocking.c: New test.
51353         * lib/ioctl.c (ioctl) [mingw]: Update comment.
51355 2011-03-30  Bruno Haible  <bruno@clisp.org>
51357         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
51358         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
51359         instead of 'printf' format for GCC >= 4.4.
51360         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
51361         (fprintf, printf, vfprintf, vprintf): Declare with
51362         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
51363         the system's vfprintf() function.
51364         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
51366 2011-03-30  Eric Blake  <eblake@redhat.com>
51368         passfd: fix scoping bug
51369         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
51370         before sendmsg/recvmsg.
51372         passfd: standardize coding conventions
51373         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
51374         can be learned at compile time.
51375         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
51376         ifdefs.
51377         (sendfd, recvfd): Follow gnulib code conventions.
51379         passfd: fix incorrect sendmsg arguments
51380         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
51381         incorrect msg_controllen value.
51382         * modules/passfd-tests (Depends-on): Check for alarm.
51383         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
51384         Reported by Bastien ROUCARIES.
51386 2011-03-30  Bruno Haible  <bruno@clisp.org>
51388         c-strcasestr: Relicense under LGPLv2+.
51389         * modules/c-strcasestr (License): Change to LGPLv2+.
51390         Requested by Eric Blake, for libvirt.
51392 2011-03-30  Simon Josefsson  <simon@josefsson.org>
51394         * users.txt: Add libidn2.  Fix libtasn1 link.
51396 2011-03-30  Jim Meyering  <meyering@redhat.com>
51398         tests: readlink* ("",... fails with EINVAL on newer kernels
51399         readlink and readlinkat have typically failed with ENOENT for
51400         the invalid, empty file name,  "".  However, with the advent
51401         of linux-2.6.39, they fail with EINVAL.
51402         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
51403         when operating on the empty file name.
51404         * tests/test-readlink.h (test_readlink): Likewise.
51406 2011-03-29  Bruno Haible  <bruno@clisp.org>
51408         Relicense some modules under LGPLv2+, for libidn2.
51409         * modules/array-mergesort (License): Change to LGPLv2+.
51410         * modules/c-strcaseeq (License): Likewise.
51411         * modules/striconveh (License): Likewise.
51412         * modules/striconveha (License): Likewise.
51413         * modules/uniconv/base (License): Likewise.
51414         * modules/uniconv/u8-conv-from-enc (License): Likewise.
51415         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
51416         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
51417         * modules/unictype/base (License): Likewise.
51418         * modules/unictype/bidiclass-of (License): Likewise.
51419         * modules/unictype/category-M (License): Likewise.
51420         * modules/unictype/category-none (License): Likewise.
51421         * modules/unictype/category-of (License): Likewise.
51422         * modules/unictype/category-test (License): Likewise.
51423         * modules/unictype/category-test-withtable (License): Likewise.
51424         * modules/unictype/combining-class (License): Likewise.
51425         * modules/unictype/joiningtype-of (License): Likewise.
51426         * modules/unictype/scripts (License): Likewise.
51427         * modules/uninorm/base (License): Likewise.
51428         * modules/uninorm/canonical-decomposition (License): Likewise.
51429         * modules/uninorm/composition (License): Likewise.
51430         * modules/uninorm/decompose-internal (License): Likewise.
51431         * modules/uninorm/decomposition-table (License): Likewise.
51432         * modules/uninorm/nfc (License): Likewise.
51433         * modules/uninorm/nfd (License): Likewise.
51434         * modules/uninorm/u32-normalize (License): Likewise.
51435         * modules/unistr/base (License): Likewise.
51436         * modules/unistr/u32-cpy (License): Likewise.
51437         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
51438         * modules/unistr/u32-to-u8 (License): Likewise.
51439         * modules/unistr/u32-uctomb (License): Likewise.
51440         * modules/unistr/u8-check (License): Likewise.
51441         * modules/unistr/u8-mblen (License): Likewise.
51442         * modules/unistr/u8-mbtouc (License): Likewise.
51443         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
51444         * modules/unistr/u8-mbtoucr (License): Likewise.
51445         * modules/unistr/u8-prev (License): Likewise.
51446         * modules/unistr/u8-strlen (License): Likewise.
51447         * modules/unistr/u8-to-u32 (License): Likewise.
51448         * modules/unistr/u8-uctomb (License): Likewise.
51449         * modules/unitypes (License): Likewise.
51450         Requested by Simon Josefsson.
51452 2011-03-29  Simon Josefsson  <simon@josefsson.org>
51454         lib-symbol-visibility: Add a notice.
51455         * modules/lib-symbol-visibility (Notice): New field.
51457 2011-03-29  Bruno Haible  <bruno@clisp.org>
51459         getaddrinfo: Doc fix.
51460         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
51461         section "fixed in Gnulib".
51463 2011-03-28  Simon Josefsson  <simon@josefsson.org>
51465         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
51466         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
51468 2011-03-26  Bruno Haible  <bruno@clisp.org>
51470         unictype/property-byname: Reduce the number of load-time relocations.
51471         * lib/unictype/pr_byname.c: Include <stdlib.h>.
51472         (UC_PROPERTY_INDEX_*): New enumeration values.
51473         (uc_property_byname): Convert an index from the lookup table to an
51474         uc_property_t.
51475         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
51476         values.
51478 2011-03-26  Bruno Haible  <bruno@clisp.org>
51480         unictype/property-byname: Allow omitted word separators and aliases.
51481         * lib/unictype/pr_byname.gperf: Add property names without word
51482         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
51483         for 'space'.
51485 2011-03-26  Bruno Haible  <bruno@clisp.org>
51487         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
51488         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
51489         also hyphens to space.
51490         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
51491         without spaces.
51492         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
51494 2011-03-26  Bruno Haible  <bruno@clisp.org>
51496         unictype/joiningtype-byname: Recognize long names as well.
51497         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
51498         a long name.
51499         * lib/unictype/joiningtype_byname.c: Include <string.h>,
51500         unictype/joiningtype_byname.h.
51501         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
51502         * lib/unictype/joiningtype_byname.gperf: New file.
51503         * modules/unictype/joiningtype-byname (Files): Add
51504         lib/unictype/joiningtype_byname.gperf.
51505         (Depends-on): Add gperf.
51506         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
51507         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
51508         long names.
51510         Tests for module 'unictype/joiningtype-longname'.
51511         * modules/unictype/joiningtype-longname-tests: New file.
51512         * tests/unictype/test-joiningtype_longname.c: New file.
51514         New module 'unictype/joiningtype-longname'.
51515         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
51516         * lib/unictype/joiningtype_longname.c: New file.
51517         * modules/unictype/joiningtype-longname: New file.
51518         * modules/unictype/joiningtype-all (Depends-on): Add
51519         unictype/joiningtype-longname.
51521 2011-03-26  Bruno Haible  <bruno@clisp.org>
51523         unictype/bidiclass-byname: Recognize long names as well.
51524         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
51525         name.
51526         * lib/unictype/bidi_byname.c: Include <string.h>,
51527         unictype/bidi_byname.h.
51528         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
51529         * lib/unictype/bidi_byname.gperf: New file.
51530         * modules/unictype/bidiclass-byname (Files): Add
51531         lib/unictype/bidi_byname.gperf.
51532         (Depends-on): Add gperf.
51533         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
51534         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
51535         long names.
51537         Tests for module 'unictype/bidiclass-longname'.
51538         * modules/unictype/bidiclass-longname-tests: New file.
51539         * tests/unictype/test-bidi_longname.c: New file.
51541         New module 'unictype/bidiclass-longname'.
51542         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
51543         * lib/unictype/bidi_longname.c: New file.
51544         * modules/unictype/bidiclass-longname: New file.
51545         * modules/unictype/bidiclass-all (Depends-on): Add
51546         unictype/bidiclass-longname.
51548 2011-03-26  Bruno Haible  <bruno@clisp.org>
51550         unictype/bidi*: Rename modules.
51551         * modules/unictype/bidiclass-all: Renamed from
51552         modules/unictype/bidicategory-all.
51553         * modules/unictype/bidiclass-name: Renamed from
51554         modules/unictype/bidiclass-name.
51555         (Description): Update.
51556         * modules/unictype/bidiclass-name-tests: Renamed from
51557         modules/unictype/bidicategory-name-tests.
51558         * modules/unictype/bidiclass-byname: Renamed from
51559         modules/unictype/bidicategory-byname.
51560         (Description): Update.
51561         * modules/unictype/bidiclass-byname-tests: Renamed from
51562         modules/unictype/bidicategory-byname-tests.
51563         * modules/unictype/bidiclass-of: Renamed from
51564         modules/unictype/bidicategory-of.
51565         (Description): Update.
51566         * modules/unictype/bidiclass-of-tests: Renamed from
51567         modules/unictype/bidicategory-of-tests.
51568         * modules/unictype/bidiclass-test: Renamed from
51569         modules/unictype/bidicategory-test.
51570         (Description): Update.
51571         * modules/unictype/bidiclass-test-tests: Renamed from
51572         modules/unictype/bidicategory-test-tests.
51573         * modules/unictype/bidicategory-all: New file, a simple redirection.
51574         * modules/unictype/bidicategory-name: Likewise.
51575         * modules/unictype/bidicategory-byname: Likewise.
51576         * modules/unictype/bidicategory-of: Likewise.
51577         * modules/unictype/bidicategory-test: Likewise.
51578         * modules/unictype/property-bidi-* (Dependencies): Update.
51579         * lib/unictype/bidi_*.c: Update comment.
51581 2011-03-26  Bruno Haible  <bruno@clisp.org>
51583         unictype/bidi*: Rename functions, part 2.
51584         * modules/unictype/bidicategory-name (configure.ac): Update required
51585         libunistring version.
51586         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
51588 2011-03-25  Bruno Haible  <bruno@clisp.org>
51590         New module 'unictype/combining-class-all'.
51591         * modules/unictype/combining-class-all: New file.
51593         Tests for module 'unictype/combining-class-byname'.
51594         * modules/unictype/combining-class-byname-tests: New file.
51595         * tests/unictype/test-combiningclass_byname.c: New file.
51597         New module 'unictype/combining-class-byname'.
51598         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
51599         * lib/unictype/combiningclass_byname.c: New file.
51600         * lib/unictype/combiningclass_byname.gperf: New file.
51601         * modules/unictype/combining-class-byname: New file.
51603         Tests for module 'unictype/combining-class-longname'.
51604         * modules/unictype/combining-class-longname-tests: New file.
51605         * tests/unictype/test-combiningclass_longname.c: New file.
51607         New module 'unictype/combining-class-longname'.
51608         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
51609         * lib/unictype/combiningclass_longname.c: New file.
51610         * modules/unictype/combining-class-longname: New file.
51612         Tests for module 'unictype/combining-class-name'.
51613         * modules/unictype/combining-class-name-tests: New file.
51614         * tests/unictype/test-combiningclass_name.c: New file.
51616         New module 'unictype/combining-class-name'.
51617         * lib/unictype.in.h (uc_combining_class_name): New declaration.
51618         * lib/unictype/combiningclass_name.c: New file.
51619         * modules/unictype/combining-class-name: New file.
51621 2011-03-25  Bruno Haible  <bruno@clisp.org>
51623         unictype/combining-class: Rename source files.
51624         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
51625         of unictype/combining.h.
51626         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
51627         Update.
51628         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
51629         * modules/unictype/combining-class (Description): Fix.
51630         (Files, Makefile.am): Update.
51631         * tests/unictype/test-combiningclass.c: Renamed from
51632         tests/unictype/test-combining.c.
51633         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
51635 2011-03-25  Bruno Haible  <bruno@clisp.org>
51637         unictype: Update list of canonical combining classes.
51638         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
51640 2011-03-25  Bruno Haible  <bruno@clisp.org>
51642         unictype/category-byname: Recognize long names as well.
51643         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
51644         a long name.
51645         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
51646         unictype/categ_byname.h.
51647         (UC_CATEGORY_INDEX_*): New enumeration values.
51648         (uc_general_category_byname): Use uc_general_category_lookup and
51649         convert from index to value.
51650         * lib/unictype/categ_byname.gperf: New file.
51651         * modules/unictype/category-byname (Files): Add
51652         lib/unictype/categ_byname.gperf.
51653         (Depends-on): Add gperf.
51654         (Makefile.am): Add rule for generating unictype/categ_byname.h.
51655         * tests/unictype/test-categ_byname.c (main): Test the recognition of
51656         long names.
51658         Tests for module 'unictype/category-longname'.
51659         * modules/unictype/category-longname-tests: New file.
51660         * tests/unictype/test-categ_longname.c: New file.
51662         New module 'unictype/category-longname'.
51663         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
51664         * lib/unictype/categ_longname.c: New file.
51665         * modules/unictype/category-longname: New file.
51666         * modules/unictype/category-all (Depends-on): Add it.
51668 2011-03-25  Bruno Haible  <bruno@clisp.org>
51670         Tests for module 'unictype/category-LC'.
51671         * modules/unictype/category-LC-tests: New file.
51672         * tests/unictype/test-categ_LC.c: New file, automatically generated.
51674         New module 'unictype/category-LC'.
51675         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
51676         (UC_CATEGORY_LC): New declaration.
51677         (UC_CASED_LETTER): New macro.
51678         * lib/gen-uni-tables.c (is_category_LC): New function.
51679         (output_categories): Also handle category LC.
51680         (UC_CATEGORY_MASK_LC): New enumeration value.
51681         (general_category_byname): Also handle category LC.
51682         * lib/unictype/categ_LC.c: New file.
51683         * lib/unictype/categ_LC.h: New file, automatically generated.
51684         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
51685         category LC.
51686         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
51687         * modules/unictype/category-LC: New file.
51688         * modules/unictype/category-byname (Depends-on): Add
51689         unictype/category-LC.
51690         * modules/unictype/category-all (Depends-on): Likewise.
51692 2011-03-25  Eric Blake  <eblake@redhat.com>
51694         xmalloc: revert yesterday's regression
51695         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
51696         realloc's underlying behavior (allowing allocation of zero-size
51697         objects, especially if malloc-gnu is also in use).
51699 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
51701         maint.mk: add missing version to VC-tag
51702         * top/maint.mk: git tag was missing actual tag name; add it.
51704         valgrind: do leak checking, and exit with code 1 on error (not 0)
51705         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
51706         to VALGRIND.
51708 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
51710         posix-modules: say what it does.
51711         * posix-modules: Add a line to the --help output saying what it does.
51713 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
51715         xmalloc: Do not leak if underlying realloc is C99 compatible.
51716         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
51717         This avoids a leak on C99-based systems.  See
51718         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
51720 2011-03-24  Eric Blake  <eblake@redhat.com>
51722         realloc: document portability problem
51723         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
51724         passing 0 size to realloc.
51726 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
51728         doc: update users.txt
51729         * users.txt: Add cvsps, tmpwatch
51731 2011-03-23  Matt Rice  <ratmice@gmail.com>
51733         doc: update users.txt
51734         * users.txt: Add gdb.
51736 2011-03-23  Jim Meyering  <meyering@redhat.com>
51738         doc: update users.txt
51739         Looking through matches up to the following URL (there are still
51740         several more pages), I found several projects that use gnulib:
51741         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
51742         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
51743         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
51745 2011-03-22  Bruno Haible  <bruno@clisp.org>
51747         unictype/bidi*: Rename functions.
51748         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
51749         uc_bidi_class, uc_is_bidi_class): New declarations.
51750         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
51751         uc_bidi_category_byname.
51752         (uc_bidi_category_byname): New function.
51753         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
51754         u_bidi_category_name.
51755         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
51756         (uc_bidi_category_name): New function.
51757         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
51758         uc_bidi_category.
51759         (uc_bidi_category): New function.
51760         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
51761         uc_is_bidi_category. Invoke uc_bidi_class.
51762         (uc_is_bidi_category): New function.
51763         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
51764         instead of uc_bidi_category_byname.
51765         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
51766         instead of uc_bidi_category_name.
51767         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
51768         uc_bidi_category.
51769         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
51770         instead of uc_is_bidi_category.
51772 2011-03-21  Bruno Haible  <bruno@clisp.org>
51774         New module 'unictype/joininggroup-all'.
51775         * modules/unictype/joininggroup-all: New file.
51777         Tests for module 'unictype/joininggroup-of'.
51778         * modules/unictype/joininggroup-of-tests: New file.
51779         * tests/unictype/test-joininggroup_of.c: New file.
51780         * tests/unictype/test-joininggroup_of.h: New file, automatically
51781         generated by gen-uni-tables.
51783         New module 'unictype/joininggroup-of'.
51784         * modules/unictype/joininggroup-of: New file.
51785         * lib/unictype/joininggroup_of.c: New file.
51786         * lib/unictype/joininggroup_of.h: New file, automatically generated by
51787         gen-uni-tables.
51789         Tests for module 'unictype/joininggroup-byname'.
51790         * modules/unictype/joininggroup-byname-tests: New file.
51791         * tests/unictype/test-joininggroup_byname.c: New file.
51793         New module 'unictype/joininggroup-byname'.
51794         * modules/unictype/joininggroup-byname: New file.
51795         * lib/unictype/joininggroup_byname.c: New file.
51796         * lib/unictype/joininggroup_byname.gperf: New file.
51798         Tests for module 'unictype/joininggroup-name'.
51799         * modules/unictype/joininggroup-name-tests: New file.
51800         * tests/unictype/test-joininggroup_name.c: New file.
51802         New module 'unictype/joininggroup-name'.
51803         * modules/unictype/joininggroup-name: New file.
51804         * lib/unictype/joininggroup_name.c: New file.
51805         * lib/unictype/joininggroup_name.h: New file.
51807         New module 'unictype/joiningtype-all'.
51808         * modules/unictype/joiningtype-all: New file.
51810         Tests for module 'unictype/joiningtype-of'.
51811         * modules/unictype/joiningtype-of-tests: New file.
51812         * tests/unictype/test-joiningtype_of.c: New file.
51813         * tests/unictype/test-joiningtype_of.h: New file, automatically
51814         generated by gen-uni-tables.
51816         New module 'unictype/joiningtype-of'.
51817         * modules/unictype/joiningtype-of: New file.
51818         * lib/unictype/joiningtype_of.c: New file.
51819         * lib/unictype/joiningtype_of.h: New file, automatically generated by
51820         gen-uni-tables.
51822         Tests for module 'unictype/joiningtype-byname'.
51823         * modules/unictype/joiningtype-byname-tests: New file.
51824         * tests/unictype/test-joiningtype_byname.c: New file.
51826         New module 'unictype/joiningtype-byname'.
51827         * modules/unictype/joiningtype-byname: New file.
51828         * lib/unictype/joiningtype_byname.c: New file.
51830         Tests for module 'unictype/joiningtype-name'.
51831         * modules/unictype/joiningtype-name-tests: New file.
51832         * tests/unictype/test-joiningtype_name.c: New file.
51834         New module 'unictype/joiningtype-name'.
51835         * modules/unictype/joiningtype-name: New file.
51836         * lib/unictype/joiningtype_name.c: New file.
51838         unictype: Add support for Arabic shaping properties.
51839         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
51840         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
51841         declarations.
51842         (UC_JOINING_GROUP_*): New enumeration values.
51843         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
51844         declarations.
51845         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
51846         (unicode_joining_type): New variable.
51847         (UC_JOINING_GROUP_*): New enumeration values.
51848         (unicode_joining_group): New variable.
51849         (fill_arabicshaping, joining_type_as_c_identifier,
51850         output_joining_type_test, output_joining_type,
51851         joining_group_as_c_identifier, output_joining_group_test,
51852         output_joining_group): New functions.
51853         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
51854         fill_arabicshaping and output_joining_type_test, output_joining_type,
51855         output_joining_group_test, output_joining_group.
51856         Reported by Simon Josefsson.
51858 2011-03-21  Jim Meyering  <meyering@redhat.com>
51860         strftime: fix a bug in yesterday's change
51861         * lib/strftime.c (add): Accommodate width's initial value of -1.
51862         Otherwise, nstrftime would copy uninitialized data into
51863         the result buffer.
51865 2011-03-21  Jim Meyering  <meyering@redhat.com>
51867         tests: add strftime-tests module
51868         * tests/test-strftime.c: New file.
51869         * modules/strftime-tests: New module.
51871 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
51873         strftime: don't assume a byte count fits in 'int'
51874         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
51875         found this problem by static analysis, using gcc -Wstrict-overflow
51876         (GCC 4.5.2, x86-64).  This reported an optimization that depended
51877         on an integer overflow having undefined behavior, but it turns out
51878         that the argument is a size, which might not fit in 'int' anyway,
51880 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
51882         stdio: don't require ignore_value around fwrite
51884         This patch works around libc bug 11959
51885         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
51886         Without this patch, applications must often write
51887         ignore_value (fwrite (...)) even though the ignore_value is
51888         not helpful here.  It's common to write many objects, using
51889         fwrite/printf/etc., and then use ferror to detect output error.
51891         I considered making this patch optional, but decided against it,
51892         because libc is obviously being inconsistent here: there is no
51893         reason libc should insist that user code must inspect fwrite
51894         return's value without also insisting that it inspect printf's,
51895         putchar's, etc.  If user code wants to have a strict style where
51896         all these functions' values are checked (so that ferror need not
51897         be checked), we could add support for that style in a new gnulib
51898         module, but in the meantime it's better to be consistent and to
51899         support common usage.
51901         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
51902         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
51903         that we are compiling in checking mode, and if not C++, and
51904         if not already wrapping fwrite for some other reason.
51905         (fwrite): #define to rpl_fwrite if the latter is defined.
51907 2011-03-20  Bruno Haible  <bruno@clisp.org>
51909         verror: Fix compilation error introduced on 2011-02-13.
51910         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
51911         instead of __attribute__.
51912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51914 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
51915             Bruno Haible  <bruno@clisp.org>
51917         socklen: do not depend on sys_socket
51918         While trying to modify Emacs to use gnulib's socklen module,
51919         I discovered a circular dependency: socklen depends on sys_socket
51920         and vice versa.  Emacs can use socklen, but it does not need
51921         sys_socket because it has its own substitute for sys/socket.h.
51922         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
51923         gl_TYPE_SOCKLEN_T.
51924         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
51925         gl_PREREQ_SYS_H_SOCKET.
51926         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
51927         gl_PREREQ_SYS_H_SOCKET.
51928         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
51929         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
51930         * modules/socklen (Depends-on): Do not depend on sys_socket.
51931         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
51933 2011-03-20  Jim Meyering  <meyering@redhat.com>
51935         maint.mk: sort file names *after* new transformation
51936         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
51937         prefix would have led to an unwarranted failure in GNU parted.
51938         Sort after that transformation.
51940 2011-03-19  Jim Meyering  <meyering@redhat.com>
51942         maint.mk: fix po-file syntax-check rule
51943         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
51944         Patch by Bruno Haible.
51946 2011-03-19  Bruno Haible  <bruno@clisp.org>
51948         socklen: Update comment.
51949         * m4/socklen.m4: Update comment about platforms.
51951 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51952             Bruno Haible  <bruno@clisp.org>
51954         inet_ntop, inet_pton: Simplify.
51955         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
51956         documented to provide socklen_t and we already depend on sys_socket.
51957         * modules/inet_pton (Depends-on): Likewise.
51958         * lib/arpa_inet.in.h: Adjust comment.
51960 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51961             Bruno Haible  <bruno@clisp.org>
51963         netdb: Simplify.
51964         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
51965         documented to provide socklen_t and we already depend on sys_socket.
51966         * lib/netdb.in.h: Adjust comment.
51968 2011-03-19  Bruno Haible  <bruno@clisp.org>
51970         sys_socket, netdb: Document problem with socklen_t.
51971         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
51972         platforms.
51973         * doc/posix-headers/netdb.texi: Likewise.
51975 2011-03-18  Eric Blake  <eblake@redhat.com>
51977         maint.mk: let po check work in VPATH build
51978         * top/maint.mk (po_file): Allow cfg.mk override.
51979         (sc_po_check): Allow VPATH use.
51980         Reported by Jiri Denemark.
51982 2011-03-16  Jim Meyering  <meyering@redhat.com>
51984         maint.mk: allow fine-grained syntax-check exclusion via Make variables
51985         Before, you would have had to create one .x-sc_ file per rule in order
51986         to exempt offending files.  Now, you may instead use a Make variable --
51987         usually defined in cfg.mk -- whose name identifies the affected rule.
51988         * top/maint.mk (_sc_excl): Define.
51989         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
51990         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
51992 2011-03-13  Bruno Haible  <bruno@clisp.org>
51994         ignore-value tests: Avoid warnings.
51995         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
51996         empty for gcc < 3.4.
51998 2011-03-13  Bruno Haible  <bruno@clisp.org>
52000         passfd: Fix link error on Solaris.
52001         * modules/passfd (Description): Correct.
52002         (Depends-on): Add socketlib.
52003         (Link): New section.
52004         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
52006 2011-03-13  Bruno Haible  <bruno@clisp.org>
52008         passfd: Fix link error on AIX 5.2.
52009         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
52011 2011-03-13  Bruno Haible  <bruno@clisp.org>
52013         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
52014         * lib/sys_socket.in.h: Include <stddef.h>.
52015         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
52016         CMSG_FIRSTHDR. Remove unused variable.
52018 2011-03-13  Bruno Haible  <bruno@clisp.org>
52020         passfd: Fix compilation error on OpenBSD.
52021         * lib/passfd.c: Include <sys/uio.h>.
52023 2011-03-13  Bruno Haible  <bruno@clisp.org>
52025         passfd test: Fix warnings.
52026         * tests/test-passfd.c: Include <sys/wait.h>.
52027         (main): Fix typo.
52029 2011-03-13  Bruno Haible  <bruno@clisp.org>
52031         passfd module, part 4, tweaks.
52032         * tests/test-passfd.c: Reorder includes.
52033         (main): Fix perror and printf calls.
52035 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
52037         passfd module, part 4.
52038         * modules/passfd-tests: New file.
52039         * tests/test-passfd.c: New file.
52041 2011-03-13  Jim Meyering  <meyering@redhat.com>
52043         Makefile: rely on GNU make; derive syntax-check rule names
52044         Rather than requiring that each sc_ rule be listed as a dependent
52045         of "check", use features of GNU make to derive the list.
52046         * Makefile (syntax-check-rules): Define.
52047         (check): Depend on the new variable, not the hard-coded list.
52049 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
52050             Bruno Haible  <bruno@clisp.org>
52052         passfd module, part 3.
52053         * lib/passfd.h (recvfd): Add a flags argument.
52054         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
52055         (recvfd): Add a flags argument.
52056         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
52057         exists.
52058         * modules/passfd (Depends-on): Add cloexec.
52059         Suggested by Eric Blake.
52061 2011-03-13  Bruno Haible  <bruno@clisp.org>
52063         passfd module, part 2, tweaks.
52064         * modules/passfd (Files): Reorder.
52065         (Depends-on): Remove errno.
52066         (Include): Remove <sys/socket.h>, <sys/un.h>.
52067         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
52068         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
52069         specification header. Include <sys/socket.h> always. Don't include
52070         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
52071         (sendfd): Clarify that it sets errno when it fails.
52072         (recvfd): Fix specification.
52074 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
52076         passfd module, part 2.
52077         * modules/passfd: New file.
52078         * lib/passfd.h: New file.
52079         * lib/passfd.c: New file.
52081 2011-03-12  Bruno Haible  <bruno@clisp.org>
52083         wcswidth, mbswidth: Avoid integer overflow.
52084         * lib/wcswidth.c: Include <limits.h>.
52085         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
52086         * lib/mbswidth.c: Include <limits.h>.
52087         (mbsnwidth): Avoid 'int' overflow.
52088         Reported by Jim Meyering.
52090 2011-03-12  Bruno Haible  <bruno@clisp.org>
52092         futimens, utimensat: Avoid endless recursion on Solaris 10.
52093         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
52094         Solaris.
52095         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
52096         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
52098 2011-03-11  Jim Meyering  <meyering@redhat.com>
52100         maint.mk: relax a regexp to accommodate other formatting styles
52101         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
52102         between "ngettext" and the following "(".
52104 2011-03-11  Pádraig Brady  <P@draigBrady.com>
52106         maint.mk: suppress a false positive warning
52107         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
52108         diagnostics are marked with ngettext.
52110 2011-03-10  Eric Blake  <eblake@redhat.com>
52112         wchar: add explicit dependencies, for Tru64
52113         * modules/mbmemcasecoll (Depends-on): Add wchar.
52114         * modules/mbtowc (Depends-on): Likewise.
52115         * modules/vasnprintf (Depends-on): Likewise.
52116         * modules/unistdio/u-printf-args (Depends-on): Likewise.
52117         * modules/wctomb (Depends-on): Likewise.
52118         Reported by Peter O'Gorman.
52120 2011-03-08  Bruno Haible  <bruno@clisp.org>
52122         passfd module, part 1, tweaks.
52123         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
52124         Improve indentation. Improve AC_MSG_CHECKING messages.
52125         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
52126         gl_SOCKET_FAMILIES.
52128 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
52130         passfd module, part 1.
52131         * m4/afunix.m4: New file.
52132         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
52133         sockets.
52135 2011-03-08  Bruno Haible  <bruno@clisp.org>
52137         regex-quote: New API.
52138         * lib/regex-quote.h: Include <stdbool.h>.
52139         (struct regex_quote_spec): New type.
52140         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
52141         New declarations.
52142         (regex_quote_length, regex_quote_copy, regex_quote): Take a
52143         'const struct regex_quote_spec *' argument.
52144         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
52145         (pcre_special): New constant.
52146         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
52147         New functions.
52148         (regex_quote_length, regex_quote_copy, regex_quote): Take a
52149         'const struct regex_quote_spec *' argument.
52150         * modules/regex-quote (Depends-on): Add stdbool.
52151         * tests/test-regex-quote.c (check): Update for new API. Add test for
52152         anchored results.
52153         * NEWS: Mention the API change.
52154         Reported by Reuben Thomas and Eric Blake.
52156 2011-03-06  Bruno Haible  <bruno@clisp.org>
52158         regex-quote: Fix creation of POSIX extended regular expressions.
52159         * lib/regex-quote.c (ere_special): Add grouping and alternation
52160         operators.
52162 2011-03-05  Bruno Haible  <bruno@clisp.org>
52164         doc: Improve doc regarding autopoint vs. gnulib.
52165         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
52166         disable autopoint while running autoreconf.
52167         Suggested by Ralf Wildenhues.
52169 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52171         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
52172         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
52174 2011-03-03  Bruce Korb  <bkorb@gnu.org>
52176         parse-duration: remove xalloc.h dependency
52177         * lib/parse-duration.c (parse_period): handle NULL return from
52178         strdup instead of calling xstrdup().
52179         * modules/parse-duration: remove "xalloc" dependency
52181 2011-03-03  Matthew Booth  <mbooth@redhat.com>
52183         bootstrap: honor m4_base when running aclocal
52184         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
52186 2011-03-02  Jim Meyering  <meyering@redhat.com>
52188         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
52189         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
52190         on request from Matt Booth.
52192 2011-03-01  Eric Blake  <eblake@redhat.com>
52194         test-link: work on Hurd
52195         * tests/test-link.h (test_link): Hurd rejects linking directories
52196         with EISDIR instead of the POSIX-mandated EPERM.
52198 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
52200         stdio: simplify by moving files to printf-posix, sigpipe
52201         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
52202         since this symbol is needed only if printf is replaced.
52203         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
52204         Require gl_ASM_SYMBOL_PREFIX.
52205         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
52206         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
52207         (Depends-on): Add 'raise'.
52208         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
52209         * modules/stdio (Files): Remove lib/stdio-write.c,
52210         m4/asm-underscore.m4.
52211         (Depends-on): Remove 'raise'.
52213         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
52214         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
52215         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
52216         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
52218 2011-02-28  Bruno Haible  <bruno@clisp.org>
52220         localcharset: Assume ANSI C behaviour of free().
52221         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
52222         calling free().
52223         Suggested by Simon Josefsson <simon@josefsson.org>.
52225 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
52226             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
52227             Bruno Haible  <bruno@clisp.org>  (tiny change)
52229         On Cygwin, use /proc file system instead of win32 API.
52230         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
52231         Win32 file names.
52232         (DllMain): Simplify by removing Cygwin specific code.
52233         (find_shared_library_fullname): Use Linux specific implementation also
52234         for Cygwin.
52235         (get_shared_library_fullname): Update accordingly.
52236         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
52237         Win32 file names.
52238         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
52239         Cygwin specific code.
52241 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
52242             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
52244         Fix OpenMP flag detection for various Fortran compilers.
52245         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
52246         OpenMP-conditional compilation construct, to force compile
52247         failure with missing OpenMP flag.
52248         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
52250 2011-02-25  Eric Blake  <eblake@redhat.com>
52252         strstr: expand test coverage
52253         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
52254         compilation.
52255         * tests/test-memmem.c (main): Duplicate tests.
52256         * tests/test-strcasestr.c (main): Likewise.
52257         * tests/test-c-strcasestr.c (main): Likewise.
52259 2011-02-25  Jim Meyering  <meyering@redhat.com>
52261         maint.mk: detect missing-NL-at-EOF, too
52262         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
52263         it also detects when a file lacks a newline at EOF.
52264         (require_exactly_one_NL_at_EOF_): Renamed from
52265         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
52266         since people may well have .x-sc_... file names tied to the
52267         existing name.  Suggested by Eric Blake.
52269 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52271         dirname: move m4/dos.m4 functionality into lib/dosname.h
52273         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
52274         extracts symbols from it, puts them into config.h; but it's much
52275         easier to use the symbols directly.  filename.h already does this,
52276         but it disagrees with dos.m4 in some respects.  This patch
52277         introduces a different include file dosname.h that packages up
52278         dos.m4, and then later we can work on merging filename.h and
52279         dosname.h.  Applications that need only the easy-to-configure
52280         symbols should consider including dosname.h rather than dirname.h.
52281         * NEWS: Mention incompatible changes.
52282         * m4/dos.m4: Remove.
52283         * lib/dosname.h, modules/dosname: New files.
52284         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
52285         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
52286         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
52287         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
52288         Include dosname.h, not dirname.h.
52289         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
52290         Include dosname.h, for definitions of symbols like ISSLASH
52291         that used to be in config.h.
52292         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
52293         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
52294         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
52295         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
52296         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
52297         * modules/rmdir (Files): Likewise.
52298         * modules/stat (Files): Likewise.
52299         * modules/unlink (Files): Likewise.
52300         * modules/dirname-lgpl (Depends-on): Add dosname.
52301         * modules/lstat (Depends-on): Likewise.
52302         * modules/openat (Depends-on): Likewise.
52303         * modules/rmdir (Depends-on): Likewise.
52304         * modules/savewd (Depends-on): Likewise.
52305         * modules/stat (Depends-on): Likewise.
52306         * modules/unlink (Depends-on): Likewise.
52307         * modules/openat (Depends-on): Remove dirname-lgpl.
52308         * modules/savewd (Depends-on): Likewise.
52309         * tests/test-dirname.c: Do not use removed symbols like
52310         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
52311         the remaining symbols, e.g., ISSLASH ('\\').
52313 2011-02-25  Eric Blake  <eblake@redhat.com>
52315         strstr: revert patches that introduced bug and pessimization
52316         * lib/str-two-way.h: Add another reference.
52317         (two_way_short_needle, two_way_long_needle): Revert changes from
52318         2011-02-24; they pessimize search speed.
52319         (critical_factorization): Partially revert changes from
52320         2010-06-22; they violate the requirement that the left half of the
52321         needle be smaller than the period of the needle.
52323 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52325         filenamecat: remove unnecessary dependency on dirname-lgpl
52326         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
52327         is no direct dependency, just an indirect one via filenamecat-lgpl.
52329         remove: remove unnecessary use of m4/dos.m4
52330         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
52331         * modules/remove (FILES): Remove m4/dos.m4.
52333         * lib/openat-proc.c: Don't include dirname.h; not needed.
52335         backupfile: remove unnecessary use of m4/dos.m4
52336         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
52337         of its symbols are used by the backupfile code.  backupfile.c does
52338         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
52339         for the rare case of programs that want all their backup file
52340         names to live within 8+3 limits, and dos.m4 doesn't address that.
52341         * modules/backupfile (Files): Remove m4/dos.m4.
52343 2011-02-24  Jim Meyering  <meyering@redhat.com>
52345         strstr: fix a bug whereby strstr would mistakenly return NULL
52346         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
52347         in period calculation.
52348         (two_way_long_needle): Likewise.
52349         The original problem was reported by Mike Stump in
52350         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
52351         Ralf Wildenhues provided the short needle and haystack.
52352         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
52353         Add a more involved test to trigger the bug in two_way_long_needle.
52355 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
52357         gnulib-tool: remove use of bold display in help screen
52358         * gnulib-tool (func_usage): Do not use bold display anymore in the
52359         help screen.  That was just meant to be a temporary emphasis for a
52360         backward-incompatible change.
52362 2011-02-23  Bruno Haible  <bruno@clisp.org>
52364         Fix misindentation of preprocessor directives.
52365         * lib/argp-namefrob.h: Reindent preprocessor directives.
52366         * lib/getopt_int.h (struct _getopt_data): Likewise.
52367         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
52368         * lib/vasnprintf.c (decode_long_double): Likewise.
52369         * tests/test-argmatch.c: Insert blank lines, for clarity.
52370         * tests/test-exclude.c: Likewise.
52372 2011-02-22  Bruno Haible  <bruno@clisp.org>
52374         ioctl: Fix for MacOS X in 64-bit mode.
52375         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
52376         value.
52377         Suggested by Eric Blake.
52378         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
52380 2011-02-22  Jim Meyering  <meyering@redhat.com>
52382         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
52383         * Makefile (sc_cpp_indent_check): Don't limit the check to files
52384         in lib/.
52386 2011-02-22  Eric Blake  <eblake@redhat.com>
52388         maint: avoid any CDPATH issue
52389         * Makefile (sc_cpp_indent_check): Anchor cd argument.
52391         maint: adjust cpp indentation for my modules, as well
52392         * Makefile (sc_cpp_indent_check): Add my name.
52393         * lib/fbufmode.c: Filter through cppi.
52394         * lib/fpurge.c: Likewise.
52395         * lib/freadable.c: Likewise.
52396         * lib/freading.c: Likewise.
52397         * lib/fwritable.c: Likewise.
52398         * lib/fwriting.c: Likewise.
52399         * lib/sigaction.c: Likewise.
52401 2011-02-22  Jim Meyering  <meyering@redhat.com>
52403         maint: adjust cpp indentation to reflect nesting depth
52404         I.e., in a block of code that begins with an unnested "#if",
52405         put one space between the "#" in column 1 and following token.
52406         For example,
52407         -#include <sys/vfs.h>
52408         +# include <sys/vfs.h>
52409         Do this only in .c files that are part of a module I maintain.
52410         * lib/linkat.c: Filter through cppi.
52411         * lib/nanosleep.c: Likewise.
52412         * lib/openat.c: Likewise.
52413         * lib/openat-die.c: Likewise.
52414         * lib/dup3.c: Likewise.
52415         * lib/fchownat.c: Likewise.
52416         * lib/flock.c: Likewise.
52417         * lib/fsync.c: Likewise.
52418         * lib/fts.c: Likewise.
52419         * lib/getpass.c: Likewise.
52420         * lib/gettimeofday.c: Likewise.
52421         * lib/userspec.c: Likewise.
52422         * Makefile (sc_cpp_indent_check): New rule, to check this.
52424 2011-02-22  Bruno Haible  <bruno@clisp.org>
52426         New module 'wctomb'.
52427         * lib/stdlib.in.h (wctomb): New declaration.
52428         * lib/wctomb.c: New file.
52429         * lib/wctomb-impl.h: New file.
52430         * m4/wctomb.m4: New file.
52431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
52432         REPLACE_WCTOMB.
52433         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
52434         REPLACE_WCTOMB.
52435         * modules/wctomb: New file.
52436         * tests/test-stdlib-c++.cc: Test signature of wctomb.
52437         * doc/posix-functions/wctomb.texi: Mention the new module.
52438         * modules/wctob (Depends-on): Add wctomb.
52440 2011-02-22  Bruno Haible  <bruno@clisp.org>
52442         New module 'mbtowc'.
52443         * lib/stdlib.in.h (mbtowc): New declaration.
52444         * lib/mbtowc.c: New file.
52445         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
52446         * m4/mbtowc.m4: New file.
52447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
52448         REPLACE_MBTOWC.
52449         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
52450         REPLACE_MBTOWC.
52451         * modules/mbtowc: New file.
52452         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
52453         * doc/posix-functions/mbtowc.texi: Mention the new module.
52454         * modules/btowc (Depends-on): Add mbtowc.
52456 2011-02-22  Bruno Haible  <bruno@clisp.org>
52458         wcrtomb: Add more tests for native Windows platforms.
52459         * tests/test-wcrtomb-w32-1.sh: New file.
52460         * tests/test-wcrtomb-w32-2.sh: New file.
52461         * tests/test-wcrtomb-w32-3.sh: New file.
52462         * tests/test-wcrtomb-w32-4.sh: New file.
52463         * tests/test-wcrtomb-w32-5.sh: New file.
52464         * tests/test-wcrtomb-w32.c: New file.
52465         * modules/wcrtomb-tests (Files): Add them.
52466         (Makefile.am): Arrange to run these tests.
52467         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
52468         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
52470 2011-02-20  Bruno Haible  <bruno@clisp.org>
52472         wcrtomb: Enhance test.
52473         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
52475 2011-02-20  Bruno Haible  <bruno@clisp.org>
52477         mbrtowc: Tiny optimization.
52478         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
52480 2011-02-20  Jim Meyering  <meyering@redhat.com>
52482         test-exclude.c: remove unmatched #endif
52483         * tests/test-exclude.c: Remove stray #endif, left over from
52484         the change of a week ago.
52486 2011-02-19  Jim Meyering  <meyering@redhat.com>
52488         git-version-gen: skip "-dirty" check when appropriate
52489         * build-aux/git-version-gen: Don't run any git commands when the
52490         version string comes from .tarball-version.  Prior to this, we
52491         would run git update-index --refresh even from a just-unpacked
52492         tarball directory, and that could affect a .git/ directory in a
52493         parent of the build directory.  Reported by Mike Frysinger.
52495 2011-02-19  Bruno Haible  <bruno@clisp.org>
52497         unictype/property-byname: Reduce the size of the 'data' segment.
52498         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
52500 2011-02-19  Bruno Haible  <bruno@clisp.org>
52502         unictype/scripts: Reduce the size of the 'data' segment.
52503         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
52504         '%pic'.
52505         * lib/unictype/scripts_byname.gperf: Regenerated.
52507 2011-02-19  Bruno Haible  <bruno@clisp.org>
52509         stdint: Update documentation.
52510         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
52512 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
52514         stdint: omit redundant check for wchar.h
52515         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
52516         always tests whether wchar.h exists, so remove the now-redundant test.
52518 2011-02-18  Bruno Haible  <bruno@clisp.org>
52520         stdint: Cut dependency to module 'wchar'.
52521         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
52522         include the necessary prerequisites.
52523         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
52524         * modules/stdint (Depends-on): Remove wchar.
52525         (Makefile.am): Substitute HAVE_WCHAR_H.
52526         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
52528 2011-02-18  Eric Blake  <eblake@redhat.com>
52530         longlong: skip, rather than fail, on cross-compilation
52531         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
52532         when cross-compiling; regression from 2011-02-16.
52534 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
52536         * NEWS: Mention 2011-02-08 change to stdlib.
52538 2011-02-17  Bruno Haible  <bruno@clisp.org>
52540         getloadavg: Add comments about platforms.
52541         * m4/getloadavg.m4: Add comment.
52542         * lib/getloadavg.c: Likewise.
52544 2011-02-17  Bruno Haible  <bruno@clisp.org>
52546         getloadavg: Fix link error on Solaris 2.6.
52547         * modules/getloadavg (Link): New section.
52548         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
52549         linking test-getloadavg.
52550         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
52551         getloadavg.
52553 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
52555         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
52556         It was 'int', but this doesn't match the IRIX 6.5 manual.
52557         Suggested by Bruno Haible in
52558         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
52560 2011-02-17  Bruno Haible  <bruno@clisp.org>
52562         havelib: Fix comments.
52563         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
52564         change.
52566 2011-02-17  Bruno Haible  <bruno@clisp.org>
52568         havelib: Update config.rpath.
52569         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
52571 2011-02-17  Bruno Haible  <bruno@clisp.org>
52573         getloadavg test: Add some plausibility checks.
52574         * tests/test-getloadavg.c (check_avg): Print a warning when the value
52575         is improbable.
52577 2011-02-16  Eric Blake  <eblake@redhat.com>
52579         maintainer-makefile: make syntax-check a no-op from tarballs
52580         * top/maint.mk (no-vc-detected): New rule.
52581         (local-checks-available): Use it to avoid hanging if someone tries
52582         'make syntax-check' from a tarball.  Also append to any non-syntax
52583         checks already defined in cfg.mk.
52585 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
52587         longlong: tune, particularly for common case of c99
52589         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
52590         or running anything if c99, or if unsigned long long int does not
52591         work.  In either case, we know the answer without further tests.
52592         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
52593         it at most once, and use its results for both long long int and
52594         unsigned long long int.  This is more likely to be efficient in
52595         the common case where the program wants to check for both long
52596         long int and unsigned long long int.
52597         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
52598         since the answer is already known.
52600 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
52602         getloadavg: set errno
52603         * lib/getloadavg.c: Set errno when returning -1.  If no other
52604         error number looks appropriate, set it to ENOSYS if the getloadavg
52605         looks like it can't possibly ever work, ENOTSUP otherwise.
52606         Suggested by Bruno Haible in
52607         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
52609         getloadavg: trim unused parts and speed up 'configure'
52610         * NEWS: Document this.
52611         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
52612         always compiled if getloadavg is absent.
52613         Move test code to ...
52614         * tests/test-getloadavg.c: New file, containing previous
52615         contents of test from lib/getloadavg.c.  It also contains
52616         suggestions by Bruno Haible in
52617         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
52618         * modules/getloadavg-tests: New file.
52619         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
52620         Do tests in the same order as they're needed for getloadavg.c.
52621         Omit setgid-related tests that generate symbols KMEM_GROUP,
52622         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
52623         Do only the tests that are needed to see whether the system has
52624         getloadavg, moving the other tests into ...
52625         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
52626         NLIST_NAME_UNION; nobody should be using it.  Do not define
52627         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
52628         relevant, as the user of this module shouldn't care how getloadavg
52629         is implemented.
52631         getloadavg: omit unused var
52632         * lib/getloadavg.c (getloadavg): Omit unused local variable.
52634 2011-02-15  Jim Meyering  <meyering@redhat.com>
52636         doc: update users.txt
52637         * users.txt: Update iwhd's URL.
52639 2011-02-13  Bruno Haible  <bruno@clisp.org>
52641         Consistent macro naming for macros that use GCC __attribute__.
52642         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
52643         _ATTRIBUTE_NONNULL_.
52644         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
52645         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
52646         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
52647         ATTRIBUTE_DEPRECATED.
52648         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
52649         ATTRIBUTE_NORETURN.
52650         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
52651         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
52652         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
52653         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
52654         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
52655         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
52656         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
52657         ATTRIBUTE_SENTINEL.
52658         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
52659         ATTRIBUTE_RETURN_CHECK.
52660         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
52661         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
52662         ATTRIBUTE_NORETURN.
52663         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
52664         Reported by Paul Eggert.
52666 2011-02-13  Bruno Haible  <bruno@clisp.org>
52668         Don't interfere with a program's definition of __attribute__.
52669         * lib/argp.h (__attribute__): Remove definition.
52670         (_GL_ATTRIBUTE_FORMAT): New macro.
52671         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
52672         * lib/argp-fmtstream.h (__attribute__): Remove definition.
52673         (_GL_ATTRIBUTE_FORMAT): New macro.
52674         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
52675         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
52676         GCC 3 or newer.
52677         * lib/error.h (__attribute__): Remove definition.
52678         (_GL_ATTRIBUTE_FORMAT): New macro.
52679         (error, error_at_line): Use it.
52680         * lib/hash.h (__attribute__): Remove definition.
52681         (ATTRIBUTE_WUR): Update definition. Define always.
52682         * lib/openat.h (__attribute__): Remove definition.
52683         (ATTRIBUTE_NORETURN): Update definition. Define always.
52684         * lib/sigpipe-die.h (__attribute__): Remove definition.
52685         (ATTRIBUTE_NORETURN): Update definition. Define always.
52686         * lib/vasnprintf.h (__attribute__): Remove definition.
52687         (_GL_ATTRIBUTE_FORMAT): New macro.
52688         (asnprintf, vasnprintf): Use it.
52689         * lib/xalloc.h (__attribute__): Remove definition.
52690         (ATTRIBUTE_NORETURN): Update definition. Define always.
52691         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
52692         * lib/xmemdup0.h (__attribute__): Remove definition.
52693         (ATTRIBUTE_NORETURN): Update definition. Define always.
52694         * lib/xprintf.h (__attribute__): Remove definition.
52695         (_GL_ATTRIBUTE_FORMAT): New macro.
52696         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
52697         * lib/xstrtol.h (__attribute__): Remove definition.
52698         (ATTRIBUTE_NORETURN): Update definition. Define always.
52699         * lib/xvasprintf.h (__attribute__): Remove definition.
52700         (_GL_ATTRIBUTE_FORMAT): New macro.
52701         (xasprintf, xvasprintf): Use it.
52702         * tests/test-argmatch.c (__attribute__): Remove definition.
52703         (ATTRIBUTE_NORETURN): Update definition. Define always.
52704         * tests/test-exclude.c (__attribute__): Remove definition.
52705         (ATTRIBUTE_NORETURN): Update definition. Define always.
52706         Reported by Paul Eggert.
52708 2011-02-13  Bruno Haible  <bruno@clisp.org>
52710         mbrtowc: Add more tests for native Windows platforms.
52711         * tests/test-mbrtowc-w32-1.sh: New file.
52712         * tests/test-mbrtowc-w32-2.sh: New file.
52713         * tests/test-mbrtowc-w32-3.sh: New file.
52714         * tests/test-mbrtowc-w32-4.sh: New file.
52715         * tests/test-mbrtowc-w32-5.sh: New file.
52716         * tests/test-mbrtowc-w32.c: New file.
52717         * modules/mbrtowc-tests (Files): Add them.
52718         (Makefile.am): Arrange to run these tests.
52719         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
52720         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
52722 2011-02-13  Bruno Haible  <bruno@clisp.org>
52724         mbrtowc: Work around native Windows bug.
52725         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
52726         guess when no suitable locale for testing was found.
52727         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
52729 2011-02-13  Bruno Haible  <bruno@clisp.org>
52731         mbsinit: Work around mingw bug.
52732         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
52733         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
52734         Windows.
52735         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
52737 2011-02-13  Bruno Haible  <bruno@clisp.org>
52739         mbsinit: Don't crash for a NULL argument.
52740         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
52741         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
52743 2011-02-13  Bruno Haible  <bruno@clisp.org>
52745         Don't interfere with a program's definition of __attribute__.
52746         * lib/stdio.in.h (__attribute__): Remove definition.
52747         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
52748         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
52749         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
52750         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
52751         * lib/string.in.h (__attribute__): Remove definition.
52752         Reported by Paul Eggert.
52754 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52756         stdlib: don't get in the way of non-GCC __attribute__
52757         See thread starting at
52758         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
52759         Revert previous stdlib change, installing the following instead:
52760         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
52761         to get in the way of a non-GCC compiler that supports __attribute__.
52762         (_GL_ATTRIBUTE_RETURN): New macro.
52763         (_Exit): Use it instead of __attribute__.
52765 2011-02-12  Bruno Haible  <bruno@clisp.org>
52767         quotearg test: Avoid test failure on mingw.
52768         * tests/test-quotearg.sh: Convert the locale identifier from native
52769         Windows syntax to Unix syntax.
52771 2011-02-12  Bruno Haible  <bruno@clisp.org>
52773         setlocale: Prefer gnulib's override over libintl's override.
52774         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
52775         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
52776         GNULIB_defined_setlocale is set.
52778 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52780         stdlib: support non-GCC __attribute__
52782         Fix a serious and tricky problem encountered when attempting to
52783         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
52784         5.5, but it crashed due to memory corruption on Solaris 10 with
52785         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
52786         bits that are otherwise zero.  This tagging is optional inside
52787         Emacs but is preferred and is used when __attribute__ ((__aligned
52788         (8))) works, as it does with both recent-enough GCC and with Sun C
52789         5.11.  However, Sun C 5.11 is not GCC and does not #define
52790         __GNUC__ and __GNUC_MINOR__.
52792         When I added the getloadavg module to Emacs, it brought in
52793         stdlib.in.h, which contained this fragment:
52795            #ifndef __attribute__
52796            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
52797            #  define __attribute__(Spec)   /* empty */
52798            # endif
52799            #endif
52801         When files that include <stdlib.h> were compiled with Sun C 5.11,
52802         the above code disabled __attribute__ ((__aligned (8))), which
52803         caused variables to not be properly aligned, which eventually led
52804         to the pointer corruption mentioned above.  (This was a bit hard
52805         to diagnose, unfortunately.)
52807         Several "#define __attribute__(X) /* empty */" code snippets need
52808         to be eradicated from Gnulib to work with non-GCC compilers that
52809         support __attribute__.  The Autoconf way to do this is to test for
52810         each kind of attribute that we want support for, and selectively
52811         enable that in source code.
52813         Fix this problem just for stdlib.h, by adding a test for the
52814         __noreturn__ attribute, and change stdlib.in.h to use that test
52815         when needed.  This technique can be easily generalized to the
52816         other *.in.h files and attributes, and a similar technique can be
52817         used for *.h and *.c files.  This patch is enough to solve the
52818         problem for Emacs + getloadavg, and I thought I'd publish it for
52819         feedback before undertaking further, similar fixes in other
52820         modules.
52822         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
52823         because it's not needed for stdlib.h.  It merely substitutes the
52824         value directly into stdlib.h.  We may well need to #define it, or
52825         similar symbols, for other modules, but it's nice to also have an
52826         option to not #define it for applications like Emacs that do not
52827         need it.
52829         * lib/stdlib.in.h (__attribute__): Do not #define.
52830         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
52831         be defined only if the _Exit module is also used.
52832         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
52833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
52834         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
52835         platforms.
52836         * modules/_Exit (Files): Add m4/attribute.m4.
52837         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
52838         * m4/attribute.m4: New file.
52840 2011-02-12  Bruno Haible  <bruno@clisp.org>
52842         wcsrtombs: Work around bug on native Windows.
52843         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
52844         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
52845         instead of len.
52846         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
52848 2011-02-12  Bruno Haible  <bruno@clisp.org>
52850         mbsrtowcs: Work around bug on native Windows.
52851         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
52852         against mingw bug.
52853         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
52855 2011-02-12  Bruno Haible  <bruno@clisp.org>
52857         Avoid setlocale bugs in tests.
52858         * modules/btowc (Dependencies): Add setlocale.
52859         * modules/c-strcase (Dependencies): Likewise.
52860         * modules/mbmemcasecmp (Dependencies): Likewise.
52861         * modules/mbmemcasecoll (Dependencies): Likewise.
52862         * modules/mbrtowc (Dependencies): Likewise.
52863         * modules/mbscasecmp (Dependencies): Likewise.
52864         * modules/mbscasestr (Dependencies): Likewise.
52865         * modules/mbschr (Dependencies): Likewise.
52866         * modules/mbscspn (Dependencies): Likewise.
52867         * modules/mbsinit (Dependencies): Likewise.
52868         * modules/mbsncasecmp (Dependencies): Likewise.
52869         * modules/mbsnrtowcs (Dependencies): Likewise.
52870         * modules/mbspbrk (Dependencies): Likewise.
52871         * modules/mbspcasecmp (Dependencies): Likewise.
52872         * modules/mbsrchr (Dependencies): Likewise.
52873         * modules/mbsrtowcs (Dependencies): Likewise.
52874         * modules/mbsspn (Dependencies): Likewise.
52875         * modules/mbsstr (Dependencies): Likewise.
52876         * modules/nl_langinfo (Dependencies): Likewise.
52877         * modules/quotearg (Dependencies): Likewise.
52878         * modules/unicase/locale-language (Dependencies): Likewise.
52879         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
52880         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
52881         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
52882         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
52883         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
52884         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
52885         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
52886         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
52887         * modules/vasnprintf-posix (Dependencies): Likewise.
52888         * modules/wcrtomb (Dependencies): Likewise.
52889         * modules/wcsnrtombs (Dependencies): Likewise.
52890         * modules/wcsrtombs (Dependencies): Likewise.
52892 2011-02-12  Bruno Haible  <bruno@clisp.org>
52894         setlocale: Workaround native Windows bug.
52895         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
52896         succeeds but sets LC_CTYPE to "C", report a failure.
52897         * tests/test-setlocale2.sh: New file.
52898         * tests/test-setlocale2.c: New file.
52899         * modules/setlocale-tests (Files): Add the new files.
52900         (Makefile.am): Enable test-setlocale2.sh test.
52901         * doc/posix-functions/setlocale.texi: Mention workaround.
52903 2011-02-11  Bruno Haible  <bruno@clisp.org>
52905         Tests for module 'setlocale'.
52906         * modules/setlocale-tests: New file.
52907         * tests/test-setlocale1.sh: New file.
52908         * tests/test-setlocale1.c: New file.
52910         New module 'setlocale'.
52911         * lib/locale.in.h (setlocale): New declaration.
52912         * lib/setlocale.c: New file, based on
52913         gettext/gettext-runtime/intl/setlocale.c.
52914         * m4/setlocale.m4: New file.
52915         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
52916         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
52917         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
52918         REPLACE_SETLOCALE.
52919         * modules/setlocale: New file.
52920         * tests/test-locale-c++.cc: Test the declaration of setlocale.
52921         * doc/posix-functions/setlocale.texi: Mention the new module.
52923 2011-02-11  Bruno Haible  <bruno@clisp.org>
52925         Prepare for locale dependent tests on mingw.
52926         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
52927         because it has the wrong locale encoding.
52928         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
52929         French_France.1252 instead of "fr".
52930         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
52931         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
52932         because it has the wrong locale encoding.
52933         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
52934         native Windows, try Turkish_Turkey.65001.
52935         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
52936         Chinese_China.54936.
52938         Prepare for locale dependent tests on mingw.
52939         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
52940         differently.
52941         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
52942         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
52943         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52944         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52946 2011-02-11  Eric Blake  <eblake@redhat.com>
52948         strptime: avoid compiler warnings
52949         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
52950         compiler warnings about dead code.
52951         Reported by Daniel P. Berrange.
52953 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
52955         doc: update users.txt
52956         * users.txt: Add rcs.
52958 2011-02-10  John W. Eaton  <jwe@gnu.org>
52960         doc: update users.txt
52961         * users.txt: Add octave.
52963 2011-02-10  Jim Meyering  <meyering@redhat.com>
52965         doc: update users.txt
52966         * users.txt: Add iwhd.
52968 2011-02-09  Bruno Haible  <bruno@clisp.org>
52970         gnulib-tool: Make copyright notice adjustment more robust.
52971         * gnulib-tool (func_import): In sed_transform_main_lib_file,
52972         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
52973         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
52974         License".
52975         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
52977 2011-02-06  Bruno Haible  <bruno@clisp.org>
52979         New module 'towctrans'.
52980         * modules/towctrans: New file.
52981         * lib/wctype.in.h (towctrans): New declaration.
52982         * lib/towctrans.c: New file.
52983         * lib/towctrans-impl.h: New file.
52984         * m4/towctrans.m4: New file.
52985         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
52986         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
52987         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
52988         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
52989         * doc/posix-functions/towctrans.texi: Mention the new module.
52991 2011-02-06  Bruno Haible  <bruno@clisp.org>
52993         New module 'wctrans'.
52994         * modules/wctrans: New file.
52995         * lib/wctype.in.h (wctrans): New declaration.
52996         * lib/wctrans.c: New file.
52997         * lib/wctrans-impl.h: New file.
52998         * m4/wctrans.m4: New file.
52999         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
53000         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
53001         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
53002         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
53003         * doc/posix-functions/wctrans.texi: Mention the new module.
53005 2011-02-06  Bruno Haible  <bruno@clisp.org>
53007         New module 'iswctype'.
53008         * modules/iswctype: New file.
53009         * lib/wctype.in.h (iswctype): New declaration.
53010         * lib/iswctype.c: New file.
53011         * lib/iswctype-impl.h: New file.
53012         * m4/iswctype.m4: New file.
53013         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
53014         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
53015         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
53016         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
53017         * doc/posix-functions/iswctype.texi: Mention the new module and the
53018         HP-UX 11.00 problem.
53020 2011-02-06  Bruno Haible  <bruno@clisp.org>
53022         New module 'wctype'.
53023         * modules/wctype: Change to represent the wctype() substitute.
53024         * lib/wctype.in.h (wctype): New declaration.
53025         * lib/wctype.c: New file.
53026         * lib/wctype-impl.h: New file.
53027         * m4/wctype.m4: New file.
53028         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
53029         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
53030         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
53031         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
53032         * doc/posix-functions/wctype.texi: Mention the new module and the
53033         HP-UX 11.00 problem.
53035 2011-02-06  Bruno Haible  <bruno@clisp.org>
53037         wctype-h: Ensure wctype_t and wctrans_t are defined.
53038         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
53039         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
53040         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
53041         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
53042         HAVE_WCTRANS_T.
53043         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
53045 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
53047         flock: fix license typo
53049         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
53050         omitted.
53052 2011-02-08  Bruno Haible  <bruno@clisp.org>
53054         Split large sed scripts, for HP-UX sed.
53055         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
53056         to avoid HP-UX limit of 99 commands, in the near future.
53057         * modules/stdlib (Makefile.am): Likewise.
53058         * modules/unistd (Makefile.am): Likewise.
53059         * modules/wchar (Makefile.am): Likewise.
53060         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53061         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
53062         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
53064 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
53065             Bruno Haible  <bruno@clisp.org>
53067         stdlib: improve random_r modularization
53068         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
53069         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
53070         you also need the random_r module to get this material right.
53071         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
53072         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
53073         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
53075 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
53077         stdlib: don't depend on stdint
53078         * lib/stdlib.in.h: Don't include <stdint.h> merely because
53079         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
53080         be independent of whether stdint.h is needed.
53081         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
53082         here, instead of ...
53083         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
53084         struct random_data should be using the random_r module, not just
53085         the stdlib module (which wouldn't make sense: what package needs
53086         just struct random_data without also needing random_r?).
53087         * modules/stdlib (Depends-on): Remove stdint.
53089         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
53090         See the thread rooted at
53091         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
53092         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
53093         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
53094         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
53095         __VMS)); previously it was always included (via fcntl--.h).
53096         (getloadavg): Do not use c_strtod.  Instead, approximate it by
53097         hand; this is good enough for load averages.  Also, do not use
53098         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
53099         flags directly if available and don't bother otherwise.  (Packages
53100         that need the extra reliability should use the modules that define
53101         these flags on older platforms that lack them.)
53102         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
53103         fcntl-safer.
53105 2011-02-08  Jim Meyering  <meyering@redhat.com>
53107         di-set.h, ino-map.h: add multiple-inclusion guard
53108         Technically, the guard is required only for ino-map.h, due to its
53109         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
53110         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
53111         * lib/ino-map.h: Likewise.
53113 2011-02-06  Bruno Haible  <bruno@clisp.org>
53115         iswblank: Ensure declaration on glibc systems.
53116         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
53117         * modules/iswblank (Dependencies): Add 'extensions'.
53118         * doc/posix-functions/iswblank.texi: Document the glibc problem.
53120 2011-02-06  Bruno Haible  <bruno@clisp.org>
53122         New module 'iswblank'.
53123         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
53124         * modules/iswblank: New file.
53125         * modules/wctype-h (Files): Remove lib/iswblank.c.
53126         (Makefile.am): Substitute GNULIB_ISWBLANK.
53127         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
53128         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
53129         (gl_WCTYPE_H_DEFAULTS): New macro.
53130         (gl_WCTYPE_H): Require it. Remove iswblank related code.
53131         * modules/iswblank-tests: New file.
53132         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
53133         * tests/test-wctype-h.c (main): Remove iswblank tests.
53134         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
53135         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
53136         of 'wctype-h'.
53137         * NEWS: Mention the change.
53138         * modules/mbchar (Depends-on): Add iswblank.
53140 2011-02-08  Bruno Haible  <bruno@clisp.org>
53142         di-set tests: Refactor.
53143         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
53144         unnecessary includes.
53145         (ASSERT): Remove macro.
53146         (main): Make C90 compliant by avoiding variable declaration after
53147         statement.
53148         * modules/di-set-tests (Files): Add tests/macros.h.
53150 2011-02-08  Bruno Haible  <bruno@clisp.org>
53152         ino-map tests: Refactor.
53153         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
53154         unnecessary includes.
53155         (ASSERT): Remove macro.
53156         (main): Make C90 compliant by avoiding variable declaration after
53157         statement.
53158         * modules/ino-map-tests (Files): Add tests/macros.h.
53160 2011-02-08  Jim Meyering  <meyering@redhat.com>
53162         di-set: add "const" to a cast
53163         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
53164         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
53166 2011-02-06  Bruno Haible  <bruno@clisp.org>
53168         Rename module 'wctype' to 'wctype-h'.
53169         * modules/wctype-h: Renamed from modules/wctype.
53170         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
53171         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
53172         (Files, Depends-on, Makefile.am): Update.
53173         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
53174         (Files, Makefile.am): Update.
53175         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
53176         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
53177         * doc/posix-headers/wctype.texi: Update.
53178         * doc/posix-functions/iswalnum.texi: Update.
53179         * doc/posix-functions/iswalpha.texi: Update.
53180         * doc/posix-functions/iswblank.texi: Update.
53181         * doc/posix-functions/iswcntrl.texi: Update.
53182         * doc/posix-functions/iswdigit.texi: Update.
53183         * doc/posix-functions/iswgraph.texi: Update.
53184         * doc/posix-functions/iswlower.texi: Update.
53185         * doc/posix-functions/iswprint.texi: Update.
53186         * doc/posix-functions/iswpunct.texi: Update.
53187         * doc/posix-functions/iswspace.texi: Update.
53188         * doc/posix-functions/iswupper.texi: Update.
53189         * doc/posix-functions/iswxdigit.texi: Update.
53190         * doc/posix-functions/towlower.texi: Update.
53191         * doc/posix-functions/towupper.texi: Update.
53192         * NEWS: Mention the change.
53193         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
53194         * modules/mbchar (Dependencies): Likewise.
53195         * modules/mbswidth (Dependencies): Likewise.
53196         * modules/quotearg (Dependencies): Likewise.
53197         * modules/regex (Dependencies): Likewise.
53198         * modules/wcscasecmp (Dependencies): Likewise.
53199         * modules/wcsncasecmp (Dependencies): Likewise.
53200         * modules/wcwidth (Dependencies): Likewise.
53202 2011-02-06  Bruno Haible  <bruno@clisp.org>
53204         New module 'wcswidth'.
53205         * modules/wcswidth: New file.
53206         * lib/wchar.in.h (wcswidth): New declaration.
53207         * lib/wcswidth.c: New file.
53208         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
53209         * m4/wcswidth.m4: New file.
53210         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
53211         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
53212         REPLACE_WCSWIDTH.
53213         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
53214         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
53215         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
53216         * doc/posix-functions/wcswidth.texi: Mention the new module.
53218 2011-02-06  Bruno Haible  <bruno@clisp.org>
53220         New module 'wcstok'.
53221         * modules/wcstok: New file.
53222         * lib/wchar.in.h (wcstok): New declaration.
53223         * lib/wcstok.c: New file.
53224         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
53225         * m4/wcstok.m4: New file.
53226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
53227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
53228         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
53229         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
53230         * doc/posix-functions/wcstok.texi: Mention the new module.
53232 2011-02-06  Bruno Haible  <bruno@clisp.org>
53234         New module 'wcsstr'.
53235         * modules/wcsstr: New file.
53236         * lib/wchar.in.h (wcsstr): New declaration.
53237         * lib/wcsstr.c: New file.
53238         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
53239         * m4/wcsstr.m4: New file.
53240         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
53241         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
53242         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
53243         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
53244         * doc/posix-functions/wcsstr.texi: Mention the new module.
53246 2011-02-06  Bruno Haible  <bruno@clisp.org>
53248         New module 'wcspbrk'.
53249         * modules/wcspbrk: New file.
53250         * lib/wchar.in.h (wcspbrk): New declaration.
53251         * lib/wcspbrk.c: New file.
53252         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
53253         * m4/wcspbrk.m4: New file.
53254         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
53255         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
53256         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
53257         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
53258         * doc/posix-functions/wcspbrk.texi: Mention the new module.
53260 2011-02-06  Bruno Haible  <bruno@clisp.org>
53262         New module 'wcsspn'.
53263         * modules/wcsspn: New file.
53264         * lib/wchar.in.h (wcsspn): New declaration.
53265         * lib/wcsspn.c: New file.
53266         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
53267         * m4/wcsspn.m4: New file.
53268         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
53269         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
53270         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
53271         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
53272         * doc/posix-functions/wcsspn.texi: Mention the new module.
53274 2011-02-06  Bruno Haible  <bruno@clisp.org>
53276         New module 'wcscspn'.
53277         * modules/wcscspn: New file.
53278         * lib/wchar.in.h (wcscspn): New declaration.
53279         * lib/wcscspn.c: New file.
53280         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
53281         * m4/wcscspn.m4: New file.
53282         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
53283         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
53284         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
53285         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
53286         * doc/posix-functions/wcscspn.texi: Mention the new module.
53288 2011-02-06  Bruno Haible  <bruno@clisp.org>
53290         New module 'wcsrchr'.
53291         * modules/wcsrchr: New file.
53292         * lib/wchar.in.h (wcsrchr): New declaration.
53293         * lib/wcsrchr.c: New file.
53294         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
53295         * m4/wcsrchr.m4: New file.
53296         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
53297         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
53298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
53299         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
53300         * doc/posix-functions/wcsrchr.texi: Mention the new module.
53302 2011-02-06  Bruno Haible  <bruno@clisp.org>
53304         New module 'wcschr'.
53305         * modules/wcschr: New file.
53306         * lib/wchar.in.h (wcschr): New declaration.
53307         * lib/wcschr.c: New file.
53308         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
53309         * m4/wcschr.m4: New file.
53310         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
53311         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
53312         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
53313         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
53314         * doc/posix-functions/wcschr.texi: Mention the new module.
53316 2011-02-06  Bruno Haible  <bruno@clisp.org>
53318         New module 'wcsdup'.
53319         * modules/wcsdup: New file.
53320         * lib/wchar.in.h (wcsdup): New declaration.
53321         * lib/wcsdup.c: New file.
53322         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
53323         * m4/wcsdup.m4: New file.
53324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
53325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
53326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
53327         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
53328         * doc/posix-functions/wcsdup.texi: Mention the new module.
53330 2011-02-06  Bruno Haible  <bruno@clisp.org>
53332         New module 'wcsxfrm'.
53333         * modules/wcsxfrm: New file.
53334         * lib/wchar.in.h (wcsxfrm): New declaration.
53335         * lib/wcsxfrm.c: New file.
53336         * lib/wcsxfrm-impl.h: New file.
53337         * m4/wcsxfrm.m4: New file.
53338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
53339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
53340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
53341         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
53342         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
53344 2011-02-06  Bruno Haible  <bruno@clisp.org>
53346         New module 'wcscoll'.
53347         * modules/wcscoll: New file.
53348         * lib/wchar.in.h (wcscoll): New declaration.
53349         * lib/wcscoll.c: New file.
53350         * lib/wcscoll-impl.h: New file.
53351         * m4/wcscoll.m4: New file.
53352         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
53353         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
53354         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
53355         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
53356         * doc/posix-functions/wcscoll.texi: Mention the new module.
53358 2011-02-06  Bruno Haible  <bruno@clisp.org>
53360         New module 'wcsncasecmp'.
53361         * modules/wcsncasecmp: New file.
53362         * lib/wchar.in.h (wcsncasecmp): New declaration.
53363         * lib/wcsncasecmp.c: New file.
53364         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
53365         * m4/wcsncasecmp.m4: New file.
53366         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
53367         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
53368         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
53369         HAVE_WCSNCASECMP.
53370         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
53371         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
53373 2011-02-06  Bruno Haible  <bruno@clisp.org>
53375         New module 'wcscasecmp'.
53376         * modules/wcscasecmp: New file.
53377         * lib/wchar.in.h (wcscasecmp): New declaration.
53378         * lib/wcscasecmp.c: New file.
53379         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
53380         * m4/wcscasecmp.m4: New file.
53381         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
53382         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
53383         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
53384         HAVE_WCSCASECMP.
53385         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
53386         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
53388 2011-02-05  Bruno Haible  <bruno@clisp.org>
53390         New module 'wcsncmp'.
53391         * modules/wcsncmp: New file.
53392         * lib/wchar.in.h (wcsncmp): New declaration.
53393         * lib/wcsncmp.c: New file.
53394         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
53395         * m4/wcsncmp.m4: New file.
53396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
53397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
53398         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
53399         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
53400         * doc/posix-functions/wcsncmp.texi: Mention the new module.
53402 2011-02-05  Bruno Haible  <bruno@clisp.org>
53404         New module 'wcscmp'.
53405         * modules/wcscmp: New file.
53406         * lib/wchar.in.h (wcscmp): New declaration.
53407         * lib/wcscmp.c: New file.
53408         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
53409         * m4/wcscmp.m4: New file.
53410         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
53411         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
53412         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
53413         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
53414         * doc/posix-functions/wcscmp.texi: Mention the new module.
53416 2011-02-05  Bruno Haible  <bruno@clisp.org>
53418         New module 'wcsncat'.
53419         * modules/wcsncat: New file.
53420         * lib/wchar.in.h (wcsncat): New declaration.
53421         * lib/wcsncat.c: New file.
53422         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
53423         * m4/wcsncat.m4: New file.
53424         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
53425         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
53426         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
53427         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
53428         * doc/posix-functions/wcsncat.texi: Mention the new module.
53430 2011-02-05  Bruno Haible  <bruno@clisp.org>
53432         New module 'wcscat'.
53433         * modules/wcscat: New file.
53434         * lib/wchar.in.h (wcscat): New declaration.
53435         * lib/wcscat.c: New file.
53436         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
53437         * m4/wcscat.m4: New file.
53438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
53439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
53440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
53441         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
53442         * doc/posix-functions/wcscat.texi: Mention the new module.
53444 2011-02-05  Bruno Haible  <bruno@clisp.org>
53446         New module 'wcpncpy'.
53447         * modules/wcpncpy: New file.
53448         * lib/wchar.in.h (wcpncpy): New declaration.
53449         * lib/wcpncpy.c: New file.
53450         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
53451         * m4/wcpncpy.m4: New file.
53452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
53453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
53454         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
53455         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
53456         * doc/posix-functions/wcpncpy.texi: Mention the new module.
53458 2011-02-05  Bruno Haible  <bruno@clisp.org>
53460         New module 'wcsncpy'.
53461         * modules/wcsncpy: New file.
53462         * lib/wchar.in.h (wcsncpy): New declaration.
53463         * lib/wcsncpy.c: New file.
53464         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
53465         * m4/wcsncpy.m4: New file.
53466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
53467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
53468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
53469         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
53470         * doc/posix-functions/wcsncpy.texi: Mention the new module.
53472 2011-02-05  Bruno Haible  <bruno@clisp.org>
53474         New module 'wcpcpy'.
53475         * modules/wcpcpy: New file.
53476         * lib/wchar.in.h (wcpcpy): New declaration.
53477         * lib/wcpcpy.c: New file.
53478         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
53479         * m4/wcpcpy.m4: New file.
53480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
53481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
53482         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
53483         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
53484         * doc/posix-functions/wcpcpy.texi: Mention the new module.
53486 2011-02-05  Bruno Haible  <bruno@clisp.org>
53488         New module 'wcscpy'.
53489         * modules/wcscpy: New file.
53490         * lib/wchar.in.h (wcscpy): New declaration.
53491         * lib/wcscpy.c: New file.
53492         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
53493         * m4/wcscpy.m4: New file.
53494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
53495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
53496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
53497         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
53498         * doc/posix-functions/wcscpy.texi: Mention the new module.
53500 2011-02-05  Bruno Haible  <bruno@clisp.org>
53502         New module 'wcsnlen'.
53503         * modules/wcsnlen: New file.
53504         * lib/wchar.in.h (wcsnlen): New declaration.
53505         * lib/wcsnlen.c: New file.
53506         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
53507         * m4/wcsnlen.m4: New file.
53508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
53509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
53510         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
53511         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
53512         * doc/posix-functions/wcsnlen.texi: Mention the new module.
53514 2011-02-05  Bruno Haible  <bruno@clisp.org>
53516         New module 'wcslen'.
53517         * modules/wcslen: New file.
53518         * lib/wchar.in.h (wcslen): New declaration.
53519         * lib/wcslen.c: New file.
53520         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
53521         * m4/wcslen.m4: New file.
53522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
53523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
53524         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
53525         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
53526         * doc/posix-functions/wcslen.texi: Mention the new module.
53528 2011-02-05  Bruno Haible  <bruno@clisp.org>
53530         New module 'wmemset'.
53531         * modules/wmemset: New file.
53532         * lib/wchar.in.h (wmemset): New declaration.
53533         * lib/wmemset.c: New file.
53534         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
53535         * m4/wmemset.m4: New file.
53536         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
53537         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
53538         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
53539         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
53540         * doc/posix-functions/wmemset.texi: Mention the new module.
53542 2011-02-05  Bruno Haible  <bruno@clisp.org>
53544         New module 'wmemmove'.
53545         * modules/wmemmove: New file.
53546         * lib/wchar.in.h (wmemmove): New declaration.
53547         * lib/wmemmove.c: New file.
53548         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
53549         * m4/wmemmove.m4: New file.
53550         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
53551         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
53552         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
53553         HAVE_WMEMMOVE.
53554         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
53555         * doc/posix-functions/wmemmove.texi: Mention the new module.
53557 2011-02-05  Bruno Haible  <bruno@clisp.org>
53559         New module 'wmemcpy'.
53560         * modules/wmemcpy: New file.
53561         * lib/wchar.in.h (wmemcpy): New declaration.
53562         * lib/wmemcpy.c: New file.
53563         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
53564         * m4/wmemcpy.m4: New file.
53565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
53566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
53567         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
53568         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
53569         * doc/posix-functions/wmemcpy.texi: Mention the new module.
53571 2011-02-05  Bruno Haible  <bruno@clisp.org>
53573         New module 'wmemcmp'.
53574         * modules/wmemcmp: New file.
53575         * lib/wchar.in.h (wmemcmp): New declaration.
53576         * lib/wmemcmp.c: New file.
53577         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
53578         * m4/wmemcmp.m4: New file.
53579         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
53580         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
53581         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
53582         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
53583         * doc/posix-functions/wmemcmp.texi: Mention the new module.
53585 2011-02-07  Jim Meyering  <meyering@redhat.com>
53587         di-set, ino-map: new modules, from coreutils
53588         * lib/di-set.c: New file.
53589         * lib/di-set.h: Likewise.
53590         * lib/ino-map.c: Likewise.
53591         * lib/ino-map.h: Likewise.
53592         * modules/di-set: Likewise.
53593         * modules/di-set-tests: Likewise.
53594         * modules/ino-map: Likewise.
53595         * modules/ino-map-tests: Likewise.
53596         * tests/test-di-set.c: Likewise.
53597         * tests/test-ino-map.c: Likewise.
53599 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
53601         getloadavg: merge minor changes from Emacs
53603         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
53604         (getloadavg): Use memset, not bzero.
53606         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
53607         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
53608         clash (bug#86).
53610 2010-11-14  Bruno Haible  <bruno@clisp.org>
53612         Allow multiple gnulib generated replacements to coexist.
53613         * lib/getopt.in.h (struct option): Avoid identical redefinition.
53614         * lib/inttypes.in.h (imaxdiv_t): Likewise.
53615         * lib/langinfo.in.h (nl_item): Likewise.
53616         * lib/math.in.h (_NaN, NAN): Likewise.
53617         * lib/netdb.in.h (struct addrinfo): Likewise.
53618         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
53619         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
53620         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
53621         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
53622         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
53623         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
53624         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
53625         pthread_mutexattr_init, pthread_mutexattr_settype,
53626         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
53627         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
53628         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
53629         pthread_spin_trylock, pthread_spin_unlock): Likewise.
53630         * lib/sched.in.h (struct sched_param): Likewise.
53631         * lib/se-selinux.in.h (security_class_t, security_context_t,
53632         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
53633         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
53634         lsetfilecon, fsetfilecon, security_check_context,
53635         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
53636         Likewise.
53637         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
53638         Likewise.
53639         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
53640         _gl_function_taking_int_returning_void_t, union sigval,
53641         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
53642         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
53643         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
53644         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
53645         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
53646         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
53647         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
53648         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
53649         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
53650         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
53651         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
53652         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
53653         socklen_t, rpl_fd_isset): Likewise.
53654         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
53655         * lib/sys_time.in.h (struct timeval): Likewise.
53656         * lib/sys_times.in.h (struct tms): Likewise.
53657         * lib/sys_utsname.in.h (struct utsname):
53658         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
53659         * lib/unistd.in.h (getpagesize): Likewise.
53660         * lib/wchar.in.h (mbstate_t): Likewise.
53661         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53662         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
53663         towlower, towupper): Likewise.
53664         Reported by Sam Steingold <sds@gnu.org>.
53666 2011-02-05  Eric Blake  <eblake@redhat.com>
53668         unsetenv: work around Haiku issues
53669         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
53670         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
53672 2010-12-30  Bruce Korb  <bkorb@gnu.org>
53674         libposix: avoid calling error() within libposix
53675         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
53676         is defined.
53678 2011-02-05  Eric Blake  <eblake@redhat.com>
53680         strerror_r-posix: port to cygwin
53681         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
53682         implementation.
53683         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
53684         * tests/test-strerror_r.c (main): Fix test.
53685         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
53686         issue.
53688 2011-02-05  Bruno Haible  <bruno@clisp.org>
53690         New module 'wmemchr'.
53691         * modules/wmemchr: New file.
53692         * lib/wchar.in.h (wmemchr): New declaration.
53693         * lib/wmemchr.c: New file.
53694         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
53695         * m4/wmemchr.m4: New file.
53696         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
53697         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
53698         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
53699         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
53700         * doc/posix-functions/wmemchr.texi: Mention the new module.
53702 2011-02-04  Eric Blake  <eblake@redhat.com>
53704         fdopendir: detect FreeBSD bug
53705         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
53706         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
53708 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53710         stdbool: do not define HAVE_STDBOOL_H
53711         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
53712         AC_HEADER_STDBOOL.  All uses changed.  Do not define
53713         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
53714         imported from the latest Autoconf git.  It was motivated by Emacs,
53715         which uses gnulib but does not need HAVE_STDBOOL_H.
53717 2011-02-04  Bruno Haible  <bruno@clisp.org>
53719         wcsnrtombs: Prepare for new module wwcsnrtombs.
53720         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
53721         * lib/wcsnrtombs.c: Include it.
53722         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
53724         wcsrtombs: Prepare for new module wwcsrtombs.
53725         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
53726         * lib/wcsrtombs.c: Include it.
53727         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
53729         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
53730         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
53731         * lib/mbsnrtowcs.c: Include it.
53732         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
53734         mbsrtowcs: Prepare for new module mbsrtowwcs.
53735         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
53736         * lib/mbsrtowcs.c: Include it.
53737         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
53739 2011-02-04  Bruno Haible  <bruno@clisp.org>
53741         vasnprintf: Reduce use of malloc for small format strings.
53742         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
53743         (arguments): Add room for the first 7 arguments.
53744         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
53745         (char_directives, u8_directives, u16_directives, u32_directives): Add
53746         room for the first 7 directives.
53747         * lib/printf-parse.c: Include <string.h>.
53748         (PRINTF_PARSE): Change memory handling code so that it uses the first
53749         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
53750         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
53751         Reported by Pádraig Brady <P@draigbrady.com>.
53753 2011-01-31  Eric Blake  <eblake@redhat.com>
53755         dup2: work around Haiku bug
53756         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
53757         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
53758         * doc/posix-functions/dup2.texi (dup2): Document the bug.
53759         * tests/test-dup2.c (main): Enhance test.
53761 2011-01-31  Simon Josefsson  <simon@josefsson.org>
53763         doc: off_t is not available in eglibc 2.11.2 stdio.h.
53764         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
53765         declared by eglibc 2.11.2.
53766         * lib/stdio.in.h: Likewise.
53768 2011-01-31  Eric Blake  <eblake@redhat.com>
53770         ignore-value: add missing test dependency
53771         * tests/test-ignore-value.c: Revert previous change; stdio.h
53772         provides off_t.
53773         * modules/ignore-value-tests (Depends-on): Add missing dependency.
53775 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53777         mktime: clarify long_int width checking
53778         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
53779         the top level, to make it clearer that the assumption about
53780         long_int width is being checked.  See
53781         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
53783 2011-01-30  Simon Josefsson  <simon@josefsson.org>
53785         ignore-value: Fix self-test.
53786         * tests/test-ignore-value.c: Include sys/types.h for off_t.
53788 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53790         TYPE_MAXIMUM: avoid theoretically undefined behavior
53791         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
53792         negative number, which the C Standard says has undefined behavior.
53793         In practice this is not a problem, but might as well do it by the book.
53794         Reported by Rich Felker and Eric Blake; see
53795         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
53796         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
53797         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53798         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53799         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
53800         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53801         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
53803         mktime: #undef mktime before #defining it
53804         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
53806         mktime: systematically normalize tm_isdst comparisons
53807         * lib/mktime.c (isdst_differ): New function.
53808         (__mktime_internal): Use it systematically for all isdst comparisons.
53809         This completes the fix for libc BZ #6723, and removes the need for
53810         normalizing tm_isdst.  See
53811         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
53812         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
53814         mktime: fix some integer overflow issues and sidestep the rest
53816         This was prompted by a bug report by Benjamin Lindner for MinGW
53817         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
53818         His bug is due to signed integer overflow (0 - INT_MIN), and I
53819         I scanned through mktime.c looking for other integer overflow
53820         problems, fixing all the bugs I found.
53822         Although the C Standard says the resulting code is still not safe
53823         in the presence of integer overflow, in practice it should be good
53824         enough for all real-world two's-complement implementations, except
53825         for debugging environments that deliberately trap on integer
53826         overflow (e.g., gcc -ftrapv).
53828         * lib/mktime.c (WRAPV): New macro.
53829         (SHR): Also check that long_int and time_t shift right in the
53830         usual way, before using the fast-but-unportable method.
53831         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
53832         used.  The code already assumed two's complement, so there's
53833         no need to test for alternatives.  All uses removed.
53834         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
53835         the C standard.  Problem reported by Rich Felker in
53836         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
53837         (twos_complement_arithmetic): Also check long_int and time_t.
53838         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
53839         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
53840         (__mktime_internal): Avoid integer overflow with unary subtraction
53841         in two instances where -1 - X is an adequate replacement for -X,
53842         since the calculations are approximate.
53844 2011-01-29  Eric Blake  <eblake@redhat.com>
53846         mktime: avoid infinite loop
53847         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
53848         type; behavior is still undefined but portable to all known targets.
53849         Reported by Rich Felker.
53851 2011-01-29  Simon Josefsson  <simon@josefsson.org>
53853         rename, unlink, same-inode: Relicense.
53854         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
53855         * modules/unlink (License): Likewise.
53856         * modules/same-inode (License): Likewise.
53858 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53860         mktime: avoid problems on NetBSD 5 / i386
53861         * lib/mktime.c (long_int): New type.  This works around a problem
53862         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
53863         but time_t is 64 bits, and where I expect the existing code is
53864         wrong in some cases.
53865         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
53866         (ydhms_diff): Bring back the compile-time check for wide-enough
53867         year and yday.
53869         mktime: fix misspelling in comment
53870         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
53871         This merges all recent glibc changes of importance.
53873 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53875         move-if-change: cope with concurrent mv of identical file.
53876         * build-aux/move-if-change (CMPPROG): Accept environment
53877         variable as an override for `cmp'.
53878         (usage): Document CMPPROG.
53879         Adjust comparison to drop stdout.  Cope with failure of mv if
53880         the target file exists and is identical to the source, for
53881         parallel builds.
53882         Report from H.J. Lu against binutils in PR binutils/12283.
53884 2011-01-28  Bruce Korb  <bkorb@gnu.org>
53886         * users.txt: Mention sharutils.
53888 2011-01-28  Simon Josefsson  <simon@josefsson.org>
53890         * users.txt: Mention OATH Toolkit.
53892 2011-01-27  Bruno Haible  <bruno@clisp.org>
53894         Prepare for supporting FreeBSD 10.
53895         * build-aux/config.libpath: Remove handling of freebsd1*.
53897 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
53899         Prepare for supporting FreeBSD 10.
53900         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
53901         match FreeBSD 10.0.
53903 2011-01-27  Bruno Haible  <bruno@clisp.org>
53905         vma-iter, get-rusage-as: Add OpenBSD support.
53906         * modules/vma-iter (configure.ac): Test for mquery.
53907         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
53908         * lib/vma-iter.c: Include <sys/mman.h>.
53909         (vma_iterate): Add an implementation based on mquery().
53910         * lib/resource-ext.h (get_rusage_as): Update comments.
53911         * lib/get-rusage-as.c: Likewise.
53912         * lib/get-rusage-data.c: Likewise.
53914 2011-01-26  Karl Berry  <karl@gnu.org>
53916         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
53917         variables to make it easier to override the makeinfo program used.
53919 2011-01-26  Eric Blake  <eblake@redhat.com>
53921         fcntl: work around Haiku F_DUPFD bugs
53922         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
53923         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
53924         cloexec bit on duplication.
53925         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
53927 2011-01-26  Bruno Haible  <bruno@clisp.org>
53929         Enable memory leak tests on AIX.
53930         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
53931         * tests/test-fprintf-posix3.c (main): Likewise.
53933 2011-01-26  Bruno Haible  <bruno@clisp.org>
53935         Tests for module 'get-rusage-data'.
53936         * modules/get-rusage-data-tests: New file.
53937         * tests/test-get-rusage-data.c: New file.
53939         New module 'get-rusage-data'.
53940         * lib/resource-ext.h (get_rusage_data): New declaration.
53941         * lib/get-rusage-data.c: New file.
53942         * modules/get-rusage-data: New file.
53944 2011-01-25  Bruno Haible  <bruno@clisp.org>
53946         get-rusage-as: Allow for easier testing.
53947         * lib/resource-ext.h (get_rusage_as): Add comment.
53948         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
53949         (main): New function for interactive testing.
53951 2011-01-25  Bruno Haible  <bruno@clisp.org>
53953         vma-iter: Treat Haiku like BeOS.
53954         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
53955         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
53957 2011-01-25  Eric Blake  <eblake@redhat.com>
53959         c-stack: fix regression on cygwin when libsigsegv is present
53960         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
53962 2011-01-24  Bruno Haible  <bruno@clisp.org>
53964         vma-iter: Avoid empty intervals.
53965         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
53966         on an empty interval.
53968 2011-01-24  Jim Meyering  <meyering@redhat.com>
53970         u64: remove unnecessary #include
53971         * lib/u64.h: Don't include <stddef.h>.  It was not used.
53973 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53975         Allow the user to avoid the HAVE_RAW_DECL_* macros.
53976         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
53978 2011-01-23  Bruno Haible  <bruno@clisp.org>
53980         New module 'vma-iter'.
53981         * lib/vma-iter.h: New file.
53982         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
53983         * modules/vma-iter: New file.
53984         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
53985         for get_rusage_as_via_iterator.
53986         (vma_iterate_callback): New function.
53987         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
53988         * modules/get-rusage-as (Depends-on): Add vma-iter.
53990 2011-01-23  Bruno Haible  <bruno@clisp.org>
53992         uninorm: Tweak includes.
53993         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
53994         Reported by Jim Meyering.
53996 2011-01-23  Bruno Haible  <bruno@clisp.org>
53998         get-rusage-as: Improve on NetBSD.
53999         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
54000         /proc, like on FreeBSD.
54002 2011-01-23  Jim Meyering  <meyering@redhat.com>
54004         xreadlink.h: remove unnecessary #include
54005         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
54007         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
54008         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
54010 2011-01-23  Bruno Haible  <bruno@clisp.org>
54012         get-rusage-as: Fix bug.
54013         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
54014         original limit when aborting the first loop.
54016 2011-01-23  Bruno Haible  <bruno@clisp.org>
54018         wctype: Ensure valid C syntax.
54019         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
54020         unconditionally, instead of gl_NEXT_HEADERS conditionally.
54022 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54024         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
54025         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
54026         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
54027         as they are needed only for configure's test case.
54028         This removes two unnecessary symbols from config.h.
54030         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
54031         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
54032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
54033         AC_CHECK_HEADERS_ONCE on a header that we also invoke
54034         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
54035         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
54036         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
54037         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
54038         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
54039         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
54040         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
54041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54042         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54043         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54044         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
54045         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
54046         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
54047         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
54049 2011-01-21  Eric Blake  <eblake@redhat.com>
54051         maintainer-makefile: work with older git for submodule check
54052         * top/maint.mk (public-submodule-commit): Rewrite to avoid
54053         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
54054         Reported by Matthias Bolte.
54056         bootstrap: minor portability fixes
54057         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
54058         (usage): Omit leading capital and trailing . on help phrases, per
54059         GNU Coding Standards.
54060         (check_versions, top level): Prefix messages with script name.
54062 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
54064         bootstrap: support --no-git option
54065         * build-aux/bootstrap: Add --no-git option, to be used when
54066         --gnulib-srcdir points to the exact desired checkout.
54068 2011-01-21  Eric Blake  <eblake@redhat.com>
54070         strerror_r-posix: work with glibc 2.13
54071         * lib/strerror_r.c (strerror_r): Fix return type.
54073 2011-01-21  Pádraig Brady  <P@draigBrady.com>
54074             Bruno Haible  <bruno@clisp.org>
54076         uN_strstr: New unit tests.
54077         * modules/unistr/u8-strstr-tests: New file.
54078         * modules/unistr/u16-strstr-tests: New file.
54079         * modules/unistr/u32-strstr-tests: New file.
54080         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
54081         * tests/unistr/test-u8-strstr.c: New file.
54082         * tests/unistr/test-u16-strstr.c: New file.
54083         * tests/unistr/test-u32-strstr.c: New file.
54085 2011-01-21  Pádraig Brady  <P@draigBrady.com>
54086             Bruno Haible  <bruno@clisp.org>
54088         Make uN_strstr functions O(n) worst-case.
54089         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
54090         16-bit and 32-bit unit cases, use the unibyte algorithm from
54091         lib/mbsstr.c.
54092         * lib/unistr/u8-strstr.c: Include <string.h>.
54093         (UNIT_IS_UINT8_T): New macro.
54094         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
54095         (U_STRLEN, U_STRNLEN): New macros.
54096         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
54097         (U_STRLEN, U_STRNLEN): New macros.
54098         * modules/unistr/u8-strstr (Depends-on): Add strstr.
54099         (configure.ac): Update required libunistring version.
54100         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
54101         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
54102         malloca.
54103         (configure.ac): Update required libunistring version.
54104         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
54105         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
54106         malloca.
54107         (configure.ac): Update required libunistring version.
54109 2011-01-21  Pádraig Brady  <P@draigBrady.com>
54110             Bruno Haible  <bruno@clisp.org>
54112         Prepare for faster uN_strstr functions.
54113         * lib/str-kmp.h: Support definable UNITs.
54114         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
54115         needle_len argument.
54116         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
54117         * lib/mbscasestr.c (mbscasestr): Likewise.
54119 2011-01-21  Pádraig Brady  <P@draigBrady.com>
54121         malloca-tests: make faster by unsetting MALLOC_PERTURB_
54122         * tests/test-malloca.c (main): Unset the environment variable
54123         to greatly speed up the test.
54124         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
54125         * modules/malloca-tests: Depend on unsetenv.
54127 2011-01-21  Pádraig Brady  <P@draigBrady.com>
54129         ignore-value: remove stdint dependency
54130         * lib/ignore-value.h: Remove <stdint.h>
54131         * modules/ignore-value: Remove stdint dependency.
54133 2011-01-21  Jim Meyering  <meyering@redhat.com>
54135         maint.mk: adjust variable name to be consistent with other gl_ vars
54136         * top/maint.mk (gl_public_submodule_commit): Rename the variable
54137         to be lower case.
54139 2011-01-20  Jim Meyering  <meyering@redhat.com>
54141         maint.mk: make "check" depend on public-submodule-commit by default
54142         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
54144 2011-01-20  Bruno Haible  <bruno@clisp.org>
54146         mbfile, mbiter: Complete change from 2008-12-21.
54147         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
54148         * m4/mbiter.m4 (gl_MBITER): Likewise.
54150 2011-01-20  Jim Meyering  <meyering@redhat.com>
54152         init.sh: insert space between each function name and "()"
54153         * tests/init.sh: Make it a little easier to see that a function's
54154         name is "warn_", and not "warn" when looking at the first part of
54155         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
54157 2011-01-20  Jim Meyering  <meyering@redhat.com>
54159         mountlist: clean up code formatting
54160         * lib/mountlist.c (read_file_system_list): Split a long line,
54161         correct bracing style, use NULL in place of "(struct statfs *)0",
54162         don't parenthesize return value, add spaces around "=" and after
54163         ";-in-for-stmt".
54165 2011-01-14  Markus Duft  <mduft@gentoo.org>
54167         mountlist: add support for Interix
54168         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
54169         Apply statvfs to all entries of /dev/fs.
54170         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
54171         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
54173 2011-01-20  Jim Meyering  <meyering@redhat.com>
54175         maint.mk: improve the public-submodule-commit rule
54176         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
54177         to suppress printing of its commands... unless V=1.
54178         Add git submodule's --quiet option to suppress printing of e.g.,
54179         "Entering gnulib" output.
54180         "cd" into $(srcdir) before running git submodule.
54182 2011-01-20  Bruno Haible  <bruno@clisp.org>
54184         include_next: Fix bug introduced on 2011-01-18.
54185         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
54186         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
54187         ac_cv_header_... variable if the second argument is not 'check'.
54188         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
54189         gl_NEXT_HEADERS_INTERNAL.
54191 2011-01-20  Bruno Haible  <bruno@clisp.org>
54193         Allow the user to avoid the GNULIB_TEST_* macros.
54194         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
54195         Suggested by Paul Eggert.
54197 2011-01-14  Jim Meyering  <meyering@redhat.com>
54199         bootstrap: avoid failure when there is no .gitmodules file
54200         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
54201         has been assigned to, even when its value is the empty string.
54202         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
54203         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
54204         Reported by John W. Eaton <jwe@gnu.org>.
54206 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54208         assume <ctype.h>, ..., <time.h> exist
54209         For years gnulib has been assuming the existence of the headers
54210         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
54211         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
54212         them, since they don't appear to be needed.
54213         * README (Portability guidelines): Document this.
54214         * lib/flock.c: Assume <fcntl.h> exists.
54215         * lib/regex_internal.h: Assume <locale.h> exists.
54216         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
54217         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
54218         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
54219         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
54220         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
54221         * m4/regex.m4 (gl_REGEX): Likewise.
54222         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
54223         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
54224         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
54225         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
54226         * tests/test-argp.c: Likewise.
54227         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
54229         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
54230         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
54231         AA_APPLE_UNIVERSAL_BUILD.  See
54232         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
54233         * NEWS: Document this.
54235 2011-01-19  Eric Blake  <eblake@redhat.com>
54237         c-stack: assume stack overflow if SA_SIGINFO unsupported
54238         * lib/c-stack.c (SIGACTION_WORKS): Rename...
54239         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
54240         sigaction will work.
54241         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
54242         behavior match Linux.
54243         * tests/test-c-stack.c (main): Prefer NULL for pointers.
54245         stdbool-tests: accommodate Haiku
54246         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
54248         binary-io: fix O_TEXT on Haiku
54249         * modules/binary-io (Depends-on): Add fcntl-h.
54250         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
54251         than blindly undefining O_TEXT.
54252         Reported by Scott McCreary.
54254 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54256         include_next: do not check for standard headers like stddef.h
54258         I found this problem when modifying Emacs to use gnulib.
54259         I noticed that it added HAVE_STDDEF_H to config.h, even though
54260         gnulib always assumes <stddef.h> exists as per README and this
54261         symbol is unnecessary.
54262         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
54263         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
54264         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
54265         faster for headers like stddef.h that are known to exist.
54266         (gl_CHECK_NEXT_HEADERS): Use it.
54267         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
54268         rather than gl_CHECK_NEXT_HEADERS.
54269         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
54270         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
54272 2011-01-18  Eric Blake  <eblake@redhat.com>
54274         ansi-c++-opt: skip C++ dependency style if C++ is unused
54275         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
54276         tests when we know C++ compilation is not desired.
54277         Reported by Scott McCreary.
54279 2011-01-18  Bruno Haible  <bruno@clisp.org>
54281         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
54282         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
54283         (main): Perform test also when getrlimit and setrlimit don't exist or
54284         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
54285         limiting the address space size using setrlimit, compare the address
54286         space size before and after the test.
54287         * tests/test-dprintf-posix2.c: Likewise.
54288         * tests/test-fprintf-posix3.sh: Update skip messages.
54289         * tests/test-dprintf-posix2.sh: Likewise.
54290         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
54291         * modules/dprintf-posix-tests (Depends-on): Likewise.
54292         Reported by Bruce Korb <bkorb@gnu.org> and
54293         Gary V. Vaughan <gary@gnu.org>.
54295 2011-01-18  Bruno Haible  <bruno@clisp.org>
54297         get-rusage-as: Improvement for Cygwin.
54298         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
54299         areas that are merely reserved.
54301 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54303         strftime: remove dependencies on multibyte modules
54305         strftime depended on mbrlen, mbsinit, and wchar, but these modules
54306         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
54307         only if __osf__ is defined, and I suspect OSF doesn't need these
54308         other modules.  If my guess is wrong, we'll need to come up with a
54309         variant of strftime that doesn't need the multibyte modules.
54311         I discovered this problem when attempting modify Emacs to use the
54312         strftime module.  With the previous gnulib, this caused Emacs to
54313         need 31 new files, ranging from lib/config.charset to
54314         m4/wint_t.m4.  This was overkill and I expect would be offputting
54315         to the Emacs maintainers.  After this change, only 6 new files are
54316         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
54317         stdbool.m4, and tm_gmtoff.m4.
54319         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
54320         Suggested by Bruno Haible in
54321         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
54322         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
54323         and do not check for wchar.h.
54324         * modules/strftime (Files): Remove m4/mbstate_t.m4.
54325         (Depends-on): Remove mbrlen, mbsinit, wchar.
54327 2011-01-18  Bruno Haible  <bruno@clisp.org>
54329         Tests for module 'get-rusage-as'.
54330         * modules/get-rusage-as-tests: New file.
54331         * tests/test-get-rusage-as.c: New file.
54333         New module 'get-rusage-as'.
54334         * modules/get-rusage-as: New file.
54335         * lib/resource-ext.h: New file.
54336         * lib/get-rusage-as.c: New file.
54338 2011-01-17  Eric Blake  <eblake@redhat.com>
54340         sigaction: relax license from LGPLv3+ to LGPLv2+
54341         * modules/sigaction (License): Relax to LGPLv2+.
54343 2011-01-14  Bruno Haible  <bruno@clisp.org>
54345         filemode: Make function declarations usable in C++ mode.
54346         * lib/filemode.h: Enclose function declarations in extern "C" block.
54347         Reported by John W. Eaton <jwe@gnu.org>.
54349 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
54351         save-cwd: no longer include "xgetcwd.h"
54352         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
54353         This avoids a compilation failure in projects that use save-cwd
54354         without also using the xgetcwd module.
54356 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54358         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
54359         This is so that a program like Emacs, which needs only dtoastr,
54360         does not have to bother with distributing and compiling ftoastr
54361         and ldtoastr.
54362         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
54363         * modules/dtoastr, modules/ldtoastr: New files.
54364         * modules/ftoastr: Now works just for 'float'.
54365         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
54366         (Makefile.am): Remove ftoastr.h (not needed and no effect),
54367         dtoastr.c, ldtoastr.c.
54369 2011-01-11  Jim Meyering  <meyering@redhat.com>
54371         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
54372         There is no need to work around the lack of the fchdir function,
54373         since gnulib can now provide a replacement when required.
54374         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
54375         * modules/save-cwd (Depends-on): Add fchdir.
54377 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54379         openat, save-cwd: avoid xmalloc
54381         This removes a direct (but undocumented) dependency of openat on
54382         xalloc, along with an indirect dependency via save-cwd.  It also
54383         removes a dependency of save-cwd on xgetcwd, and thereby
54384         indirectly on xalloc.  This change causes the openat substitute
54385         to fall back on save_cwd when memory is tight, and for save_cwd to
54386         fail instead of dying when memory is tight, but that's good enough.
54387         Problem and initial idea for fix reported by Bastien Roucaries in
54388         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
54390         * lib/openat-proc.c: Include stdlib.h (for malloc), not
54391         xalloc.h (for xmalloc).
54392         (openat_proc_name): Use malloc, not xmalloc.
54393         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
54394         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
54396         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
54397         This avoids heap allocation for file names whose lengths are in
54398         the range 512..1023, with the upper bound increasing to at most
54399         4031 depending on the platform's PATH_MAX.  (We do not want
54400         pathmax.h here as it might supply a non-constant PATH_MAX.)
54401         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
54402         Perhaps they should be moved to malloca.h?
54403         (OPENAT_BUFFER_SIZE): Use them.
54405 2011-01-10  Bruno Haible  <bruno@clisp.org>
54407         doc: Update users.txt.
54408         * users.txt: Add recutils.
54410 2011-01-09  Karl Berry  <karl@gnu.org>
54412         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
54414         * doc/configmake.texi: New file.
54415         * doc/gnulib.texi: Include it.
54416         * modules/configmake: Move documentation from here.
54418 2011-01-09  Bruno Haible  <bruno@clisp.org>
54420         Update to Unicode 6.0.0.
54421         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
54422         (get_lbp): Update for Unicode 6.0.0.
54423         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
54424         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
54425         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
54426         U+11001, U+11038..U+11046. Remove U+06DE.
54427         (uc_width): Fix bounds of planes.
54428         * tests/uniwidth/test-uc_width2.sh: Same updates as in
54429         lib/uniwidth/width.c.
54430         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
54431         trailing whitespace removed.
54432         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
54433         without comments, but with the original copyright notice.
54434         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
54435         * lib/unicase/ignorable.h: Likewise.
54436         * lib/unicase/tocasefold.h: Likewise.
54437         * lib/unicase/tolower.h: Likewise.
54438         * lib/unicase/totitle.h: Likewise.
54439         * lib/unicase/toupper.h: Likewise.
54440         * lib/unictype/bidi_of.h: Likewise.
54441         * lib/unictype/blocks.h: Likewise.
54442         * lib/unictype/categ_C.h: Likewise.
54443         * lib/unictype/categ_Cn.h: Likewise.
54444         * lib/unictype/categ_L.h: Likewise.
54445         * lib/unictype/categ_Ll.h: Likewise.
54446         * lib/unictype/categ_Lm.h: Likewise.
54447         * lib/unictype/categ_Lo.h: Likewise.
54448         * lib/unictype/categ_Lu.h: Likewise.
54449         * lib/unictype/categ_M.h: Likewise.
54450         * lib/unictype/categ_Mc.h: Likewise.
54451         * lib/unictype/categ_Me.h: Likewise.
54452         * lib/unictype/categ_Mn.h: Likewise.
54453         * lib/unictype/categ_N.h: Likewise.
54454         * lib/unictype/categ_Nd.h: Likewise.
54455         * lib/unictype/categ_No.h: Likewise.
54456         * lib/unictype/categ_P.h: Likewise.
54457         * lib/unictype/categ_Po.h: Likewise.
54458         * lib/unictype/categ_S.h: Likewise.
54459         * lib/unictype/categ_Sc.h: Likewise.
54460         * lib/unictype/categ_Sk.h: Likewise.
54461         * lib/unictype/categ_Sm.h: Likewise.
54462         * lib/unictype/categ_So.h: Likewise.
54463         * lib/unictype/categ_of.h: Likewise.
54464         * lib/unictype/combining.h: Likewise.
54465         * lib/unictype/ctype_alnum.h: Likewise.
54466         * lib/unictype/ctype_alpha.h: Likewise.
54467         * lib/unictype/ctype_graph.h: Likewise.
54468         * lib/unictype/ctype_lower.h: Likewise.
54469         * lib/unictype/ctype_print.h: Likewise.
54470         * lib/unictype/ctype_punct.h: Likewise.
54471         * lib/unictype/ctype_upper.h: Likewise.
54472         * lib/unictype/decdigit.h: Likewise.
54473         * lib/unictype/digit.h: Likewise.
54474         * lib/unictype/numeric.h: Likewise.
54475         * lib/unictype/pr_alphabetic.h: Likewise.
54476         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
54477         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
54478         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
54479         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
54480         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
54481         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
54482         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
54483         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
54484         * lib/unictype/pr_case_ignorable.h: Likewise.
54485         * lib/unictype/pr_cased.h: Likewise.
54486         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
54487         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
54488         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
54489         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
54490         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
54491         * lib/unictype/pr_combining.h: Likewise.
54492         * lib/unictype/pr_composite.h: Likewise.
54493         * lib/unictype/pr_currency_symbol.h: Likewise.
54494         * lib/unictype/pr_decimal_digit.h: Likewise.
54495         * lib/unictype/pr_deprecated.h: Likewise.
54496         * lib/unictype/pr_format_control.h: Likewise.
54497         * lib/unictype/pr_grapheme_base.h: Likewise.
54498         * lib/unictype/pr_grapheme_extend.h: Likewise.
54499         * lib/unictype/pr_grapheme_link.h: Likewise.
54500         * lib/unictype/pr_id_continue.h: Likewise.
54501         * lib/unictype/pr_id_start.h: Likewise.
54502         * lib/unictype/pr_ideographic.h: Likewise.
54503         * lib/unictype/pr_lowercase.h: Likewise.
54504         * lib/unictype/pr_math.h: Likewise.
54505         * lib/unictype/pr_numeric.h: Likewise.
54506         * lib/unictype/pr_other_alphabetic.h: Likewise.
54507         * lib/unictype/pr_other_id_continue.h: Likewise.
54508         * lib/unictype/pr_other_math.h: Likewise.
54509         * lib/unictype/pr_punctuation.h: Likewise.
54510         * lib/unictype/pr_sentence_terminal.h: Likewise.
54511         * lib/unictype/pr_terminal_punctuation.h: Likewise.
54512         * lib/unictype/pr_unassigned_code_value.h: Likewise.
54513         * lib/unictype/pr_unified_ideograph.h: Likewise.
54514         * lib/unictype/pr_uppercase.h: Likewise.
54515         * lib/unictype/pr_xid_continue.h: Likewise.
54516         * lib/unictype/pr_xid_start.h: Likewise.
54517         * lib/unictype/scripts.h: Likewise.
54518         * lib/unictype/scripts_byname.gperf: Likewise.
54519         * lib/unictype/sy_java_ident.h: Likewise.
54520         * lib/unigbrk/gbrkprop.h: Likewise.
54521         * lib/unilbrk/lbrkprop1.h: Likewise.
54522         * lib/unilbrk/lbrkprop2.h: Likewise.
54523         * lib/uninorm/decomposition-table2.h: Likewise.
54524         * lib/uniwbrk/wbrkprop.h: Likewise.
54525         * tests/unicase/test-cased.c: Likewise.
54526         * tests/unicase/test-ignorable.c: Likewise.
54527         * tests/unicase/test-uc_tolower.c: Likewise.
54528         * tests/unicase/test-uc_totitle.c: Likewise.
54529         * tests/unicase/test-uc_toupper.c: Likewise.
54530         * tests/unictype/test-categ_C.c: Likewise.
54531         * tests/unictype/test-categ_Cn.c: Likewise.
54532         * tests/unictype/test-categ_L.c: Likewise.
54533         * tests/unictype/test-categ_Ll.c: Likewise.
54534         * tests/unictype/test-categ_Lm.c: Likewise.
54535         * tests/unictype/test-categ_Lo.c: Likewise.
54536         * tests/unictype/test-categ_Lu.c: Likewise.
54537         * tests/unictype/test-categ_M.c: Likewise.
54538         * tests/unictype/test-categ_Mc.c: Likewise.
54539         * tests/unictype/test-categ_Me.c: Likewise.
54540         * tests/unictype/test-categ_Mn.c: Likewise.
54541         * tests/unictype/test-categ_N.c: Likewise.
54542         * tests/unictype/test-categ_Nd.c: Likewise.
54543         * tests/unictype/test-categ_No.c: Likewise.
54544         * tests/unictype/test-categ_P.c: Likewise.
54545         * tests/unictype/test-categ_Po.c: Likewise.
54546         * tests/unictype/test-categ_S.c: Likewise.
54547         * tests/unictype/test-categ_Sc.c: Likewise.
54548         * tests/unictype/test-categ_Sk.c: Likewise.
54549         * tests/unictype/test-categ_Sm.c: Likewise.
54550         * tests/unictype/test-categ_So.c: Likewise.
54551         * tests/unictype/test-ctype_alnum.c: Likewise.
54552         * tests/unictype/test-ctype_alpha.c: Likewise.
54553         * tests/unictype/test-ctype_graph.c: Likewise.
54554         * tests/unictype/test-ctype_lower.c: Likewise.
54555         * tests/unictype/test-ctype_print.c: Likewise.
54556         * tests/unictype/test-ctype_punct.c: Likewise.
54557         * tests/unictype/test-ctype_upper.c: Likewise.
54558         * tests/unictype/test-decdigit.h: Likewise.
54559         * tests/unictype/test-digit.h: Likewise.
54560         * tests/unictype/test-numeric.h: Likewise.
54561         * tests/unictype/test-pr_alphabetic.c: Likewise.
54562         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
54563         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
54564         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
54565         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
54566         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
54567         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
54568         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
54569         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
54570         * tests/unictype/test-pr_case_ignorable.c: Likewise.
54571         * tests/unictype/test-pr_cased.c: Likewise.
54572         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
54573         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
54574         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
54575         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
54576         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
54577         * tests/unictype/test-pr_combining.c: Likewise.
54578         * tests/unictype/test-pr_composite.c: Likewise.
54579         * tests/unictype/test-pr_currency_symbol.c: Likewise.
54580         * tests/unictype/test-pr_decimal_digit.c: Likewise.
54581         * tests/unictype/test-pr_deprecated.c: Likewise.
54582         * tests/unictype/test-pr_format_control.c: Likewise.
54583         * tests/unictype/test-pr_grapheme_base.c: Likewise.
54584         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
54585         * tests/unictype/test-pr_grapheme_link.c: Likewise.
54586         * tests/unictype/test-pr_id_continue.c: Likewise.
54587         * tests/unictype/test-pr_id_start.c: Likewise.
54588         * tests/unictype/test-pr_ideographic.c: Likewise.
54589         * tests/unictype/test-pr_lowercase.c: Likewise.
54590         * tests/unictype/test-pr_math.c: Likewise.
54591         * tests/unictype/test-pr_numeric.c: Likewise.
54592         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
54593         * tests/unictype/test-pr_other_id_continue.c: Likewise.
54594         * tests/unictype/test-pr_other_math.c: Likewise.
54595         * tests/unictype/test-pr_punctuation.c: Likewise.
54596         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
54597         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
54598         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
54599         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
54600         * tests/unictype/test-pr_uppercase.c: Likewise.
54601         * tests/unictype/test-pr_xid_continue.c: Likewise.
54602         * tests/unictype/test-pr_xid_start.c: Likewise.
54603         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
54604         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
54605         changes.
54606         * lib/unictype/categ_Cc.h: Likewise.
54607         * lib/unictype/categ_Cf.h: Likewise.
54608         * lib/unictype/categ_Co.h: Likewise.
54609         * lib/unictype/categ_Cs.h: Likewise.
54610         * lib/unictype/categ_Lt.h: Likewise.
54611         * lib/unictype/categ_Nl.h: Likewise.
54612         * lib/unictype/categ_Pc.h: Likewise.
54613         * lib/unictype/categ_Pd.h: Likewise.
54614         * lib/unictype/categ_Pe.h: Likewise.
54615         * lib/unictype/categ_Pf.h: Likewise.
54616         * lib/unictype/categ_Pi.h: Likewise.
54617         * lib/unictype/categ_Ps.h: Likewise.
54618         * lib/unictype/categ_Z.h: Likewise.
54619         * lib/unictype/categ_Zl.h: Likewise.
54620         * lib/unictype/categ_Zp.h: Likewise.
54621         * lib/unictype/categ_Zs.h: Likewise.
54622         * lib/unictype/ctype_blank.h: Likewise.
54623         * lib/unictype/ctype_cntrl.h: Likewise.
54624         * lib/unictype/ctype_digit.h: Likewise.
54625         * lib/unictype/ctype_space.h: Likewise.
54626         * lib/unictype/ctype_xdigit.h: Likewise.
54627         * lib/unictype/mirror.h: Likewise.
54628         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
54629         * lib/unictype/pr_bidi_block_separator.h: Likewise.
54630         * lib/unictype/pr_bidi_common_separator.h: Likewise.
54631         * lib/unictype/pr_bidi_control.h: Likewise.
54632         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
54633         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
54634         * lib/unictype/pr_bidi_european_digit.h: Likewise.
54635         * lib/unictype/pr_bidi_pdf.h: Likewise.
54636         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
54637         * lib/unictype/pr_bidi_whitespace.h: Likewise.
54638         * lib/unictype/pr_dash.h: Likewise.
54639         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
54640         * lib/unictype/pr_diacritic.h: Likewise.
54641         * lib/unictype/pr_extender.h: Likewise.
54642         * lib/unictype/pr_hex_digit.h: Likewise.
54643         * lib/unictype/pr_hyphen.h: Likewise.
54644         * lib/unictype/pr_ids_binary_operator.h: Likewise.
54645         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
54646         * lib/unictype/pr_ignorable_control.h: Likewise.
54647         * lib/unictype/pr_iso_control.h: Likewise.
54648         * lib/unictype/pr_join_control.h: Likewise.
54649         * lib/unictype/pr_left_of_pair.h: Likewise.
54650         * lib/unictype/pr_line_separator.h: Likewise.
54651         * lib/unictype/pr_logical_order_exception.h: Likewise.
54652         * lib/unictype/pr_non_break.h: Likewise.
54653         * lib/unictype/pr_not_a_character.h: Likewise.
54654         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
54655         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
54656         * lib/unictype/pr_other_id_start.h: Likewise.
54657         * lib/unictype/pr_other_lowercase.h: Likewise.
54658         * lib/unictype/pr_other_uppercase.h: Likewise.
54659         * lib/unictype/pr_paired_punctuation.h: Likewise.
54660         * lib/unictype/pr_paragraph_separator.h: Likewise.
54661         * lib/unictype/pr_pattern_syntax.h: Likewise.
54662         * lib/unictype/pr_pattern_white_space.h: Likewise.
54663         * lib/unictype/pr_private_use.h: Likewise.
54664         * lib/unictype/pr_quotation_mark.h: Likewise.
54665         * lib/unictype/pr_radical.h: Likewise.
54666         * lib/unictype/pr_soft_dotted.h: Likewise.
54667         * lib/unictype/pr_space.h: Likewise.
54668         * lib/unictype/pr_titlecase.h: Likewise.
54669         * lib/unictype/pr_variation_selector.h: Likewise.
54670         * lib/unictype/pr_white_space.h: Likewise.
54671         * lib/unictype/pr_zero_width.h: Likewise.
54672         * lib/unictype/sy_c_ident.h: Likewise.
54673         * lib/unictype/sy_c_whitespace.h: Likewise.
54674         * lib/unictype/sy_java_whitespace.h: Likewise.
54675         * lib/uninorm/composition-table.gperf: Likewise.
54676         * lib/uninorm/decomposition-table1.h: Likewise.
54677         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
54678         LB8.
54679         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
54680         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
54681         * modules/unictype/*: Bump version number of expected libunistring
54682         version.
54684 2011-01-09  Bruno Haible  <bruno@clisp.org>
54686         Update to Unicode 5.2.0.
54687         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
54688         trailing whitespace removed.
54690 2011-01-09  Bruno Haible  <bruno@clisp.org>
54692         New Unicode character properties, from Unicode 5.2.0.
54693         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
54694         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
54695         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
54696         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
54697         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
54698         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
54699         uc_is_property_cased, uc_is_property_case_ignorable,
54700         uc_is_property_changes_when_lowercased,
54701         uc_is_property_changes_when_uppercased,
54702         uc_is_property_changes_when_titlecased,
54703         uc_is_property_changes_when_casefolded,
54704         uc_is_property_changes_when_casemapped): New declarations.
54705         * lib/unictype/pr_byname.gperf: Add the new properties.
54706         * modules/unictype/property-byname (Depends-on): Depend on the new
54707         properties modules.
54708         * modules/unictype/property-all (Depends-on): Likewise.
54709         * MODULES.html.sh (Unicode string functions): Add
54710         unictype/property-case-ignorable, unictype/property-cased,
54711         unictype/property-changes-when-casefolded,
54712         unictype/property-changes-when-casemapped,
54713         unictype/property-changes-when-lowercased,
54714         unictype/property-changes-when-titlecased,
54715         unictype/property-changes-when-uppercased.
54717         New module 'unictype/property-changes-when-casemapped'.
54718         * modules/unictype/property-changes-when-casemapped: New file.
54719         * lib/unictype/pr_changes_when_casemapped.c: New file.
54720         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
54721         generated by gen-uni-tables.
54722         * modules/unictype/property-changes-when-casemapped-tests: New file.
54723         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
54724         automatically generated by gen-uni-tables.
54726         New module 'unictype/property-changes-when-casefolded'.
54727         * modules/unictype/property-changes-when-casefolded: New file.
54728         * lib/unictype/pr_changes_when_casefolded.c: New file.
54729         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
54730         generated by gen-uni-tables.
54731         * modules/unictype/property-changes-when-casefolded-tests: New file.
54732         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
54733         automatically generated by gen-uni-tables.
54735         New module 'unictype/property-changes-when-titlecased'.
54736         * modules/unictype/property-changes-when-titlecased: New file.
54737         * lib/unictype/pr_changes_when_titlecased.c: New file.
54738         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
54739         generated by gen-uni-tables.
54740         * modules/unictype/property-changes-when-titlecased-tests: New file.
54741         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
54742         automatically generated by gen-uni-tables.
54744         New module 'unictype/property-changes-when-uppercased'.
54745         * modules/unictype/property-changes-when-uppercased: New file.
54746         * lib/unictype/pr_changes_when_uppercased.c: New file.
54747         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
54748         generated by gen-uni-tables.
54749         * modules/unictype/property-changes-when-uppercased-tests: New file.
54750         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
54751         automatically generated by gen-uni-tables.
54753         New module 'unictype/property-changes-when-lowercased'.
54754         * modules/unictype/property-changes-when-lowercased: New file.
54755         * lib/unictype/pr_changes_when_lowercased.c: New file.
54756         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
54757         generated by gen-uni-tables.
54758         * modules/unictype/property-changes-when-lowercased-tests: New file.
54759         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
54760         automatically generated by gen-uni-tables.
54762         New module 'unictype/property-case-ignorable'.
54763         * modules/unictype/property-case-ignorable: New file.
54764         * lib/unictype/pr_case_ignorable.c: New file.
54765         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
54766         by gen-uni-tables.
54767         * modules/unictype/property-case-ignorable-tests: New file.
54768         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
54769         generated by gen-uni-tables.
54771         New module 'unictype/property-cased'.
54772         * modules/unictype/property-cased: New file.
54773         * lib/unictype/pr_cased.c: New file.
54774         * lib/unictype/pr_cased.h: New file, automatically generated by
54775         gen-uni-tables.
54776         * modules/unictype/property-cased-tests: New file.
54777         * tests/unictype/test-pr_cased.c: New file, automatically generated by
54778         gen-uni-tables.
54780 2011-01-09  Bruno Haible  <bruno@clisp.org>
54782         Update to Unicode 5.2.0.
54783         * lib/gen-uni-tables.c (output_predicate, output_category,
54784         output_combclass, output_bidi_category, output_decimal_digit_test,
54785         output_decimal_digit, output_digit_test, output_digit,
54786         output_numeric_test, output_numeric, output_mirror, output_scripts,
54787         output_scripts_byname, output_blocks, output_ident_category): Fix
54788         comment header.
54789         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
54790         get_wbp.
54791         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
54792         items.
54793         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
54794         Changes_When_Lowercased, Changes_When_Uppercased,
54795         Changes_When_Titlecased, Changes_When_Casefolded,
54796         Changes_When_Casemapped.
54797         (is_property_alphabetic, is_property_default_ignorable_code_point):
54798         Update for Unicode 5.2.0.
54799         (is_property_cased, is_property_case_ignorable,
54800         is_property_changes_when_lowercased,
54801         is_property_changes_when_uppercased,
54802         is_property_changes_when_titlecased,
54803         is_property_changes_when_casefolded,
54804         is_property_changes_when_casemapped): New functions.
54805         (output_properties): Output also the properties cased, case_ignorable,
54806         changes_when_lowercased, changes_when_uppercased,
54807         changes_when_titlecased, changes_when_casefolded,
54808         changes_when_casemapped.
54809         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
54810         Unicode TR#11 revision 17 -> 19.
54811         (LBP_CP): New enumeration value.
54812         (LBP_*): Adjust values accordingly.
54813         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
54814         TR#14 revision 22 -> 24.
54815         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
54816         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
54817         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
54818         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
54819         is_WBP_MIDLETTER.
54820         (output_composition_tables): Allow for 24 bits instead of 16 bits in
54821         the code1 and code2 of each composition rule.
54822         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
54823         * lib/unicase/ignorable.h: Likewise.
54824         * lib/unicase/tocasefold.h: Likewise.
54825         * lib/unicase/tolower.h: Likewise.
54826         * lib/unicase/totitle.h: Likewise.
54827         * lib/unicase/toupper.h: Likewise.
54828         * lib/unictype/bidi_of.h: Likewise.
54829         * lib/unictype/blocks.h: Likewise.
54830         * lib/unictype/categ_C.h: Likewise.
54831         * lib/unictype/categ_Cf.h: Likewise.
54832         * lib/unictype/categ_Cn.h: Likewise.
54833         * lib/unictype/categ_L.h: Likewise.
54834         * lib/unictype/categ_Ll.h: Likewise.
54835         * lib/unictype/categ_Lm.h: Likewise.
54836         * lib/unictype/categ_Lo.h: Likewise.
54837         * lib/unictype/categ_Lu.h: Likewise.
54838         * lib/unictype/categ_M.h: Likewise.
54839         * lib/unictype/categ_Mc.h: Likewise.
54840         * lib/unictype/categ_Mn.h: Likewise.
54841         * lib/unictype/categ_N.h: Likewise.
54842         * lib/unictype/categ_Nd.h: Likewise.
54843         * lib/unictype/categ_Nl.h: Likewise.
54844         * lib/unictype/categ_No.h: Likewise.
54845         * lib/unictype/categ_P.h: Likewise.
54846         * lib/unictype/categ_Pd.h: Likewise.
54847         * lib/unictype/categ_Po.h: Likewise.
54848         * lib/unictype/categ_S.h: Likewise.
54849         * lib/unictype/categ_Sc.h: Likewise.
54850         * lib/unictype/categ_So.h: Likewise.
54851         * lib/unictype/categ_of.h: Likewise.
54852         * lib/unictype/combining.h: Likewise.
54853         * lib/unictype/ctype_alnum.h: Likewise.
54854         * lib/unictype/ctype_alpha.h: Likewise.
54855         * lib/unictype/ctype_graph.h: Likewise.
54856         * lib/unictype/ctype_lower.h: Likewise.
54857         * lib/unictype/ctype_print.h: Likewise.
54858         * lib/unictype/ctype_punct.h: Likewise.
54859         * lib/unictype/ctype_upper.h: Likewise.
54860         * lib/unictype/decdigit.h: Likewise.
54861         * lib/unictype/digit.h: Likewise.
54862         * lib/unictype/numeric.h: Likewise.
54863         * lib/unictype/pr_alphabetic.h: Likewise.
54864         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
54865         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
54866         * lib/unictype/pr_bidi_european_digit.h: Likewise.
54867         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
54868         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
54869         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
54870         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
54871         * lib/unictype/pr_combining.h: Likewise.
54872         * lib/unictype/pr_composite.h: Likewise.
54873         * lib/unictype/pr_currency_symbol.h: Likewise.
54874         * lib/unictype/pr_dash.h: Likewise.
54875         * lib/unictype/pr_decimal_digit.h: Likewise.
54876         * lib/unictype/pr_deprecated.h: Likewise.
54877         * lib/unictype/pr_diacritic.h: Likewise.
54878         * lib/unictype/pr_extender.h: Likewise.
54879         * lib/unictype/pr_grapheme_base.h: Likewise.
54880         * lib/unictype/pr_grapheme_extend.h: Likewise.
54881         * lib/unictype/pr_grapheme_link.h: Likewise.
54882         * lib/unictype/pr_id_continue.h: Likewise.
54883         * lib/unictype/pr_id_start.h: Likewise.
54884         * lib/unictype/pr_ideographic.h: Likewise.
54885         * lib/unictype/pr_ignorable_control.h: Likewise.
54886         * lib/unictype/pr_logical_order_exception.h: Likewise.
54887         * lib/unictype/pr_lowercase.h: Likewise.
54888         * lib/unictype/pr_numeric.h: Likewise.
54889         * lib/unictype/pr_other_alphabetic.h: Likewise.
54890         * lib/unictype/pr_punctuation.h: Likewise.
54891         * lib/unictype/pr_sentence_terminal.h: Likewise.
54892         * lib/unictype/pr_terminal_punctuation.h: Likewise.
54893         * lib/unictype/pr_unassigned_code_value.h: Likewise.
54894         * lib/unictype/pr_unified_ideograph.h: Likewise.
54895         * lib/unictype/pr_uppercase.h: Likewise.
54896         * lib/unictype/pr_xid_continue.h: Likewise.
54897         * lib/unictype/pr_xid_start.h: Likewise.
54898         * lib/unictype/pr_zero_width.h: Likewise.
54899         * lib/unictype/scripts.h: Likewise.
54900         * lib/unictype/scripts_byname.gperf: Likewise.
54901         * lib/unictype/sy_java_ident.h: Likewise.
54902         * lib/unigbrk/gbrkprop.h: Likewise.
54903         * lib/unilbrk/lbrkprop1.h: Likewise.
54904         * lib/unilbrk/lbrkprop2.h: Likewise.
54905         * lib/unilbrk/lbrktables.h: Likewise.
54906         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
54907         LBP_CP. Implement rule LB30.
54908         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
54909         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
54910         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
54911         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
54912         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
54913         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
54914         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
54915         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
54916         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
54917         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
54918         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
54919         bits instead of 16 bits in the code1 and code2 of each composition
54920         rule.
54921         (uc_composition): Update for Unicode 5.2.0.
54922         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
54923         * lib/uninorm/decomposition-table2.h: Likewise.
54924         * lib/uniwbrk/wbrkprop.h: Likewise.
54925         * tests/unicase/test-cased.c: Likewise.
54926         * tests/unicase/test-ignorable.c: Likewise.
54927         * tests/unicase/test-uc_tolower.c: Likewise.
54928         * tests/unicase/test-uc_totitle.c: Likewise.
54929         * tests/unicase/test-uc_toupper.c: Likewise.
54930         * tests/unictype/test-categ_C.c: Likewise.
54931         * tests/unictype/test-categ_Cf.c: Likewise.
54932         * tests/unictype/test-categ_Cn.c: Likewise.
54933         * tests/unictype/test-categ_L.c: Likewise.
54934         * tests/unictype/test-categ_Ll.c: Likewise.
54935         * tests/unictype/test-categ_Lm.c: Likewise.
54936         * tests/unictype/test-categ_Lo.c: Likewise.
54937         * tests/unictype/test-categ_Lu.c: Likewise.
54938         * tests/unictype/test-categ_M.c: Likewise.
54939         * tests/unictype/test-categ_Mc.c: Likewise.
54940         * tests/unictype/test-categ_Mn.c: Likewise.
54941         * tests/unictype/test-categ_N.c: Likewise.
54942         * tests/unictype/test-categ_Nd.c: Likewise.
54943         * tests/unictype/test-categ_Nl.c: Likewise.
54944         * tests/unictype/test-categ_No.c: Likewise.
54945         * tests/unictype/test-categ_P.c: Likewise.
54946         * tests/unictype/test-categ_Pd.c: Likewise.
54947         * tests/unictype/test-categ_Po.c: Likewise.
54948         * tests/unictype/test-categ_S.c: Likewise.
54949         * tests/unictype/test-categ_Sc.c: Likewise.
54950         * tests/unictype/test-categ_So.c: Likewise.
54951         * tests/unictype/test-ctype_alnum.c: Likewise.
54952         * tests/unictype/test-ctype_alpha.c: Likewise.
54953         * tests/unictype/test-ctype_graph.c: Likewise.
54954         * tests/unictype/test-ctype_lower.c: Likewise.
54955         * tests/unictype/test-ctype_print.c: Likewise.
54956         * tests/unictype/test-ctype_punct.c: Likewise.
54957         * tests/unictype/test-ctype_upper.c: Likewise.
54958         * tests/unictype/test-decdigit.h: Likewise.
54959         * tests/unictype/test-digit.h: Likewise.
54960         * tests/unictype/test-numeric.h: Likewise.
54961         * tests/unictype/test-pr_alphabetic.c: Likewise.
54962         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
54963         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
54964         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
54965         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
54966         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
54967         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
54968         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
54969         * tests/unictype/test-pr_combining.c: Likewise.
54970         * tests/unictype/test-pr_composite.c: Likewise.
54971         * tests/unictype/test-pr_currency_symbol.c: Likewise.
54972         * tests/unictype/test-pr_dash.c: Likewise.
54973         * tests/unictype/test-pr_decimal_digit.c: Likewise.
54974         * tests/unictype/test-pr_deprecated.c: Likewise.
54975         * tests/unictype/test-pr_diacritic.c: Likewise.
54976         * tests/unictype/test-pr_extender.c: Likewise.
54977         * tests/unictype/test-pr_grapheme_base.c: Likewise.
54978         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
54979         * tests/unictype/test-pr_grapheme_link.c: Likewise.
54980         * tests/unictype/test-pr_id_continue.c: Likewise.
54981         * tests/unictype/test-pr_id_start.c: Likewise.
54982         * tests/unictype/test-pr_ideographic.c: Likewise.
54983         * tests/unictype/test-pr_ignorable_control.c: Likewise.
54984         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
54985         * tests/unictype/test-pr_lowercase.c: Likewise.
54986         * tests/unictype/test-pr_numeric.c: Likewise.
54987         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
54988         * tests/unictype/test-pr_punctuation.c: Likewise.
54989         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
54990         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
54991         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
54992         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
54993         * tests/unictype/test-pr_uppercase.c: Likewise.
54994         * tests/unictype/test-pr_xid_continue.c: Likewise.
54995         * tests/unictype/test-pr_xid_start.c: Likewise.
54996         * tests/unictype/test-pr_zero_width.c: Likewise.
54997         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
54998         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
54999         changed behaviour: line breaking is now disallowed between a letter
55000         or '=' and '('.
55001         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55002         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55003         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55004         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
55005         * tests/uniwidth/test-uc_width2.sh: Same updates as in
55006         lib/uniwidth/width.c.
55007         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
55008         without comments, but with the original copyright notice.
55009         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
55010         changes.
55011         * lib/unictype/categ_Cc.h: Likewise.
55012         * lib/unictype/categ_Co.h: Likewise.
55013         * lib/unictype/categ_Cs.h: Likewise.
55014         * lib/unictype/categ_Lt.h: Likewise.
55015         * lib/unictype/categ_Me.h: Likewise.
55016         * lib/unictype/categ_Pc.h: Likewise.
55017         * lib/unictype/categ_Pe.h: Likewise.
55018         * lib/unictype/categ_Pf.h: Likewise.
55019         * lib/unictype/categ_Pi.h: Likewise.
55020         * lib/unictype/categ_Ps.h: Likewise.
55021         * lib/unictype/categ_Sk.h: Likewise.
55022         * lib/unictype/categ_Sm.h: Likewise.
55023         * lib/unictype/categ_Z.h: Likewise.
55024         * lib/unictype/categ_Zl.h: Likewise.
55025         * lib/unictype/categ_Zp.h: Likewise.
55026         * lib/unictype/categ_Zs.h: Likewise.
55027         * lib/unictype/ctype_blank.h: Likewise.
55028         * lib/unictype/ctype_cntrl.h: Likewise.
55029         * lib/unictype/ctype_digit.h: Likewise.
55030         * lib/unictype/ctype_space.h: Likewise.
55031         * lib/unictype/ctype_xdigit.h: Likewise.
55032         * lib/unictype/mirror.h: Likewise.
55033         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
55034         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
55035         * lib/unictype/pr_bidi_block_separator.h: Likewise.
55036         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
55037         * lib/unictype/pr_bidi_common_separator.h: Likewise.
55038         * lib/unictype/pr_bidi_control.h: Likewise.
55039         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
55040         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
55041         * lib/unictype/pr_bidi_pdf.h: Likewise.
55042         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
55043         * lib/unictype/pr_bidi_whitespace.h: Likewise.
55044         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
55045         * lib/unictype/pr_format_control.h: Likewise.
55046         * lib/unictype/pr_hex_digit.h: Likewise.
55047         * lib/unictype/pr_hyphen.h: Likewise.
55048         * lib/unictype/pr_ids_binary_operator.h: Likewise.
55049         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
55050         * lib/unictype/pr_iso_control.h: Likewise.
55051         * lib/unictype/pr_join_control.h: Likewise.
55052         * lib/unictype/pr_left_of_pair.h: Likewise.
55053         * lib/unictype/pr_line_separator.h: Likewise.
55054         * lib/unictype/pr_math.h: Likewise.
55055         * lib/unictype/pr_non_break.h: Likewise.
55056         * lib/unictype/pr_not_a_character.h: Likewise.
55057         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
55058         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
55059         * lib/unictype/pr_other_id_continue.h: Likewise.
55060         * lib/unictype/pr_other_id_start.h: Likewise.
55061         * lib/unictype/pr_other_lowercase.h: Likewise.
55062         * lib/unictype/pr_other_math.h: Likewise.
55063         * lib/unictype/pr_other_uppercase.h: Likewise.
55064         * lib/unictype/pr_paired_punctuation.h: Likewise.
55065         * lib/unictype/pr_paragraph_separator.h: Likewise.
55066         * lib/unictype/pr_pattern_syntax.h: Likewise.
55067         * lib/unictype/pr_pattern_white_space.h: Likewise.
55068         * lib/unictype/pr_private_use.h: Likewise.
55069         * lib/unictype/pr_quotation_mark.h: Likewise.
55070         * lib/unictype/pr_radical.h: Likewise.
55071         * lib/unictype/pr_soft_dotted.h: Likewise.
55072         * lib/unictype/pr_space.h: Likewise.
55073         * lib/unictype/pr_titlecase.h: Likewise.
55074         * lib/unictype/pr_variation_selector.h: Likewise.
55075         * lib/unictype/pr_white_space.h: Likewise.
55076         * lib/unictype/sy_c_ident.h: Likewise.
55077         * lib/unictype/sy_c_whitespace.h: Likewise.
55078         * lib/unictype/sy_java_whitespace.h: Likewise.
55079         * modules/uni*/*: Bump version number of expected libunistring version.
55080         Reported by Simon Josefsson.
55082 2011-01-09  Karl Heuer  <kwzh@gnu.org>
55084         useless-if-before-free: fix typo in --help and make the internal,
55085         automatic version date update process work once again.
55086         --help output contained a NUL character instead of the
55087         backslash-zero that was intended.  Also, the "must lie within
55088         the first 8 lines" line is on line 9, and hence not getting
55089         automatically updated.
55090         * build-aux/useless-if-before-free: Fix the former by adding a
55091         backslash, and the latter by condensing the three lines of what-it-does
55092         to a single line, leaving one line of slack for the future.
55094 2011-01-09  Bruno Haible  <bruno@clisp.org>
55096         uniwidth/width: Fix width of U+1D173..U+1D17A.
55097         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
55098         symbolic_width, output_width_property_test): New functions.
55099         (main): Invoke output_nonspacing_property, output_width_property_test.
55100         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
55101         U+1D173..U+1D17A.
55102         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
55103         1.
55104         * modules/uniwidth/*: Bump version number of expected libunistring
55105         version.
55106         * modules/unilbrk/*: Likewise.
55108 2011-01-08  Bruno Haible  <bruno@clisp.org>
55110         uninorm tests: Preserve copyright of Unicode data file.
55111         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
55112         Mention modifications.
55114 2011-01-08  Bruno Haible  <bruno@clisp.org>
55116         gen-uni-tables: Prepare for Unicode 5.2.0.
55117         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
55118         (debug_output_lbp, output_lbp): Update.
55120 2011-01-08  Bruno Haible  <bruno@clisp.org>
55122         unilbrk: Clarify gen-uni-tables.c code.
55123         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
55124         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
55125         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
55127 2011-01-07  Bruno Haible  <bruno@clisp.org>
55129         strtod: Restore errno when successfully parsing Infinity or NaN.
55130         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
55131         restore the original errno.
55133 2011-01-07  Bruno Haible  <bruno@clisp.org>
55135         remove test: Avoid failure on HP-UX 11.
55136         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
55138 2011-01-07  Bruno Haible  <bruno@clisp.org>
55140         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
55141         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
55142         error code.
55144 2011-01-07  Pádraig Brady  <P@draigBrady.com>
55146         ignore-value: fixup comments, and add Eric Blake
55147         as an author since he rewrote the macros.
55148         * lib/ignore-value.h (ignore_value):  State that
55149         we now support aggregates.  Also specify exactly
55150         when the GCC warn_unused_result feature was added.
55152 2011-01-06  Eric Blake  <eblake@redhat.com>
55154         ignore-value: support aggregate types
55155         * lib/ignore-value.h (ignore_value): Provide separate gcc
55156         definition.
55157         * modules/ignore-value-tests: New test module.
55158         * tests/test-ignore-value.c: New test.
55160         maint.mk: improve sc_prohibit_strcmp regex
55161         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
55162         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
55163         definition of STRNEQ.
55165         signal: work around Haiku issue with SIGBUS
55166         * lib/siglist.h: Add comment.
55167         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
55168         strsignal's favoring of SIGSEGV.
55169         * tests/test-signal.c (main): Avoid test failure.
55170         * doc/posix-headers/signal.texi (signal.h): Document the issue.
55171         Reported by Scott McCreary.
55173         maint.mk: add pre-release check to ensure submodule commits are public
55174         * top/maint.mk (public-submodule-commit): New rule.
55175         (submodule-checks): New variable.
55176         (alpha beta stable): Depend on the variable.
55178 2011-01-05  Pádraig Brady  <P@draigBrady.com>
55179         and Jim Meyering  <meyering@redhat.com>
55181         ignore-value: make ignore_value more generic; deprecate ignore_ptr
55182         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
55183         (ATTRIBUTE_DEPRECATED): Define.
55184         (_ignore_case): New function.
55185         (ignore_value): New macro, to replace the old function.
55186         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
55187         * modules/ignore-value (Depends-on): Add stdint.
55189 2011-01-04  Eric Blake  <eblake@redhat.com>
55191         doc: regenerate INSTALL
55192         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
55193         @firstparagraphindent support, now that autoconf dropped it.
55194         (INSTALL_PRELUDE): Reinstate old macro.
55195         * doc/install.texi: Resync from autoconf.
55196         * doc/INSTALL: Reflect recent autoconf update.
55197         * doc/INSTALL.ISO: Likewise.
55198         * doc/INSTALL.UTF-8: Likewise.
55199         Reported by Karl Berry.
55201 2011-01-04  Bruce Korb  <address@hidden>
55203         git-version-gen: avoid a sub-shell
55204         * build-aux/git-version-gen: Redirect stderr in `...` via
55205         "exec 2>...", rather than via an added sub-shell.
55207 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
55209         git-version-gen: use (...) rather than sh -c '...'
55210         * build-aux/git-version-gen: Rather than hard-coding a shell's name
55211         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
55213 2011-01-03  Jim Meyering  <meyering@redhat.com>
55215         git-version-gen: convert leading TABs to spaces
55216         * build-aux/git-version-gen: Expand leading TABs.
55218         git-version-gen: handle failed "git rev-list"
55219         * build-aux/git-version-gen: Rather than leaking a "fatal" error
55220         from git and proceeding as if it had succeeded but printed no SHA1
55221         checksums, suppress the diagnostic and handle the failure.
55222         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
55224         git-version-gen: include command name in one more diagnostic
55225         * build-aux/git-version-gen: When the required .tarball-version file
55226         was missing or unreadable, you might see the diagnostic from "cat",
55227         but no trace of the name of the invoking script.  Now, you still see
55228         the diagnostic from cat, but also get one from "git-version-gen: ".
55229         Inspired by a patch from Bruce Korb.
55231         update-copyright: adjust test to match changed code
55232         * tests/test-update-copyright.sh: Change test's expected output
55233         to match new actual output.
55235 2011-01-02  Bruno Haible  <bruno@clisp.org>
55237         getlogin_r: Avoid test failure on HP-UX 11.
55238         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
55239         ERANGE when the second argument is zero.
55240         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
55241         portability problem.
55243 2011-01-02  Bruce Korb  <bkorb@gnu.org>
55245         * build-aux/update-copyright: doc Simon's changes
55247 2011-01-02  Simon Josefsson  <simon@josefsson.org>
55249         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
55250         environment variable.
55252 2011-01-02  Bruno Haible  <bruno@clisp.org>
55254         unigbrk: Avoid gcc warnings.
55255         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
55256         unused variable.
55257         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
55258         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
55259         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
55260         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
55261         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
55262         Change type of first argument to 'const char *'.
55263         (main): Remove unused variable.
55264         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
55265         type of first argument to 'const char *'.
55266         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
55267         Likewise.
55268         (main): Change type of variable 's'.
55269         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
55270         to 'int'.
55272 2011-01-02  Bruno Haible  <bruno@clisp.org>
55274         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
55275         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
55276         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
55277         bug.
55278         * lib/pwrite.c: Undo 2010-12-31 patch.
55279         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
55281 2011-01-02  Bruno Haible  <bruno@clisp.org>
55283         pread: Fix test whether it works.
55284         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
55286 2011-01-02  Bruno Haible  <bruno@clisp.org>
55288         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
55289         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
55290         ends in "6". Don't require a specific month name. Try also the locale
55291         names found on HP-UX 11 and Solaris 7.
55293 2011-01-02  Bruno Haible  <bruno@clisp.org>
55295         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
55296         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
55297         C linkage.
55298         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
55300 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
55302         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
55303         for consistency, since the "cluster" term is not used elsewhere.
55304         * lib/unigbrk.in.h: Update name.
55305         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
55306         * lib/unigbrk/u16-grapheme-next.c: Update name.
55307         * lib/unigbrk/u16-grapheme-prev.c: Update name.
55308         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
55309         * lib/unigbrk/u32-grapheme-next.c: Update name.
55310         * lib/unigbrk/u32-grapheme-prev.c: Update name.
55311         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
55312         * lib/unigbrk/u8-grapheme-next.c: Update name.
55313         * lib/unigbrk/u8-grapheme-prev.c: Update name.
55314         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
55315         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
55316         Suggested by Bruno Haible.
55318 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
55320         Remove module 'u8-grapheme-len' as too redundant with
55321         'u8-grapheme-next'.
55322         * modules/unigbrk/u8-grapheme-len: Delete file.
55323         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
55324         * lib/unigbrk.in.h: Remove prototype for deleted function.
55325         * lib/unigbrk/u8-grapheme-len.c: Delete file.
55326         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
55328         Remove module 'u16-grapheme-len' as too redundant with
55329         'u16-grapheme-next'.
55330         * modules/unigbrk/u16-grapheme-len: Delete file.
55331         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
55332         * lib/unigbrk.in.h: Remove prototype for deleted function.
55333         * lib/unigbrk/u16-grapheme-len.c: Delete file.
55334         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
55336         Remove module 'u32-grapheme-len' as too redundant with
55337         'u32-grapheme-next'.
55338         * modules/unigbrk/u32-grapheme-len: Delete file.
55339         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
55340         * lib/unigbrk.in.h: Remove prototype for deleted function.
55341         * lib/unigbrk/u32-grapheme-len.c: Delete file.
55342         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
55344         Suggested by Bruno Haible.
55346 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
55348         * unigbrk.in.h: Fix typo: "ben" => "been".
55349         Reported by Bruno Haible.
55351 2011-01-01  Jim Meyering  <meyering@redhat.com>
55353         maint: update almost all copyright ranges to include 2011
55354         Run the new "make update-copyright" rule.
55356 2011-01-01  Jim Meyering  <meyering@redhat.com>
55358         maint: update-copyright: exempt doc/INSTALL*
55359         * Makefile (update-copyright): Also exclude doc/INSTALL*,
55360         since they are generated.  Suggested by Bruno Haible.
55362 2011-01-01  Jim Meyering  <meyering@redhat.com>
55364         maint: refine the update-copyright rule
55365         * Makefile (update-copyright): Also exclude any file that includes
55366         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
55367         code that merely generates the comment.
55369 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
55371         New module 'u8-grapheme-len'.
55372         * modules/unigbrk/u8-grapheme-len: New file.
55373         * modules/unigbrk/u8-grapheme-len-tests: New file.
55374         * lib/unigbrk.in.h: Add prototype for new function.
55375         * lib/unigbrk/u8-grapheme-len.c: New file.
55376         * tests/unigbrk/test-u8-grapheme-len.c: New file.
55378         New module 'u16-grapheme-len'.
55379         * modules/unigbrk/u16-grapheme-len: New file.
55380         * modules/unigbrk/u16-grapheme-len-tests: New file.
55381         * lib/unigbrk.in.h: Add prototype for new function.
55382         * lib/unigbrk/u16-grapheme-len.c: New file.
55383         * tests/unigbrk/test-u16-grapheme-len.c: New file.
55385         New module 'u32-grapheme-len'.
55386         * modules/unigbrk/u32-grapheme-len: New file.
55387         * modules/unigbrk/u32-grapheme-len-tests: New file.
55388         * lib/unigbrk.in.h: Add prototype for new function.
55389         * lib/unigbrk/u32-grapheme-len.c: New file.
55390         * tests/unigbrk/test-u32-grapheme-len.c: New file.
55392         New module 'u8-grapheme-next'.
55393         * modules/unigbrk/u8-grapheme-next: New file.
55394         * modules/unigbrk/u8-grapheme-next-tests: New file.
55395         * lib/unigbrk.in.h: Add prototype for new function.
55396         * lib/unigbrk/u8-grapheme-next.c: New file.
55397         * tests/unigbrk/test-u8-grapheme-next.c: New file.
55399         New module 'u16-grapheme-next'.
55400         * modules/unigbrk/u16-grapheme-next: New file.
55401         * modules/unigbrk/u16-grapheme-next-tests: New file.
55402         * lib/unigbrk.in.h: Add prototype for new function.
55403         * lib/unigbrk/u16-grapheme-next.c: New file.
55404         * tests/unigbrk/test-u16-grapheme-next.c: New file.
55406         New module 'u32-grapheme-next'.
55407         * modules/unigbrk/u32-grapheme-next: New file.
55408         * modules/unigbrk/u32-grapheme-next-tests: New file.
55409         * lib/unigbrk.in.h: Add prototype for new function.
55410         * lib/unigbrk/u32-grapheme-next.c: New file.
55411         * tests/unigbrk/test-u32-grapheme-next.c: New file.
55413         New module 'u8-grapheme-prev'.
55414         * modules/unigbrk/u8-grapheme-prev: New file.
55415         * modules/unigbrk/u8-grapheme-prev-tests: New file.
55416         * lib/unigbrk.in.h: Add prototype for new function.
55417         * lib/unigbrk/u8-grapheme-prev.c: New file.
55418         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
55420         New module 'u16-grapheme-prev'.
55421         * modules/unigbrk/u16-grapheme-prev: New file.
55422         * modules/unigbrk/u16-grapheme-prev-tests: New file.
55423         * lib/unigbrk.in.h: Add prototype for new function.
55424         * lib/unigbrk/u16-grapheme-prev.c: New file.
55425         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
55427         New module 'u32-grapheme-prev'.
55428         * modules/unigbrk/u32-grapheme-prev: New file.
55429         * modules/unigbrk/u32-grapheme-prev-tests: New file.
55430         * lib/unigbrk.in.h: Add prototype for new function.
55431         * lib/unigbrk/u32-grapheme-prev.c: New file.
55432         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
55434         New module 'u8-grapheme-breaks'.
55435         * modules/unigbrk/u8-grapheme-breaks: New file.
55436         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
55437         * lib/unigbrk.in.h: Add prototype for new function.
55438         * lib/unigbrk/u8-grapheme-breaks.c: New file.
55439         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
55441         New module 'u16-grapheme-breaks'.
55442         * modules/unigbrk/u16-grapheme-breaks: New file.
55443         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
55444         * lib/unigbrk.in.h: Add prototype for new function.
55445         * lib/unigbrk/u16-grapheme-breaks.c: New file.
55446         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
55448         New module 'u32-grapheme-breaks'.
55449         * modules/unigbrk/u32-grapheme-breaks: New file.
55450         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
55451         * lib/unigbrk.in.h: Add prototype for new function.
55452         * lib/unigbrk/u32-grapheme-breaks.c: New file.
55453         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
55455         New module 'ulc-grapheme-breaks'.
55456         * modules/unigbrk/ulc-grapheme-breaks: New file.
55457         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
55458         * m4/locale-ar.m4: New file.
55459         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
55460         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
55461         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
55463 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
55465         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
55466         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
55467         modified how this file was generated before I initially submitted
55468         the module, but failed to regenerate it.  This meant that several
55469         of the level2 entries were wrong.
55470         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
55471         Remove the division-by-2 that is folded into the table now that
55472         gbrkprop.h has been regenerated properly.  Now -1 entries are
55473         handled correctly.
55475         New module 'unigbrk/uc-gbrk-prop-tests'.
55476         * modules/unigbrk/uc-gbrk-prop-tests: New file.
55477         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
55478         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
55479         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
55481 2011-01-01  Bruno Haible  <bruno@clisp.org>
55483         Avoid use of hexadecimal escapes.
55484         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
55485         instead of hexadecimal escapes.
55487 2011-01-01  Jim Meyering  <meyering@redhat.com>
55489         maint: new rule to update copyright year ranges
55490         * Makefile (update-copyright): New rule.
55492         maint: indent with TABs in Makefile
55493         * Makefile: Expand leading sequences of spaces to TABs
55495         version-etc: update the copyright year it reports
55496         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
55498 2010-12-31  Bruno Haible  <bruno@clisp.org>
55500         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
55501         * lib/isfinite.c (zerof, zerod, zerol): New variables.
55502         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
55503         zero.
55505 2010-12-31  Bruno Haible  <bruno@clisp.org>
55507         pwrite: Work around HP-UX 11.11 bug.
55508         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
55509         works and set REPLACE_PWRITE if not.
55510         * lib/pwrite.c (pwrite): Add an implementation that uses the system
55511         function.
55512         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
55514 2010-12-31  Bruno Haible  <bruno@clisp.org>
55516         pread: Work around HP-UX 11 bugs.
55517         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
55518         and set REPLACE_PREAD if not.
55519         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
55521 2010-12-31  Eric Blake  <eblake@redhat.com>
55523         nl_langinfo: fix YESEXPR on Irix 6.5
55524         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
55525         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
55526         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
55527         it.
55529 2010-12-31  Bruno Haible  <bruno@clisp.org>
55531         iconv: Document HP-UX 11 bug.
55532         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
55534 2010-12-31  Bruno Haible  <bruno@clisp.org>
55536         ldexpl: Fix link error on HP-UX 11.
55537         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
55538         LDEXPL_LIBM, using $ISNANL_LIBM.
55540 2010-12-31  Eric Blake  <eblake@redhat.com>
55542         ftello: avoid compilation failure with SunStudio c89
55543         * lib/ftello.c (ftello): Use lseek, not llseek.
55545         tests: avoid failing coreutils tests on cygwin
55546         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
55547         (create_exe_shims_): Return 0 when skipping.
55549 2010-12-31  Bruno Haible  <bruno@clisp.org>
55551         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
55552         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
55554 2010-12-31  Bruno Haible  <bruno@clisp.org>
55556         waitpid: Fix link error in C++ mode.
55557         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
55559 2010-12-31  Bruno Haible  <bruno@clisp.org>
55561         isnan: Use GCC built-ins when possible.
55562         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
55563         __builtin_isnan.
55564         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
55565         (isnan): Define using GCC built-ins for GCC >= 4.0.
55567 2010-12-31  Bruno Haible  <bruno@clisp.org>
55569         isnand: Fix mistake.
55570         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
55571         __builtin_isnand.
55573 2010-12-31  Bruno Haible  <bruno@clisp.org>
55575         open: Avoid C++ error on HP-UX 11.
55576         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
55578 2010-12-31  Bruno Haible  <bruno@clisp.org>
55580         time_r: Add missing declarations on HP-UX 11.
55581         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
55582         instead of HAVE_LOCALTIME_R.
55583         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
55584         HAVE_LOCALTIME_R always.
55585         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
55586         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
55587         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
55588         HAVE_LOCALTIME_R.
55589         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
55590         * doc/posix-functions/localtime_r.texi: Likewise.
55592 2010-12-29  Eric Blake  <eblake@redhat.com>
55594         mountlist: tweak previous commit
55595         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
55596         Reported by Paul Eggert.
55598         mountlist: fix local drive detection on cygwin
55599         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
55600         that works for cygwin.
55602 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55604         ftoastr, snprintf: ftoastr + snprintf module
55605         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
55606         since the snprintf module now should be good enough here.
55607         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
55608         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
55609         and gl_MODULE_INDICATOR([snprintf]), but the former enables
55610         GNULIB_SNPRINTF only for the test directory, and the latter
55611         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
55612         seems to suffice by itself.
55614 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55616         alloca: one step towards thread-safety
55617         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
55618         need for a static variable.  All callers changed.  This does not
55619         make the alloca replacement thread-safe, but it's one step.
55621         tests: minor indenting change
55622         * tests/init.sh: Sync from coreutils housekeeping patch
55623         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
55624         to keep lines within 80 columns.
55626 2010-12-28  Jim Meyering  <meyering@redhat.com>
55628         regex: don't infloop on persistent failing calloc
55629         * lib/regexec.c (build_trtable): Return failure indication upon
55630         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
55631         In glibc, this was fixed for version 2.13:
55632         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
55634 2010-12-28  Bruno Haible  <bruno@clisp.org>
55635             Paul Eggert <eggert@cs.ucla.edu>
55637         linkat: Make implementation robust against system behaviour variations.
55638         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
55639         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
55640         way, and to -2 if it needs a generic runtime test.
55641         * lib/linkat.c (solaris_optimized_link_immediate,
55642         solaris_optimized_link_follow): New functions.
55643         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
55644         (check_same_link): Use it.
55646 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
55648         New module 'unigbrk/base'.
55649         * modules/unigbrk/base: New file.
55650         * lib/unigbrk.in.h: New file.
55652         New module 'unigbrk/uc-gbrk-prop'.
55653         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
55654         * modules/unigbrk/uc-gbrk-prop: New file.
55655         * lib/unigbrk/gbrkprop.h: New file.
55656         * lib/unigbrk/uc-gbrk-prop.c: New file.
55658         New module 'unigbrk/uc-is-grapheme-break'.
55659         * modules/unigbrk/uc-is-grapheme-break: New file.
55660         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
55661         * lib/unigbrk/uc-is-grapheme-break.c: New file.
55662         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
55663         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
55664         * tests/unigbrk/GraphemeBreakTest.txt: New file.
55666         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
55668 2010-12-27  Bruno Haible  <bruno@clisp.org>
55670         linkat test: Avoid failure on Solaris 11 2010-11.
55671         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
55673 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55675         utimens: work around glibc rounding bug on more platforms
55676         * lib/utimens.c (fdutimens): Work around rounding bug even if
55677         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
55678         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
55680 2010-12-27  Bruno Haible  <bruno@clisp.org>
55682         select tests: Improve comments.
55683         * tests/test-select.c (do_select): Add comments.
55685 2010-12-27  Bruno Haible  <bruno@clisp.org>
55687         select tests: Safer way of handling timeout.
55688         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
55689         at every invocation.
55691 2010-12-27  Bruno Haible  <bruno@clisp.org>
55693         select tests: Use 'bool' where appropriate.
55694         * tests/test-select.c (connect_to_socket): Change argument type to
55695         'bool'.
55697 2010-12-27  Bruno Haible  <bruno@clisp.org>
55699         select tests: Use existing modules.
55700         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
55701         (configure.ac): Don't test for unistd.h.
55702         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
55703         declared in <unistd.h>.
55705 2010-12-27  Bruno Haible  <bruno@clisp.org>
55707         mbrtowc: Work around a Solaris 7 bug.
55708         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
55709         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
55710         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
55711         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
55712         MBRTOWC_NULL_ARG1_BUG.
55713         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
55714         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
55715         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
55716         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
55718 2010-12-27  Jim Meyering  <meyering@redhat.com>
55720         read-file.c: tweak syntax
55721         * lib/read-file.c (fread_file): Remove space after "*" in function
55722         definitions.
55724 2010-12-27  Bruno Haible  <bruno@clisp.org>
55726         times test: Avoid gcc warnings on OSF/1.
55727         * tests/test-times.c (main): Cast printf arguments from clock_t to
55728         'long int'.
55730 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55732         utimens: work around glibc rounding bug on older Linux kernels
55733         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
55734         on Linux with a glibc whose utimes might not work, then work
55735         around a longstanding glibc bug involving rounding rather than
55736         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
55737         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
55739 2010-12-26  Bruno Haible  <bruno@clisp.org>
55741         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
55742         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
55743         _GL_CXXALIAS_SYS.
55744         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55746 2010-12-26  Bruno Haible  <bruno@clisp.org>
55748         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
55749         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
55750         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
55751         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
55752         looking for the declaration.
55753         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
55754         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
55755         problem.
55756         * doc/posix-functions/inet_pton.texi: Likewise.
55758 2010-12-26  Bruno Haible  <bruno@clisp.org>
55760         arpa_inet: Use the common idioms with C++ support.
55761         * lib/arpa_inet.in.h: Include c++defs.h.
55762         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
55763         support.
55764         * modules/arpa_inet (Depends-on): Add c++defs.
55765         (Makefile.am): Substitute the contents of c++defs.h.
55766         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
55767         * modules/arpa_inet-c++-tests: New file.
55768         * tests/test-arpa_inet-c++.cc: New file.
55770 2010-12-25  Bruno Haible  <bruno@clisp.org>
55772         Fix more C++ link errors on Solaris 8.
55773         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
55774         $(LIB_EACCESS).
55775         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
55776         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
55777         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
55778         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
55779         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
55781 2010-12-25  Bruno Haible  <bruno@clisp.org>
55783         printf-posix: Fix link error when a non-GCC compiler is used.
55784         * lib/stdio.in.h (printf): When not using GCC, override printf
55785         correctly.
55786         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55788 2010-12-25  Bruno Haible  <bruno@clisp.org>
55790         strerror_r-posix: Update doc.
55791         * doc/posix-functions/strerror_r.texi: Update doc about the return
55792         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
55794 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55796         utimens: simplify the logic of the previous change
55797         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
55798         This should not affect whether the test succeeds or fails.
55800         utimens: configure better on hosts with NFS clock skew
55801         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
55802         uses the clock of the local host.  It might use the clock of the
55803         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
55804         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
55806 2010-12-25  Bruno Haible  <bruno@clisp.org>
55808         ptsname test: Avoid failure on Solaris.
55809         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
55810         open a pseudo-terminal; don't use BSD-style ptys.
55811         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
55813 2010-12-25  Bruno Haible  <bruno@clisp.org>
55815         ptsname: Avoid ERANGE failure on some systems.
55816         * lib/ptsname.c (buffer): Increase size.
55818 2010-12-25  Bruno Haible  <bruno@clisp.org>
55820         rename, renameat: Avoid test failures at NFS mounted locations.
55821         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
55822         so that subsequent mkdir calls succeed.
55824 2010-12-25  Bruno Haible  <bruno@clisp.org>
55826         iswblank: Fix C++ link error on Solaris 8.
55827         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
55828         _GL_FUNCDECL_SYS.
55830 2010-12-25  Bruno Haible  <bruno@clisp.org>
55832         unistd: Fix C++ link error on Solaris 8.
55833         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
55835 2010-12-25  Bruno Haible  <bruno@clisp.org>
55837         readlink doc: Mention an old glibc bug.
55838         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
55840 2010-12-25  Bruno Haible  <bruno@clisp.org>
55842         fcntl-h: Fix for use of C++ on glibc systems.
55843         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
55844         also on glibc systems in C++ mode.
55845         Reported by Gary V. Vaughan <gary@gnu.org>.
55847 2010-12-25  Bruno Haible  <bruno@clisp.org>
55849         roundl-ieee: Make it work on OSF/1 5.1 with cc.
55850         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
55852 2010-12-25  Bruno Haible  <bruno@clisp.org>
55854         truncl-ieee: Make it work on OSF/1 5.1 with cc.
55855         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
55856         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
55857         test whether truncl works according to ISO C 99 with IEC 60559.
55858         * m4/truncl-ieee.m4: New file.
55859         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
55860         m4/signbit.m4.
55861         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
55863 2010-12-25  Bruno Haible  <bruno@clisp.org>
55865         ceill-ieee: Make it work on OSF/1 5.1 with cc.
55866         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
55867         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
55868         test whether ceill works according to ISO C 99 with IEC 60559.
55869         * m4/ceill-ieee.m4: New file.
55870         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
55871         m4/signbit.m4.
55872         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
55874 2010-12-25  Bruno Haible  <bruno@clisp.org>
55876         Ensure all prerequisites of <wchar.h> are included.
55877         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
55878         before <wchar.h>.
55879         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
55880         gl_MBRLEN_NUL_RETVAL): Likewise.
55881         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
55882         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
55883         AC_FUNC_MBRTOWC): Likewise.
55884         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
55885         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
55886         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
55887         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
55888         Likewise.
55889         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
55890         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
55891         (gl_WCHAR_H): Improve comments.
55892         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
55894 2010-12-25  Bruno Haible  <bruno@clisp.org>
55896         strtok_r: Fix C syntax error in autoconf macro.
55897         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
55898         characters in test program.
55900 2010-12-24  Bruno Haible  <bruno@clisp.org>
55902         ceil, trunc, round: Fix gcc warnings.
55903         * lib/ceil.c (MIN): Undefine before redefining.
55904         * lib/trunc.c (MIN): Likewise.
55905         * lib/round.c (MIN): Likewise.
55906         Include <math.h> first.
55908 2010-12-24  Bruno Haible  <bruno@clisp.org>
55910         select tests: Avoid failures on OSF/1 5.1.
55911         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
55912         failure of closing the last socket; it may fail with ECONNRESET.
55914 2010-12-24  Eric Blake  <eblake@redhat.com>
55916         stdint: avoid HP-UX 10.20 preprocessor bug
55917         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
55918         than #if.
55919         * tests/test-floor2.c (main): Likewise.
55920         Reported by Peter O'Gorman.
55922         pipe: make obsoletion transition easier
55923         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
55924         * modules/pipe (Files): Include revived file.
55925         (Include): Drop reference, to mirror getdate's behavior.
55927 2010-12-24  Bruno Haible  <bruno@clisp.org>
55929         sys_socket: Hide mismatch of declarations on NonStop Kernel.
55930         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
55931         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
55932         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55934 2010-12-24  Bruno Haible  <bruno@clisp.org>
55936         gethostname: Ensure declaration on NonStop Kernel.
55937         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
55938         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55940 2010-12-24  Bruno Haible  <bruno@clisp.org>
55942         sys_select: Ensure all necessary types on NonStop Kernel.
55943         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
55944         include <sys/time.h>.
55945         * doc/posix-headers/sys_select.texi: Mention that it's missing on
55946         NonStop Kernel.
55947         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55949 2010-12-24  Bruno Haible  <bruno@clisp.org>
55951         sys_select: Remove unneeded include.
55952         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
55953         have <sys/select.h>.
55955 2010-12-24  Bruno Haible  <bruno@clisp.org>
55957         gethostname: Provide a fallback for HOST_NAME_MAX.
55958         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
55959         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
55960         instead.
55961         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55963 2010-12-24  Bruno Haible  <bruno@clisp.org>
55965         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
55966         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
55967         (SA_RESTART): Likewise.
55968         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55970 2010-12-24  Bruno Haible  <bruno@clisp.org>
55972         signal: Define NSIG.
55973         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
55974         * tests/test-signal.c (nsig): New variable.
55975         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
55977 2010-12-24  Bruno Haible  <bruno@clisp.org>
55979         rename, renameat: Avoid test failures on OSF/1 5.1.
55980         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
55981         alternative error codes.
55982         * tests/test-renameat.c (main): Likewise.
55984 2010-12-24  Bruno Haible  <bruno@clisp.org>
55986         *printf: Detect large precisions bug on Solaris 10/SPARC.
55987         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
55988         by Paul Eggert.
55989         * tests/test-snprintf-posix.h (test_function): Add this test code here
55990         too.
55991         * tests/test-sprintf-posix.h (test_function): Likewise.
55992         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55993         * tests/test-vasprintf-posix.c (test_function): Likewise.
55994         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
55995         around by gnulib.
55996         * doc/posix-functions/printf.texi: Likewise.
55997         * doc/posix-functions/snprintf.texi: Likewise.
55998         * doc/posix-functions/sprintf.texi: Likewise.
55999         * doc/posix-functions/vfprintf.texi: Likewise.
56000         * doc/posix-functions/vprintf.texi: Likewise.
56001         * doc/posix-functions/vsnprintf.texi: Likewise.
56002         * doc/posix-functions/vsprintf.texi: Likewise.
56003         * doc/posix-functions/dprintf.texi: Undo last commit.
56004         * doc/posix-functions/vdprintf.texi: Likewise.
56006 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56008         tests: port test-fdutimensat.c to Solaris 8
56009         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
56010         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
56011         On Solaris 8, it fails with errno == ENOSYS, because there is no
56012         futimens (so it can't use the fd), and there is no lutimens (so it
56013         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
56015         vsnprintf: make more consistent with snprintf; doc fixes
56017         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
56018         the byte count return problem was promoted from the snprintf-posix
56019         to the snprintf module.
56020         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
56021         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
56022         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
56023         * tests/test-snprintf.c (main): Check the byte count returned.
56024         * tests/test-vsnprintf.c (main): Likewise.
56026 2010-12-23  Eric Blake  <eblake@redhat.com>
56028         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
56029         * modules/sigpipe (License): Relax license.
56031 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56033         doc: document Solaris printf bug with large float precisions
56034         * doc/posix-functions/dprintf.texi (dprintf):
56035         * doc/posix-functions/fprintf.texi (fprintf):
56036         * doc/posix-functions/printf.texi (printf):
56037         * doc/posix-functions/snprintf.texi (snprintf):
56038         * doc/posix-functions/sprintf.texi (sprintf):
56039         * doc/posix-functions/vdprintf.texi (vdprintf):
56040         * doc/posix-functions/vfprintf.texi (vfprintf):
56041         * doc/posix-functions/vprintf.texi (vprintf):
56042         * doc/posix-functions/vsnprintf.texi (vsnprintf):
56043         * doc/posix-functions/vsprintf.texi (vsprintf):
56044         Mention that these functions mishandle large floating point
56045         precisions on Solaris 10.  The same bug is also present in Solaris
56046         8, and I assume earlier.  This causes "cd gnulib-tests; make
56047         check" to fail on Solaris 8 (and I assume, later) when building
56048         the latest coreutils, in test-vasprintf-posix's call to
56049         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
56050         the wide flavors (e.g., wprintf) so this patch just updates the
56051         documentation for the narrow ones.
56053         test-posixtm.c: add two tests
56054         * tests/test-posixtm.c: Add two tests, to highlight the
56055         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
56056         around this bug; this is merely to document it.
56058 2010-12-22  Bruno Haible  <bruno@clisp.org>
56060         getlogin_r: Work around portability problem on OSF/1.
56061         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
56062         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
56063         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
56064         test for a truncated result.
56065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
56066         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
56067         * modules/getlogin_r (Depends-on): Add memchr.
56068         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
56070 2010-12-22  Bruno Haible  <bruno@clisp.org>
56072         ptsname: Avoid test failure on OSF/1 5.1.
56073         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
56074         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
56075         (same_slave): New function.
56076         (main): Use it to compare ptsname's result with the expected file name.
56078 2010-12-22  Bruno Haible  <bruno@clisp.org>
56080         Port extended stdio modules to HP NonStop Kernel.
56081         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
56082         macros.
56083         * lib/fbufmode.c: Update comments.
56084         * lib/fflush.c: Likewise.
56085         * lib/fpurge.c: Likewise.
56086         * lib/freadable.c: Likewise.
56087         * lib/freadahead.c: Likewise.
56088         * lib/freading.c: Likewise.
56089         * lib/freadptr.c: Likewise.
56090         * lib/freadseek.c: Likewise.
56091         * lib/fseeko.c: Likewise.
56092         * lib/fseterr.c: Likewise.
56093         * lib/fwritable.c: Likewise.
56094         * lib/fwriting.c: Likewise.
56095         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
56097 2010-12-22  Bruno Haible  <bruno@clisp.org>
56099         ttyname_r: Work around bug on OSF/1 5.1.
56100         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
56101         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
56102         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
56103         present.
56104         * lib/ttyname_r.c (ttyname_r): Update comments.
56106 2010-12-22  Bruno Haible  <bruno@clisp.org>
56108         round: Implement result sign according to IEEE 754.
56109         * lib/round.c (MIN, MINUS_ZERO): New macros.
56110         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
56111         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
56112         * tests/test-round-ieee.c (main): Likewise.
56113         * tests/test-roundl-ieee.c (main): Likewise.
56115         trunc: Implement result sign according to IEEE 754.
56116         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
56117         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
56118         * tests/test-trunc2.c: Include minus-zero.h.
56119         (MINUS_ZERO): New macro.
56120         (trunc_reference): Keep in sync with lib/trunc.c.
56121         * tests/test-truncf2.c: Include minus-zero.h.
56122         (MINUS_ZERO): New macro.
56123         (truncf_reference): Keep in sync with lib/trunc.c.
56124         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
56125         * tests/test-trunc-ieee.c (main): Likewise.
56126         * tests/test-truncl-ieee.c (main): Likewise.
56128         ceil: Implement result sign according to IEEE 754.
56129         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
56130         (FUNC): Return -0.0 for -1 < x < 0.
56131         * tests/test-ceil2.c: Include minus-zero.h.
56132         (MINUS_ZERO): New macro.
56133         (ceil_reference): Keep in sync with lib/ceil.c.
56134         * tests/test-ceilf2.c: Include minus-zero.h.
56135         (MINUS_ZERO): New macro.
56136         (ceilf_reference): Keep in sync with lib/ceil.c.
56137         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
56138         * tests/test-ceil-ieee.c (main): Likewise.
56139         * tests/test-ceill-ieee.c (main): Likewise.
56141         floor: Implement result sign according to IEEE 754.
56142         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
56143         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
56144         * tests/test-floorf2.c (floorf_reference): Likewise.
56145         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
56146         * tests/test-floor-ieee.c (main): Likewise.
56147         * tests/test-floorl-ieee.c (main): Likewise.
56149 2010-12-22  Bruno Haible  <bruno@clisp.org>
56151         getaddrinfo: Update doc.
56152         * doc/posix-functions/gai_strerror.texi: Return type is also different
56153         on AIX and HP-UX.
56155 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
56157         getaddrinfo, inet_ntop: Update doc for Solaris.
56158         * doc/posix-functions/gai_strerror.texi: Return type is also an
56159         issue on Solaris 9 and earlier.
56160         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
56161         on Solaris 10 and earlier.
56163 2010-12-21  Bruno Haible  <bruno@clisp.org>
56165         New module 'roundl-ieee'.
56166         * modules/roundl-ieee: New file.
56167         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
56168         test whether roundl works according to ISO C 99 with IEC 60559.
56169         * m4/roundl-ieee.m4: New file.
56170         * modules/roundl-ieee-tests: New file.
56171         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
56172         * tests/test-roundl.c (main): Remove signbit tests.
56173         * modules/roundl-tests (Depends-on): Remove signbit.
56174         * doc/posix-functions/roundl.texi: Mention the new module.
56176 2010-12-21  Bruno Haible  <bruno@clisp.org>
56178         New module 'truncl-ieee'.
56179         * modules/truncl-ieee: New file.
56180         * modules/truncl-ieee-tests: New file.
56181         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
56182         * tests/test-truncl.c (main): Remove signbit tests.
56183         * modules/truncl-tests (Depends-on): Remove signbit.
56184         * doc/posix-functions/truncl.texi: Mention the new module.
56186 2010-12-21  Bruno Haible  <bruno@clisp.org>
56188         New module 'ceill-ieee'.
56189         * modules/ceill-ieee: New file.
56190         * modules/ceill-ieee-tests: New file.
56191         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
56192         * tests/test-ceill.c (main): Remove signbit tests.
56193         * modules/ceill-tests (Depends-on): Remove signbit.
56194         * doc/posix-functions/ceill.texi: Mention the new module.
56196 2010-12-21  Bruno Haible  <bruno@clisp.org>
56198         New module 'floorl-ieee'.
56199         * modules/floorl-ieee: New file.
56200         * modules/floorl-ieee-tests: New file.
56201         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
56202         * tests/test-floorl.c (main): Remove signbit tests.
56203         * modules/floorl-tests (Depends-on): Remove signbit.
56204         * doc/posix-functions/floorl.texi: Mention the new module.
56206 2010-12-21  Bruno Haible  <bruno@clisp.org>
56208         New module 'round-ieee'.
56209         * modules/round-ieee: New file.
56210         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
56211         whether round works according to ISO C 99 with IEC 60559.
56212         * m4/round-ieee.m4: New file.
56213         * modules/round-ieee-tests: New file.
56214         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
56215         * tests/test-round1.c (main): Remove signbit tests.
56216         * modules/round-tests (Depends-on): Remove 'signbit'.
56217         * doc/posix-functions/round.texi: Mention the new module.
56219 2010-12-21  Bruno Haible  <bruno@clisp.org>
56221         New module 'trunc-ieee'.
56222         * modules/trunc-ieee: New file.
56223         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
56224         whether trunc works according to ISO C 99 with IEC 60559.
56225         * m4/trunc-ieee.m4: New file.
56226         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
56227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
56228         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
56229         * modules/trunc-ieee-tests: New file.
56230         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
56231         * tests/test-trunc1.c (main): Remove signbit tests.
56232         * modules/trunc-tests (Depends-on): Remove 'signbit'.
56233         * doc/posix-functions/trunc.texi: Mention the new module.
56235 2010-12-21  Bruno Haible  <bruno@clisp.org>
56237         New module 'ceil-ieee'.
56238         * modules/ceil-ieee: New file.
56239         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
56240         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
56241         ISO C 99 with IEC 60559.
56242         * m4/ceil-ieee.m4: New file.
56243         * modules/ceil (Files): Add lib/ceil.c.
56244         (Depends-on): Add 'float'.
56245         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
56246         * lib/math.in.h (ceil): New declaration.
56247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
56248         REPLACE_CEIL.
56249         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
56250         * modules/ceil-ieee-tests: New file.
56251         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
56252         * tests/test-math-c++.cc: Check the signature of 'ceil'.
56253         * doc/posix-functions/ceil.texi: Mention the new module.
56255 2010-12-21  Bruno Haible  <bruno@clisp.org>
56257         New module 'floor-ieee'.
56258         * modules/floor-ieee: New file.
56259         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
56260         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
56261         ISO C 99 with IEC 60559.
56262         * m4/floor-ieee.m4: New file.
56263         * modules/floor (Files): Add lib/floor.c.
56264         (Depends-on): Add 'float'.
56265         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
56266         * lib/math.in.h (floor): New declaration.
56267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
56268         REPLACE_FLOOR.
56269         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
56270         * modules/floor-ieee-tests: New file.
56271         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
56272         * tests/test-math-c++.cc: Check the signature of 'floor'.
56273         * doc/posix-functions/floor.texi: Mention the new module.
56275 2010-12-21  Bruno Haible  <bruno@clisp.org>
56277         New module 'roundf-ieee'.
56278         * modules/roundf-ieee: New file.
56279         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
56280         test whether roundf works according to ISO C 99 with IEC 60559.
56281         * m4/roundf-ieee.m4: New file.
56282         * modules/roundf-ieee-tests: New file.
56283         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
56284         * tests/test-roundf1.c (main): Remove signbit tests.
56285         * modules/roundf-tests (Depends-on): Remove 'signbit'.
56286         * doc/posix-functions/roundf.texi: Mention the new module.
56288 2010-12-21  Bruno Haible  <bruno@clisp.org>
56290         New module 'truncf-ieee'.
56291         * modules/truncf-ieee: New file.
56292         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
56293         test whether truncf works according to ISO C 99 with IEC 60559.
56294         * m4/truncf-ieee.m4: New file.
56295         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
56296         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
56297         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
56298         * modules/truncf-ieee-tests: New file.
56299         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
56300         * tests/test-truncf1.c (main): Remove signbit tests.
56301         * modules/truncf-tests (Depends-on): Remove 'signbit'.
56302         * doc/posix-functions/truncf.texi: Mention the new module.
56304 2010-12-21  Bruno Haible  <bruno@clisp.org>
56306         New module 'ceilf-ieee'.
56307         * modules/ceilf-ieee: New file.
56308         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
56309         test whether ceilf works according to ISO C 99 with IEC 60559.
56310         * m4/ceilf-ieee.m4: New file.
56311         * modules/ceilf-ieee-tests: New file.
56312         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
56313         * tests/test-ceilf1.c (main): Remove signbit tests.
56314         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
56315         * doc/posix-functions/ceilf.texi: Mention the new module.
56317 2010-12-21  Bruno Haible  <bruno@clisp.org>
56319         New module 'floorf-ieee'.
56320         * modules/floorf-ieee: New file.
56321         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
56322         test whether floorf works according to ISO C 99 with IEC 60559.
56323         * m4/floorf-ieee.m4: New file.
56324         * modules/floorf-ieee-tests: New file.
56325         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
56326         * tests/test-floorf1.c (main): Remove signbit tests.
56327         * modules/floorf-tests (Depends-on): Remove 'signbit'.
56328         * doc/posix-functions/floorf.texi: Mention the new module.
56330 2010-12-21  Bruno Haible  <bruno@clisp.org>
56332         Support for minus zero in autoconf macros.
56333         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
56334         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
56335         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
56336         * tests/minus-zero.h: Update comments.
56338 2010-12-21  Bruno Haible  <bruno@clisp.org>
56340         Tests for module 'ceil'.
56341         * modules/ceil-tests: New file.
56342         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
56343         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
56345 2010-12-21  Bruno Haible  <bruno@clisp.org>
56347         Tests for module 'floor'.
56348         * modules/floor-tests: New file.
56349         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
56350         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
56352 2010-12-21  Bruno Haible  <bruno@clisp.org>
56354         math: Fix indentation.
56355         * lib/math.in.h (floorf): Fix indentation.
56357 2010-12-21  Bruno Haible  <bruno@clisp.org>
56359         Fix cross-compilation guesses on Solaris.
56360         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
56361         not match "solaris2.10".
56362         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
56363         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
56364         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
56366 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
56368         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
56369         This fixes a problem observed with the latest coreutils snapshot
56370         that caused a test to fail on Solaris 8.  src/csplit.c's call
56371         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
56372         earlier, instead of returning the number of bytes that would have
56373         been generated; this causes csplit to incorrectly report memory
56374         exhaustion.
56375         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
56376         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
56377         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
56378         comments to match.
56379         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
56380         Fix typo in matching older versions of Solaris: "solaris2.10"
56381         is matched by the shell pattern "solaris2.[0-9]*".  This matters
56382         only for guessing while cross-compiling.
56383         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
56385 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
56387         ftoastr: fix comment again
56388         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
56389         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
56390         Also, simplify example a bit by using flags = 0.
56392 2010-12-20  Bruno Haible  <bruno@clisp.org>
56394         round*, trunc*: Update documentation regarding glibc.
56395         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
56396         * doc/posix-functions/round.texi: Likewise.
56397         * doc/posix-functions/roundl.texi: Likewise.
56398         * doc/posix-functions/truncf.texi: Likewise.
56399         * doc/posix-functions/trunc.texi: Likewise.
56400         * doc/posix-functions/truncl.texi: Likewise.
56402 2010-12-20  Bruno Haible  <bruno@clisp.org>
56404         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
56405         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
56406         * doc/posix-functions/round.texi: Likewise.
56407         * doc/posix-functions/roundl.texi: Likewise.
56409 2010-12-20  Bruno Haible  <bruno@clisp.org>
56411         ttyname_r: Add missing declaration on HP-UX 11.
56412         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
56413         HAVE_TTYNAME_R.
56414         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
56415         declared. Set HAVE_TTYNAME_R always.
56416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56417         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
56418         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
56419         HAVE_TTYNAME_R.
56420         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
56422 2010-12-20  Bruno Haible  <bruno@clisp.org>
56424         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
56425         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
56426         * doc/posix-functions/getlogin_r.texi: Likewise.
56427         * tests/test-getlogin.c: Include <errno.h>.
56428         (main): Avoid test failure on HP-UX 11.11.
56429         * tests/test-getlogin_r.c (main): Likewise.
56431 2010-12-20  Bruno Haible  <bruno@clisp.org>
56433         getlogin_r: Add missing declaration on HP-UX 11.
56434         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
56435         declared also when it exists as a function.
56436         * doc/posix-functions/getlogin_r.texi: Document this workaround.
56438 2010-12-20  Bruno Haible  <bruno@clisp.org>
56440         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
56441         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
56442         through wcrtomb.
56444 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56446         ftoastr: fix comment
56447         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
56448         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
56450 2010-12-19  Bruno Haible  <bruno@clisp.org>
56452         isnan: Ensure it is a macro.
56453         * lib/math.in.h (isnan): Define as a macro if not already a macro.
56454         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
56455         Solaris.
56457 2010-12-19  Bruno Haible  <bruno@clisp.org>
56459         ldexpl test: Fix link error on OSF/1 5.1.
56460         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
56462 2010-12-19  Bruno Haible  <bruno@clisp.org>
56464         wctype: Make it work in C++ mode on OSF/1 5.1.
56465         * lib/wctype.in.h (iswblank): Declare but not define here.
56466         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
56467         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
56468         * modules/wctype (Files): Add lib/iswblank.c.
56470 2010-12-19  Bruno Haible  <bruno@clisp.org>
56472         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
56473         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
56474         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
56476 2010-12-19  Bruno Haible  <bruno@clisp.org>
56478         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
56479         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
56480         _POSIX_PII_SOCKET.
56481         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
56482         * doc/posix-functions/recvfrom.texi: Likewise.
56483         * doc/posix-functions/send.texi: Likewise.
56484         * doc/posix-functions/sendto.texi: Likewise.
56486 2010-12-19  Bruno Haible  <bruno@clisp.org>
56488         tcgetsid: Add missing declaration on OSF/1 5.1.
56489         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
56490         HAVE_TCGETSID.
56491         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
56492         Don't set HAVE_TCGETSID.
56493         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
56494         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
56495         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
56496         HAVE_TCGETSID.
56497         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
56499 2010-12-19  Bruno Haible  <bruno@clisp.org>
56501         stdio: Fix problem with popen() declaration on OSF/1 5.1.
56502         * lib/stdio.in.h: During the include_next statement, let recursive
56503         includes of this file include only the system header file.
56505 2010-12-19  Bruno Haible  <bruno@clisp.org>
56507         iconv_open: Fix regression from 2010-12-04.
56508         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
56509         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
56511 2010-12-19  Bruno Haible  <bruno@clisp.org>
56513         stdbool test: Avoid a gcc warning.
56514         * tests/test-stdbool.c (main): Fail if e1 is false.
56515         Reported by Jim Meyering.
56517 2010-12-19  Jim Meyering  <meyering@redhat.com>
56519         setenv: restore to working order
56520         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
56521         mistakenly removed.
56522         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
56523         HAVE_SETENV.
56524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
56525         HAVE_SETENV.
56527 2010-12-19  Bruno Haible  <bruno@clisp.org>
56529         Document some different function declarations on OSF/1 5.1.
56530         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
56531         * doc/posix-functions/inet_ntop.texi: Likewise.
56532         * doc/posix-functions/gethostname.texi: Likewise.
56533         * lib/unistd.in.h (gethostname): Update comment.
56535 2010-12-19  Bruno Haible  <bruno@clisp.org>
56537         doc: Mention vasprintf-posix module.
56538         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
56539         the 'vasprintf-posix' module.
56540         * doc/glibc-functions/vasprintf.texi: Likewise.
56542 2010-12-19  Bruno Haible  <bruno@clisp.org>
56544         unsetenv: Add missing declaration on OSF/1 5.1.
56545         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
56546         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
56547         Don't set HAVE_UNSETENV. In the test program, set _BSD.
56548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
56549         not HAVE_UNSETENV.
56550         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
56551         HAVE_UNSETENV.
56552         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
56554 2010-12-19  Bruno Haible  <bruno@clisp.org>
56556         setenv: Add missing declaration on OSF/1 5.1.
56557         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
56558         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
56559         declared. Don't set HAVE_SETENV.
56560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
56561         not HAVE_SETENV.
56562         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
56563         HAVE_SETENV.
56564         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
56566 2010-12-19  Bruno Haible  <bruno@clisp.org>
56568         nl_langinfo tests: Avoid gcc warning.
56569         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
56571 2010-12-19  Bruno Haible  <bruno@clisp.org>
56573         mknod: Avoid error in C++ mode on OSF/1 with GCC.
56574         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
56575         _GL_CXXALIAS_SYS.
56577 2010-12-19  Bruno Haible  <bruno@clisp.org>
56579         stdbool: Relax test.
56580         * tests/test-stdbool.c (e): Don't require that casts from a variable's
56581         address to 'bool' work in static initializer, for compilers other than
56582         GCC.
56584 2010-12-19  Bruno Haible  <bruno@clisp.org>
56586         ftello: Add missing declaration on OSF/1 5.1.
56587         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
56588         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
56589         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
56590         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
56591         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
56593 2010-12-19  Bruno Haible  <bruno@clisp.org>
56595         fseeko: Add missing declaration on OSF/1 5.1.
56596         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
56597         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
56598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
56599         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
56600         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
56602 2010-12-19  Bruno Haible  <bruno@clisp.org>
56604         fchdir: Add missing declaration on OSF/1 5.1.
56605         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
56606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
56607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
56608         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
56609         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
56611 2010-12-19  Bruno Haible  <bruno@clisp.org>
56613         relocatable-prog-wrapper: Separate from relocatable-prog.
56614         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
56615         uninstall-relocwrapper rule here.
56616         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
56617         Reported by Ian Beckwith <ianb@erislabs.net>.
56619 2010-12-19  Bruno Haible  <bruno@clisp.org>
56621         unistr/u8-mbsnlen: Add missing dependency.
56622         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
56623         Reported by Ian Beckwith <ianb@erislabs.net>.
56625 2010-12-19  Bruno Haible  <bruno@clisp.org>
56627         iconv: Make it possible again to use this module without 'iconv-h'.
56628         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
56629         if it is not defined.
56630         Reported by Ian Beckwith <ianb@erislabs.net>.
56632 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56634         acl: port to Solaris 8 when copying from tmpfs to ufs
56635         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
56636         error number.  Problem observed on Solaris 8 with latest
56637         coreutils, with "mv A B", where A is on a tmpfs file system and B
56638         is on a ufs file system.  This caused coreutils' mv/part-symlink
56639         test to fail.
56641         tests: set fail=0 at start
56642         * tests/init.sh (setup_): Move fail=0 initialization here ...
56643         (mktempd_): ... from here, so that tests can rely on fail being
56644         set to 0 initially.  This fixes a problem in coreutils; see:
56645         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
56647 2010-12-18  Bruno Haible  <bruno@clisp.org>
56649         memmem-simple: Stylistic changes.
56650         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
56651         Fix preprocessor directive indentation.
56653 2010-12-15  Pádraig Brady  <P@draigBrady.com>
56655         memmem, memmem-simple: reorganize and expand empty needle check
56656         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
56657         functional checks to memmem-simple so that one has a fully functional
56658         memmem by using just this module.
56659         Restrict the performance only check to the memmem module.
56660         Also expand the empty needle check to ensure the correct
56661         pointer is returned, not just a non NULL pointer.
56662         * doc/glibc-functions/memmem.texi: Rearrange the portability
56663         documentation to correlate with the rearranged checks.
56664         Clarify exactly how the memmem and memmem-simple modules
56665         relate to each other.
56667 2010-12-15  Pádraig Brady  <P@draigBrady.com>
56668             Bruno Haible  <bruno@clisp.org>
56670         Improve cross-compilation guesses for uClibc.
56671         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
56672         that uClibc does not have the glibc bug.
56673         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
56674         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
56676 2010-12-14  Eric Blake  <eblake@redhat.com>
56678         configmake: provide fallbacks for oldest supported autotools
56679         * m4/configmake.m4: New file.
56680         * modules/configmake (Files): Ship it.
56681         (configure.ac): Use it to guarantee fallbacks.
56683 2010-12-13  Pádraig Brady  <P@draigBrady.com>
56685         read-file: Improve handling of large files
56686         * lib/read-file.c (fread_file): Minimize realloc()s
56687         for regular files, and better manage sizes around SIZE_MAX.
56689 2010-12-13  Eric Blake  <eblake@redhat.com>
56691         cloexec, fcntl: relax license
56692         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
56693         consent from all contributors.
56694         * modules/fcntl (License): Likewise.
56696 2010-12-10  Bruno Haible  <bruno@clisp.org>
56698         Tests for module 'pipe-posix'.
56699         * modules/pipe-posix-tests: New file.
56700         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
56702 2010-12-10  Bruno Haible  <bruno@clisp.org>
56704         pipe-posix: Make it work in C++ mode.
56705         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
56706         (pipe): Use common idiom, not a macro definition.
56707         * lib/pipe.c: New file.
56708         * m4/pipe.m4: New file.
56709         * modules/pipe-posix (Description): Enhance.
56710         (Files): Add lib/pipe.c, m4/pipe.m4.
56711         (configure.ac): Invoke gl_FUNC_PIPE.
56712         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
56713         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
56714         * tests/test-unistd-c++.cc: Check the signature of pipe.
56716 2010-12-10  Bruno Haible  <bruno@clisp.org>
56718         Rename module 'pipe' to 'spawn-pipe'.
56719         * modules/spawn-pipe: New file, renamed from modules/pipe.
56720         (Files, configure.ac, Makefile.am): Update.
56721         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
56722         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
56723         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
56724         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
56725         "spawn-pipe.h" instead of "pipe.h".
56726         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
56727         to gl_SPAWN_PIPE.
56728         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
56729         (Files, Makefile.am): Update.
56730         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
56731         Update.
56732         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
56733         Include "spawn-pipe.h" instead of "pipe.h".
56734         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
56735         * lib/javacomp.c: Likewise.
56736         * lib/javaversion.c: Likewise.
56737         * lib/pipe-filter-gi.c: Likewise.
56738         * lib/pipe-filter-ii.c: Likewise.
56739         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
56740         * modules/javacomp (Depends-on): Likewise.
56741         * modules/javaversion (Depends-on): Likewise.
56742         * modules/pipe-filter-gi (Depends-on): Likewise.
56743         * modules/pipe-filter-ii (Depends-on): Likewise.
56744         * MODULES.html.sh (Executing programs): Update.
56745         * NEWS: Mention the change.
56747 2010-12-10  Eric Blake  <eblake@redhat.com>
56749         pipe-posix: new module
56750         * modules/pipe-posix: New file.
56751         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
56752         (gl_UNISTD_H): Check for declaration.
56753         * modules/unistd (Makefile.am): Substitute it.
56754         * lib/unistd.in.h (pipe): Provide it for mingw.
56755         * doc/posix-functions/pipe.texi (pipe): Update documentation.
56756         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
56758 2010-12-07  Bruno Haible  <bruno@clisp.org>
56760         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
56761         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
56762         u8_strcmp_gnu.
56763         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
56765 2010-12-06  Bruno Haible  <bruno@clisp.org>
56767         Update internal documentation.
56768         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
56770 2010-12-04  Bruno Haible  <bruno@clisp.org>
56772         Put more information about failed tests into the test return codes.
56773         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
56774         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
56775         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
56776         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
56777         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
56778         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56779         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
56780         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
56781         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
56782         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56783         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
56784         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56785         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
56786         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56787         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
56788         returns a bit mask.
56789         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
56790         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
56791         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
56792         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
56793         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
56794         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
56795         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
56796         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56797         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
56798         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
56799         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
56800         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
56801         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
56802         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
56803         * m4/link.m4 (gl_FUNC_LINK): Likewise.
56804         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
56805         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
56806         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
56807         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
56808         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
56809         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56810         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
56811         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
56812         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
56813         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
56814         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
56815         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
56816         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
56817         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
56818         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
56819         gl_PRINTF_PRECISION): Likewise.
56820         * m4/regex.m4 (gl_REGEX): Likewise.
56821         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
56822         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
56823         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
56824         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
56825         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
56826         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56827         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
56828         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
56829         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56830         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
56831         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
56832         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
56833         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
56834         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
56835         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
56836         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
56837         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
56838         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
56839         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
56840         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
56841         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
56842         enumerated value.
56843         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
56845 2010-12-04  Bruno Haible  <bruno@clisp.org>
56847         Update for Solaris 11 2010-11.
56848         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
56849         Express, released in November 2010.
56851 2010-12-04  Bruno Haible  <bruno@clisp.org>
56853         nproc: Relax license.
56854         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
56855         and Paul Eggert.
56856         Requested by Ludovic Courtès <ludo@gnu.org>.
56858 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
56860         utimecmp: fine-grained src to nearby coarse-grained dest
56862         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
56863         and the source is on a file system with higher-resolution time
56864         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
56865         not work, and the time stamps are close together, the algorithm to
56866         determine the exact resolution from the read-back mtime was buggy:
56867         it had a "!=" where it should have had an "==".  This bug has been
56868         in the code ever since it was introduced to gnulib.
56869         Problem reported by Dan Jacobson in
56870         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
56872 2010-11-30  Bruno Haible  <bruno@clisp.org>
56874         strerror_r-posix: Fix autoconf test.
56875         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
56877 2010-11-28  Bruno Haible  <bruno@clisp.org>
56878             Paul Eggert  <eggert@cs.ucla.edu>
56880         Tests for module 'getdomainname'.
56881         * modules/getdomainname-tests: New file.
56882         * tests/test-getdomainname.c: New file, based on
56883         tests/test-gethostname.c.
56885 2010-11-28  Bruno Haible  <bruno@clisp.org>
56886             Paul Eggert  <eggert@cs.ucla.edu>
56888         getdomainname: Use the system function when possible.
56889         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
56890         (getdomainname): Replace if needed. Provide the declaration if it is
56891         missing. Don't use _GL_CXXALIAS_SYS_CAST.
56892         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
56893         (getdomainname): When the system has getdomainname, call the system
56894         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
56895         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
56896         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
56897         found in libnsl. Look for the declaration also in <netdb.h>. Replace
56898         the function if its second argument is of type 'int' or if it is found
56899         in libnsl.
56900         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
56901         <sys/systeminfo.h> and sysinfo().
56902         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
56903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56904         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
56905         HAVE_GETDOMAINNAME.
56906         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
56907         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
56908         * doc/glibc-functions/getdomainname.texi: Document the problems with
56909         the getdomainname declaration.
56911 2010-11-28  Bruno Haible  <bruno@clisp.org>
56913         sys_socket: Ensure ss_family field on AIX.
56914         * lib/sys_socket.in.h (ss_family): New macro definition.
56915         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
56916         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
56917         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
56918         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
56919         * modules/sys_socket (Makefile.am): Substitute
56920         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
56921         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
56923 2010-11-27  Bruno Haible  <bruno@clisp.org>
56925         readline: Improve configure output.
56926         * m4/readline.m4 (gl_FUNC_READLINE): Make the
56927         "checking for readline..." result understandable.
56929 2010-11-27  Bruno Haible  <bruno@clisp.org>
56931         *printf-posix: Detect a bug on Solaris 10/x86.
56932         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
56933         for floating-point output.
56934         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
56935         directive.
56936         * tests/test-snprintf-posix.h (test_function): Likewise.
56937         * tests/test-sprintf-posix.h (test_function): Likewise.
56938         * tests/test-vasprintf-posix.c (test_function): Likewise.
56939         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
56940         * doc/posix-functions/printf.texi: Likewise.
56941         * doc/posix-functions/snprintf.texi: Likewise.
56942         * doc/posix-functions/sprintf.texi: Likewise.
56943         * doc/posix-functions/vfprintf.texi: Likewise.
56944         * doc/posix-functions/vprintf.texi: Likewise.
56945         * doc/posix-functions/vsnprintf.texi: Likewise.
56946         * doc/posix-functions/vsprintf.texi: Likewise.
56947         * doc/glibc-functions/obstack_printf.texi: Likewise.
56948         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
56950 2010-11-27  Bruno Haible  <bruno@clisp.org>
56952         Fix link error when module libunistring-optional is in use.
56953         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
56954         * modules/striconveha-tests (Makefile.am): Likewise.
56956 2010-11-27  Bruno Haible  <bruno@clisp.org>
56958         regex: Mention link dependencies.
56959         * modules/regex (Link): New section.
56960         * modules/rpmatch (Link): Likewise.
56961         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
56963 2010-11-27  Bruno Haible  <bruno@clisp.org>
56965         ftoastr: Fix compilation error on Solaris.
56966         * lib/ftoastr.c: Include <config.h>.
56968 2010-11-27  Bruno Haible  <bruno@clisp.org>
56970         getloadavg: Update documentation.
56971         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
56973 2010-11-27  Bruno Haible  <bruno@clisp.org>
56975         sys_socket: Fix test whether the functions are declared.
56976         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
56977         not <sys/select.h>.
56979 2010-11-27  Bruno Haible  <bruno@clisp.org>
56981         getpass: Make sure to get system declaration on some platforms.
56982         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
56983         gl_USE_SYSTEM_EXTENSIONS.
56984         * modules/getpass (Depends-on): Add extensions.
56986 2010-11-26  Bruno Haible  <bruno@clisp.org>
56988         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
56989         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
56990         'iconv' module is present.
56991         (ICONV_CONST): New macro.
56992         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
56993         ICONV_CONST.
56994         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
56995         set ICONV_CONST.
56996         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
56997         here.
56998         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
56999         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
57000         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
57001         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
57002         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
57003         present.
57005 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57007         ftoastr: comment fix
57008         * lib/ftoastr.c: "little" -> "little or no" in comment
57010 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
57012         stdint: port to GCC 4.3 + OSX + Octave
57013         On this platform, stdint.h is buggy and defines int64_t to long
57014         long int.  The replacement defined it to long int, causing
57015         problems with C++ style name mangling.  Instead, trust the system
57016         definition if INT64_MAX is defined, and likewise for the unsigned
57017         variant.   Problem reported by Jarno Rajahalme in
57018         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
57019         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
57020         and don't mess with int64_t and INT64_MAX in this case.
57021         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
57023 2010-11-24  Bruno Haible  <bruno@clisp.org>
57025         doc: Corrections regarding MacOS X 10.4 and 10.5.
57026         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
57027         MacOS X.
57028         Reported by Simon Josefsson.
57030 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
57032         Uninstall ".bin" files installed by relocwrapper.
57033         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
57034         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
57035         unless it is already there.
57037 2010-11-21  Bruno Haible  <bruno@clisp.org>
57039         Update for NetBSD 5.0.
57040         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
57041         NetBSD; the test fails on NetBSD 5.0.
57042         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
57043         about NetBSD.
57045 2010-11-21  Bruno Haible  <bruno@clisp.org>
57047         Update for HP-UX 11.23 and HP-UX 11.31.
57048         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
57049         HP-UX.
57051 2010-11-21  Bruno Haible  <bruno@clisp.org>
57053         Update for MacOS X 10.5.
57054         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
57055         MacOS X; the test fails on MacOS X 10.5.8.
57056         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
57057         about MacOS X.
57059 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
57061         bootstrap: add bootstrap_sync option.
57062         See discussion at
57063         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
57064         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
57065         * build-aux/bootstrap: Accept --bootstrap-sync to update
57066         bootstrap if it is not identical to the local gnulib's
57067         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
57068         enable this by default.  Accept --no-bootstrap-sync to disable
57069         it.
57071 2010-11-20  Bruno Haible  <bruno@clisp.org>
57073         Ensure that <features.h> is included before __GLIBC__ is tested.
57074         * lib/printf-parse.h: Include <features.h>.
57075         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
57076         Reported by Mike Frysinger <vapier@gentoo.org>.
57078         Ensure that <features.h> is included before __GLIBC__ is tested.
57079         * lib/wchar.in.h: Include <features.h>.
57080         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
57081         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
57082         Reported by Mike Frysinger <vapier@gentoo.org>.
57084         Ensure that <features.h> is included before __GLIBC__ is tested.
57085         * lib/arpa_inet.in.h: Include <features.h>.
57086         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
57087         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
57088         Reported by Mike Frysinger <vapier@gentoo.org>.
57090         Ensure that <features.h> is included before __GLIBC__ is tested.
57091         * build-aux/link-warning.h: Include <features.h>.
57092         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
57093         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
57094         Reported by Mike Frysinger <vapier@gentoo.org>.
57096         Ensure that <features.h> is included before __GLIBC__ is tested.
57097         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
57098         Reported by Mike Frysinger <vapier@gentoo.org>.
57100 2010-11-20  Bruno Haible  <bruno@clisp.org>
57102         memmem: Fix autoconf test.
57103         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
57105 2010-11-20  Bruno Haible  <bruno@clisp.org>
57107         Port to uClibc.
57108         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
57109         * lib/fcntl.in.h: Likewise.
57110         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
57111         * lib/mbrtowc.c (mbrtowc): Likewise.
57112         * lib/relocatable.c (find_shared_library_fullname): Likewise.
57113         * lib/strerror_r.c: Likewise.
57114         * lib/unistr/u8-strnlen.c: Likewise.
57115         * lib/vasnprintf.c (decimal_point_char): Likewise.
57116         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
57117         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
57118         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
57119         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
57120         * tests/test-sigaction.c (handler, main): Likewise.
57121         * lib/freading.h: Treat uClibc like a non-glibc platform.
57122         * lib/freading.c: Likewise.
57123         * lib/gettext.h: Likewise.
57124         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
57125         Likewise.
57126         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
57127         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
57128         * lib/propername.c (proper_name_utf8): Likewise.
57129         * lib/spawn.in.h: Likewise.
57130         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
57131         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
57132         mem_cd_iconveh_internal): Likewise.
57133         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
57134         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
57135         strstr, strcasestr): Likewise.
57136         * lib/unicodeio.c (unicode_to_mb): Likewise.
57137         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
57138         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
57139         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
57140         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
57141         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
57142         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
57143         * lib/unistr/u8-stpncpy.c: Likewise.
57144         * lib/vasnprintf.c (VASNPRINTF): Likewise.
57145         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
57146         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57147         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
57148         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
57149         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
57150         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
57151         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
57152         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
57153         Likewise.
57154         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
57155         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
57156         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
57157         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57158         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57159         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57160         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
57161         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
57162         * tests/test-getopt.h (OPTIND_MIN): Likewise.
57163         * tests/test-striconveha.c (main): Likewise.
57164         * tests/test-vasnprintf-posix.c (test_function): Likewise.
57165         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
57166         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
57167         * doc/posix-functions/getline.texi: Likewise.
57168         Reported by Mike Frysinger <vapier@gentoo.org>.
57170 2010-11-20  Bruno Haible  <bruno@clisp.org>
57172         nproc: Fix condition.
57173         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
57174         HAVE_PTHREAD_AFFINITY_NP.
57176 2010-11-20  Bruno Haible  <bruno@clisp.org>
57178         Fix a comment.
57179         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
57181 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
57183         ftoastr: don't assume snprintf
57184         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
57185         Implement a subset of snprintf here, by using sprintf safely.
57186         * modules/ftoastr (Depends-on): Remove snprintf.
57188 2010-11-19  Jim Meyering  <meyering@redhat.com>
57190         test-rename.h: fix compilation failure
57191         * tests/test-rename.h (test_rename): Add omitted "}".
57193 2010-11-17  Jim Meyering  <meyering@redhat.com>
57195         maint.mk: add a URL discussing the no-@acronym policy
57196         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
57198 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
57200         ftoastr: depend on snprintf, improve comments
57201         * lib/ftoastr.c: Also mention Loitsch's draft.
57202         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
57203         needed in the current implementation, but it might simplify
57204         speeding up the code later.
57205         * modules/ftoastr: Depend on snprintf; this improves portability.
57206         Suggested by Bruno Haible in the same email.
57208         ftoastr: port to hosts lacking strtof and strtold
57209         Problem reported by Bruno Haible in
57210         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
57211         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
57212         environment and strtold (and presumably strtof) are not available.
57213         * modules/ftoastr (Files): Add m4/c-strtod.m4.
57214         (configure.ac): Require gl_C99_STRTOLD.
57216 2010-11-18  Bruno Haible  <bruno@clisp.org>
57218         c-strtold: Avoid link error on AIX 7.
57219         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
57220         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
57221         (gl_C_STRTOLD): Test whether strtold_l exists.
57222         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57224 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57226         intprops: new macro INT_BITS_STRLEN_BOUND
57227         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
57228         ftoastr.h.  This exposes an internal of intprops.h that was formerly
57229         not exposed.  Also, it uses a slightly tighter bound than before;
57230         though this makes no practical difference, we might as well be as
57231         tight as we easily can.
57233         ftoastr: new module, for lossless conversion of floats to short strings
57234         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
57235         * modules/ftoastr: New files.
57237 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57239         bootstrap: port to Solaris sed
57240         * build-aux/bootstrap (get_version): Port to Solaris sed.
57241         See Ralf Wildenhues's note in
57242         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
57244 2010-11-14  Jim Meyering  <meyering@redhat.com>
57246         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
57247         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
57248         and move definition closer to sole use.
57250 2010-11-13  Jim Meyering  <meyering@redhat.com>
57252         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
57253         Now we require at least autoconf-2.59, which means the work-around
57254         is no longer needed.
57255         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
57256         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
57257         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
57258         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
57259         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
57261 2010-11-13  Bruno Haible  <bruno@clisp.org>
57263         rename, renameat: Avoid test failures at NFS mounted locations.
57264         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
57265         functions.
57266         (test_rename): Use assert_nonexistent.
57267         * tests/test-rename.c: Include <dirent.h>.
57268         * tests/test-renameat.c: Likewise.
57269         Reported by Gary V. Vaughan <gary@gnu.org>.
57271         rename, renameat: Document Linux bug with NFS
57272         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
57273         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
57274         * doc/posix-functions/renameat.texi: Likewise.
57275         Suggested by Eric Blake.
57277 2010-11-13  Bruno Haible  <bruno@clisp.org>
57279         rename test: Add comments.
57280         * tests/test-rename.h (test_rename): Add structure and comments.
57282 2010-11-13  Eric Blake  <eblake@redhat.com>
57284         maintainer-makefile: cover a few more files
57285         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
57286         scripts generated within C files, for libvirt.
57288 2010-11-13  Bruno Haible  <bruno@clisp.org>
57290         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
57291         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
57292         character, return the number of bytes that belong together, not always
57293         1.
57294         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
57295         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
57296         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
57297         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
57298         number of bytes of an invalid character.
57299         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
57300         (main): Invoke it.
57301         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
57302         results.
57303         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
57304         malformed byte sequences.
57305         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
57306         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
57307         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
57308         Reported by Ben Pfaff and Paolo Bonzini.
57310 2010-11-13  Bruno Haible  <bruno@clisp.org>
57312         openat: Work around glibc bug with fchownat() and empty file names.
57313         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
57314         (gl_FUNC_FCHOWNAT): Invoke it.
57315         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
57316         * doc/posix-functions/fchownat.texi: Document the glibc bug.
57317         Reported by Gary V. Vaughan <gary@gnu.org>.
57319 2010-11-13  Bruno Haible  <bruno@clisp.org>
57321         openat: Ensure autoconf macro ordering.
57322         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
57323         gl_USE_SYSTEM_EXTENSIONS.
57324         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
57326 2010-11-13  Bruno Haible  <bruno@clisp.org>
57328         Update comments.
57329         * lib/unistr/u8-check.c: Update file name in comments.
57330         * lib/unistr/u8-mblen.c: Likewise.
57331         * lib/unistr/u8-prev.c: Likewise.
57332         * lib/unistr/u8-strmblen.c: Likewise.
57333         * lib/unistr/u8-strmbtouc.c: Likewise.
57335 2010-11-13  Jim Meyering  <meyering@redhat.com>
57337         tests: avoid test failure on Solaris 10 due to lack of PATH export
57338         * tests/test-update-copyright.sh: Don't forget to export PATH.
57340         init.sh: ensure that IFS is defined, just in case...
57341         * tests/init.sh (setup_): Ensure that IFS is defined,
57342         so that saving and restoring it works as expected.  This
57343         appears to be useful at least for an old version of dash
57344         from a long time ago (RH 6).  See here for details:
57345         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
57347         maint.mk: tighten "test a == b" check
57348         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
57349         test to files that contain something like #!/bin/sh.
57350         Without this, coreutils would get two false positives in
57351         the comments of C source files.
57353 2010-11-12  Eric Blake  <eblake@redhat.com>
57355         bootstrap: fix typo in previous attempt
57356         * build-aux/bootstrap (buildreq): Correct the grouping.
57357         Reported by Paul Eggert.
57359         maintainer-makefile: prohibit test x == x
57360         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
57361         Based on a report by Matthias Bolte.
57363         bootstrap: allow FreeBSD gzip
57364         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
57365         which has no '.' and goes to stderr.
57366         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
57367         Reported by Matthias Bolte.
57369         maintainer-makefile: check for i18n setup
57370         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
57371         will likely work.
57373 2010-11-12  Bruno Haible  <bruno@clisp.org>
57375         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
57376         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
57377         * lib/nanosleep.c (nanosleep): Likewise.
57379 2010-11-11  Bruno Haible  <bruno@clisp.org>
57381         fcntl-h: Fix for use of C++ on glibc systems.
57382         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
57383         also on glibc systems in C++ mode.
57384         Reported by Gary V. Vaughan <gary@gnu.org>.
57386 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
57388         mknod: avoid false failure with dash
57389         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
57391 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57393         unlink: Fix "is it should" typo in diagnostic.
57394         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
57395         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
57397 2010-11-11  Bruno Haible  <bruno@clisp.org>
57399         Tests for module 'strerror_r-posix'.
57400         * modules/strerror_r-posix-tests: New file.
57401         * tests/test-strerror_r.c: New file.
57402         * tests/test-string-c++.cc: Check the signature of strerror_r.
57404         New module 'strerror_r-posix'.
57405         * lib/string.in.h (strerror_r): New declaration.
57406         * lib/strerror_r.c: New file.
57407         * m4/strerror_r.m4: New file.
57408         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
57409         of strerror_r.
57410         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
57411         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
57412         * modules/strerror_r-posix: New file.
57413         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
57414         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
57415         * doc/posix-functions/strerror_r.texi: Mention the new module and the
57416         portability problems.
57418 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
57420         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
57421         line is also considered for output. Quoted function name in shell
57422         command, so temporary files for functions like MyClass::operator()
57423         are removed correctly without errors.
57425 2010-11-09  Bruno Haible  <bruno@clisp.org>
57427         * doc/posix-functions/strerror.texi: List more failing platforms.
57429         * doc/posix-functions/strerror.texi: Add a comment.
57431 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
57433         fdopendir: fix bug on MacOS X when low on file descriptors
57435         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
57436         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
57437         All callers changed.
57438         (fdopendir): Invoke save_cwd at the top level, not after using
57439         multiple dup() calls to use up file descriptors.  Then retry
57440         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
57441         less than the maximum number of open file descriptors, because
57442         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
57443         on Mac OS X 10.6.4 for tar 1.24
57444         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
57445         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
57446         and for tar 1.25
57447         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
57449 2010-11-07  Bruno Haible  <bruno@clisp.org>
57451         vasnprintf: Support I flag on glibc systems.
57452         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
57453         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
57454         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
57455         snprintf function.
57456         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
57457         glibc systems.
57458         * tests/test-vasnprintf-posix3.c: New file.
57459         * modules/vasnprintf-posix-tests (Files): Add it.
57460         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
57462 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57464         [html] Fix copy/paste bug: Use unique name for compiler warnings.
57465         * MODULES.html.sh: For compiler warnings, use name
57466         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
57468 2010-11-05  Eric Blake  <eblake@redhat.com>
57470         ceil, floor: avoid spurious failure with icc
57471         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
57472         [denormals-as-zero] when optimizing without -mieee-fp option.
57473         * tests/test-floorf2.c (floorf_reference): Likewise.
57474         * tests/test-ceilf1.c (dummy): New function.
57475         (main): Use it to outsmart icc's optimization.
57476         * tests/test-floorf1.c (dummy, main): Likewise.
57478         tests: require working signbit
57479         * modules/ceilf-tests (Depends-on): Add signbit.
57480         * modules/ceill-tests (Depends-on): Likewise.
57481         * modules/floorf-tests (Depends-on): Likewise.
57482         * modules/floorl-tests (Depends-on): Likewise.
57483         * modules/round-tests (Depends-on): Likewise.
57484         * modules/roundf-tests (Depends-on): Likewise.
57485         * modules/roundl-tests (Depends-on): Likewise.
57486         * modules/trunc-tests (Depends-on): Likewise.
57487         * modules/truncf-tests (Depends-on): Likewise.
57488         * modules/truncl-tests (Depends-on): Likewise.
57490         strtod: work around icc bug
57491         * lib/strtod.c (minus_zero): Define to working value.
57492         (strtod): Use it to avoid icc bug.
57494         copysign: enhance tests
57495         * modules/copysign-tests (Files): Add minus-zero.h.
57496         * tests/test-copysign.c (main): Also test zeros.
57498 2010-11-04  Eric Blake  <eblake@redhat.com>
57500         ceil, floor, round, trunc: enhance tests of -0
57501         * tests/test-ceilf1.c (main): Ensure correct sign of result.
57502         * tests/test-ceill.c (main): Likewise.
57503         * tests/test-floorf1.c (main): Likewise.
57504         * tests/test-floorl.c (main): Likewise.
57505         * tests/test-round1.c (main): Likewise.
57506         * tests/test-roundf1.c (main): Likewise.
57507         * tests/test-roundl.c (main): Likewise.
57508         * tests/test-trunc1.c (main): Likewise.
57509         * tests/test-truncf1.c (main): Likewise.
57510         * tests/test-truncl.c (main): Likewise.
57512 2010-11-04  Eric Blake  <eblake@redhat.com>
57514         frexp, tests: work around ICC bug with -zero
57515         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
57516         works with more compilers.
57517         * tests/minus-zero.h: New file.
57518         * modules/ceilf-tests (Files): Include it.
57519         * modules/ceill-tests (Files): Likewise.
57520         * modules/floorf-tests (Files): Likewise.
57521         * modules/floorl-tests (Files): Likewise.
57522         * modules/frexp-nolibm-tests (Files): Likewise.
57523         * modules/frexp-tests (Files): Likewise.
57524         * modules/frexpl-nolibm-tests (Files): Likewise.
57525         * modules/frexpl-tests (Files): Likewise.
57526         * modules/isnan-tests (Files): Likewise.
57527         * modules/isnand-nolibm-tests (Files): Likewise.
57528         * modules/isnand-tests (Files): Likewise.
57529         * modules/isnanf-nolibm-tests (Files): Likewise.
57530         * modules/isnanf-tests (Files): Likewise.
57531         * modules/isnanl-nolibm-tests (Files): Likewise.
57532         * modules/isnanl-tests (Files): Likewise.
57533         * modules/round-tests (Files): Likewise.
57534         * modules/roundf-tests (Files): Likewise.
57535         * modules/roundl-tests (Files): Likewise.
57536         * modules/ldexpl-tests (Files): Likewise.
57537         * modules/signbit-tests (Files): Likewise.
57538         * modules/snprintf-posix-tests (Files): Likewise.
57539         * modules/sprintf-posix-tests (Files): Likewise.
57540         * modules/strtod-tests (Files): Likewise.
57541         * modules/trunc-tests (Files): Likewise.
57542         * modules/truncf-tests (Files): Likewise.
57543         * modules/truncl-tests (Files): Likewise.
57544         * modules/vsnprintf-posix-tests (Files): Likewise.
57545         * modules/vsprintf-posix-tests (Files): Likewise.
57546         * modules/vasnprintf-posix-tests (Files): Likewise.
57547         * modules/vasprintf-posix-tests (Files): Likewise.
57548         * tests/test-ceilf1.c (main): Use it.
57549         * tests/test-ceill.c (main): Likewise.
57550         * tests/test-floorf1.c (main): Likewise.
57551         * tests/test-floorl.c (main): Likewise.
57552         * tests/test-frexp.c (main): Likewise.
57553         * tests/test-frexpl.c (main): Likewise.
57554         * tests/test-isnan.c (main): Likewise.
57555         * tests/test-isnand.h (main): Likewise.
57556         * tests/test-isnanf.h (main): Likewise.
57557         * tests/test-isnanl.h (main): Likewise.
57558         * tests/test-ldexpl.c (main): Likewise.
57559         * tests/test-round.c (main): Likewise.
57560         * tests/test-roundf.c (main): Likewise.
57561         * tests/test-roundl.c (main): Likewise.
57562         * tests/test-signbit.c (test_signbitf, test_signbitd)
57563         (test_signbitl): Likewise.
57564         * tests/test-snprintf-posix.h (test_function): Likewise.
57565         * tests/test-sprintf-posix.h (test_function): Likewise.
57566         * tests/test-strtod.c (main): Likewise.
57567         * tests/test-trunc1.c (main): Likewise.
57568         * tests/test-truncf1.c (main): Likewise.
57569         * tests/test-truncl.c (main): Likewise.
57571         isnanl: work around icc bug
57572         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
57574 2010-11-03  Eric Blake  <eblake@redhat.com>
57576         tests: fix compiler warnings
57577         * tests/test-getopt.h (test_getopt): Fix condition.
57578         * tests/test-getopt_long.h (test_getopt_long): Likewise.
57579         * tests/test-pipe2.c (main): Likewise.
57580         * tests/test-quotearg-simple.c (main): Avoid icc warning.
57582         utimens: fix broken m4 test
57583         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
57585 2010-10-28  Bruno Haible  <bruno@clisp.org>
57587         posix_spawn*, getdtablesize: Relax license.
57588         * modules/posix_spawn (License): Change to LGPLv2+.
57589         * modules/posix_spawnp (License): Likewise.
57590         * modules/posix_spawn-internal (License): Likewise.
57591         * modules/posix_spawnattr_init (License): Likewise.
57592         * modules/posix_spawnattr_getflags (License): Likewise.
57593         * modules/posix_spawnattr_setflags (License): Likewise.
57594         * modules/posix_spawnattr_getpgroup (License): Likewise.
57595         * modules/posix_spawnattr_setpgroup (License): Likewise.
57596         * modules/posix_spawnattr_getschedparam (License): Likewise.
57597         * modules/posix_spawnattr_setschedparam (License): Likewise.
57598         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
57599         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
57600         * modules/posix_spawnattr_getsigdefault (License): Likewise.
57601         * modules/posix_spawnattr_setsigdefault (License): Likewise.
57602         * modules/posix_spawnattr_getsigmask (License): Likewise.
57603         * modules/posix_spawnattr_setsigmask (License): Likewise.
57604         * modules/posix_spawnattr_destroy (License): Likewise.
57605         * modules/posix_spawn_file_actions_init (License): Likewise.
57606         * modules/posix_spawn_file_actions_addclose (License): Likewise.
57607         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
57608         * modules/posix_spawn_file_actions_addopen (License): Likewise.
57609         * modules/posix_spawn_file_actions_destroy (License): Likewise.
57610         * modules/getdtablesize (License): Likewise.
57611         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
57613 2010-10-26  Bruno Haible  <bruno@clisp.org>
57615         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
57616         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
57617         Cygwin and mingw.
57618         Suggested by Eric Blake.
57620 2010-10-26  Bruno Haible  <bruno@clisp.org>
57622         stdio: Work around compilation error due to renameat() on Solaris 10.
57623         * lib/stdio.in.h: Include <unistd.h> on Solaris.
57624         * lib/renameat.c: Don't include <unistd.h> here.
57625         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
57626         Reported by Paul Eggert and Eric Blake.
57628 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
57630         renameat: port to Solaris 10, which declares renameat in unistd.h
57632         * lib/renameat.c: Include unistd.h before stdio.h, because
57633         Solaris 10 declares renameat in unistd.h.  Problem encountered
57634         when building GNU tar 1.24 on Solaris 10.
57636 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
57638         fdopendir: fix C89 compilation
57639         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
57640         compilers.
57642 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
57644         inttostr: simplify by removing unnecessary redundancy
57645         * lib/anytostr.c: Don't include verify.h.
57646         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
57647         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
57648         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
57649         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
57650         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
57651         Likewise.
57652         * modules/inttostr (Depends-on): Remove 'verify'.
57654 2010-10-23  Bruno Haible  <bruno@clisp.org>
57656         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
57657         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
57658         Reported by Eric Blake.
57660 2010-10-23  Bruno Haible  <bruno@clisp.org>
57662         Tests: Fix LOCALE_JA on MirBSD 10.
57663         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
57664         to an UTF-8 locale.
57665         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
57666         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57667         Reported by Eric Blake.
57669 2010-10-21  Bruno Haible  <bruno@clisp.org>
57671         nl_langinfo test: Avoid test failure on NetBSD 5.
57672         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
57673         Reported by Eric Blake.
57675 2010-10-21  Eric Blake  <eblake@redhat.com>
57677         c-stack: work around libsigsegv 2.8 bug
57678         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
57679         overflow on at least PowerPC64.
57681 2010-10-17  Bruno Haible  <bruno@clisp.org>
57683         userspec: Drop redundant file.
57684         * modules/userspec (Files): Remove lib/inttostr.h.
57686 2010-10-17  Bruno Haible  <bruno@clisp.org>
57688         nl_langinfo tests: Silence some warnings.
57689         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
57690         Reported by Jim Meyering.
57692 2010-10-17  Bruno Haible  <bruno@clisp.org>
57694         Make use of GCC's attribute __alloc_size__.
57695         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
57696         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
57697         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
57698         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
57699         __alloc_size__.
57700         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
57701         Suggested by Jim Meyering.
57703 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
57705         bootstrap: anchor .gitignore entries.
57706         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
57707         with...
57708         (insert_vc_ignore): ... this new function, which prepends `/' to
57709         all .gitignore entries before passing them to
57710         insert_sorted_if_absent.
57712 2010-10-16  Bruno Haible  <bruno@clisp.org>
57714         nextafter: Fix configure check.
57715         * modules/nextafter (configure.ac): Correct expected prototype.
57717 2010-10-16  Bruno Haible  <bruno@clisp.org>
57719         termios: Update documentation.
57720         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
57722 2010-10-16  Bruno Haible  <bruno@clisp.org>
57724         tests: Make them compile with TinyCC.
57725         * tests/test-strstr.c (main): Remove parentheses around array
57726         initializer.
57728 2010-10-15  Eric Blake  <eblake@redhat.com>
57730         ignore-value: make header idempotent
57731         * lib/ignore-value.h: Add double-inclusion guards.
57732         Reported by Stefan Berger.
57734 2010-10-15  Jim Meyering  <meyering@redhat.com>
57736         GNUmakefile: handle "stable" target, not "major"
57737         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
57738         lists in maint.mk and announce-gen.  Without this, "make stable"
57739         would fail to ensure that $(VERSION) is up to date.
57741 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
57743         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
57744         & co.
57746 2010-10-14  Bruno Haible  <bruno@clisp.org>
57748         vasnprintf: Don't set errno to 0.
57749         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
57750         block that sets it to 0.
57751         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
57753 2010-10-14  Bruno Haible  <bruno@clisp.org>
57755         socketlib: Fix.
57756         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
57757         gl_PREREQ_SYS_H_WINSOCK2.
57758         Reported by Ian Beckwith <ianb@erislabs.net>.
57760 2010-10-13  Jim Meyering  <meyering@redhat.com>
57762         test-select-stdin.c: avoid warn_unused_result warnings
57763         * tests/test-select-stdin.c: Include "macros.h".
57764         ASSERT that read and fflush succeed.
57766 2010-10-13  Jim Meyering  <meyering@redhat.com>
57768         git-version-gen: do require git-VC'd files in cwd
57769         * build-aux/git-version-gen: Reject a git version string
57770         if there are no commits associated with the current directory.
57771         This avoids an unlikely false-positive (unrelated dir whose parent
57772         repository also contains a tag matching v*), as pointed out
57773         by Giuseppe Scrivano in
57774         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
57776 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
57778         argv-iter: omit nonconforming declaration
57779         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
57780         enum arg_iter_err declaration, which doesn't conform to C99.
57781         Solaris 10 cc warns about this.
57783 2010-10-13  Eric Blake  <eblake@redhat.com>
57785         termios: fix compilation on mingw
57786         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
57787         (gl_TERMIOS_H): Adjust it on mingw.
57788         * modules/termios (Makefile.am): Substitute new key.
57789         * lib/termios.in.h (includes): Make include_next conditional.
57790         * doc/posix-headers/termios.texi (termios.h): Update
57791         documentation.
57792         Reported by Daniel P. Berrange.
57794 2010-10-13  Jim Meyering  <meyering@redhat.com>
57796         git-version-gen: don't require that .git/ be in the current dir
57797         * build-aux/git-version-gen: Adjust this script so that it works
57798         when run from any working directory beneath the top-level .git/-
57799         containing directory.  Inspired by a patch from Giuseppe Scrivano,
57800         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
57802         test-select: avoid warn_unused_result warnings
57803         * tests/test-select.c: Include "macros.h".
57804         ASSERT that each call to read, write, and pipe succeeds.
57805         While not technically required, also check each "close".
57806         * modules/select-tests (Files): Add tests/macros.h.
57808         test-symlinkat: remove declaration of unused local
57809         * tests/test-symlinkat.c (main): Remove unused local, "buf".
57811         test-inttostr: avoid shadowing warnings
57812         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
57813         and use malloc rather than the stack for the same reason as
57814         mentioned in the comment justifying the other allocation.
57816 2010-10-11  Bruno Haible  <bruno@clisp.org>
57818         stdlib: Allow multiple gnulib generated replacements to coexist.
57819         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
57820         Reported by Sam Steingold <sds@gnu.org>.
57822 2010-10-11  Jim Meyering  <meyering@redhat.com>
57824         fix a documentation typo
57825         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
57827 2010-10-11  Eric Blake  <eblake@redhat.com>
57829         futimens: work around Solaris 11 bug
57830         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
57831         * tests/test-futimens.h (test_futimens): Enhance, rather than
57832         weaken test.
57833         * doc/posix-functions/futimens.texi (futimens): Document the bug.
57835 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57837         Indentation.
57838         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
57839         higher-level operators more to the left.
57841 2010-10-11  Jim Meyering  <meyering@redhat.com>
57843         test-futimens: avoid unwarranted test failure on Solaris 5.11
57844         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
57845         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
57846         because it tries to dereference the NULL name argument.
57848 2010-10-11  Bruno Haible  <bruno@clisp.org>
57850         Indentation.
57851         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
57852         indentation.
57854 2010-10-11  Jim Meyering  <meyering@redhat.com>
57856         spawn.in.h: make indentation consistent with parentheses
57857         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
57858         Make indentation consistent with parentheses.
57860 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
57862         Fix mismatched parens in previous commit
57863         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
57864         parens.
57866 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57868         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
57870         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
57871         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
57872         * lib/malloca.c: Include "verify.h".
57873         (verify1): Remove, replacing with a verify call.
57874         * lib/relocwrapper.c (verify1): Likewise.
57875         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
57876         Likewise.
57877         * modules/malloca (Depends-on): Add 'verify'.
57878         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
57879         * modules/vasnprintf (Depends-on): Add 'verify'.
57880         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57881         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57882         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57883         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57884         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57885         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57886         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57888         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
57890         Formerly the style was sometimes 2*X - 1, because the C standard
57891         was wrongly thought to disallow ?: in integral constant expressions.
57892         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
57893         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
57894         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
57895         * lib/stdint.in.h (_verify_intmax_size): Likewise.
57896         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
57897         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
57898         verify that time_t cannot be floating.
57900 2010-10-08  Eric Blake  <eblake@redhat.com>
57902         time: enforce recent POSIX ruling that time_t is integral
57903         * lib/time.in.h (__time_t_must_be_integral): Detect any
57904         problematic systems, allowing the rest of gnulib to assume POSIX.
57906 2010-10-08  Jim Meyering  <meyering@redhat.com>
57908         fdopendir: fix a bug on systems lacking openat and /proc support
57909         OpenBSD 4.7 is one such system.  The most noticeable effect was
57910         failure of any application making nontrivial use of fts: rm, du,
57911         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
57912           ./rm: traversal failed: `a': Bad file descriptor
57913         Debugging that, you see that even though FD 6 was closed just
57914         prior to the opendir call in fd_clone_opendir, its resulting
57915         dir->dd_fd was 8, rather than the expected value of 6:
57917         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
57918         93                close (fd);
57919         (gdb) n
57920         94                dir = fd_clone_opendir (dupfd);
57921         (gdb) n
57922         95                saved_errno = errno;
57923         (gdb) p dir->dd_fd
57924         $11 = 8
57926         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
57927         The problem is that on OpenBSD, fd_clone_opendir has to resort
57928         to using the old-style save/restore CWD mechanism, due to its
57929         lack of openat/proc support, and *that* would steal the FD (6)
57930         that opendir was supposed to use.
57932         The fix is to squirrel away the desired FD so that save_cwd uses a
57933         different one, and then free the dest FD right before calling opendir.
57934         That guarantees opendir will use the required file descriptor.
57936         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
57938 2010-10-08  Bruno Haible  <bruno@clisp.org>
57940         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
57941         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
57943 2010-10-08  Bruno Haible  <bruno@clisp.org>
57945         nanosleep: Make replacement POSIX compliant.
57946         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
57947         is out of range.
57948         Reported by Jim Meyering.
57950 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57952         bootstrap: add hook for altering gnulib.mk, for Bison
57953         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
57954         the Bison bootstrapping process can rewrite file names and variables
57955         in this file before later parts of 'bootstrap' use the file.
57956         Bison wants to include lib/gnulib.mk from the top-level makefile,
57957         so it needs the file names in this file to be relative to the top
57958         level, not relative to lib; plus it needs variable names to be
57959         rewritten.
57960         (slurp): Use the new function.
57962         bootstrap: reformat for readability
57963         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
57965 2010-10-08  Eric Blake  <eblake@redhat.com>
57967         docs: update cygwin progress
57968         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
57969         1.7.7.
57970         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
57971         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
57972         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
57973         * doc/posix-functions/carg.texi (carg): Likewise.
57974         * doc/posix-functions/cargf.texi (cargf): Likewise.
57975         * doc/posix-functions/casin.texi (casin): Likewise.
57976         * doc/posix-functions/casinf.texi (casinf): Likewise.
57977         * doc/posix-functions/casinh.texi (casinh): Likewise.
57978         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
57979         * doc/posix-functions/catan.texi (catan): Likewise.
57980         * doc/posix-functions/catanf.texi (catanf): Likewise.
57981         * doc/posix-functions/catanh.texi (catanh): Likewise.
57982         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
57983         * doc/posix-functions/ccos.texi (ccos): Likewise.
57984         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
57985         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
57986         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
57987         * doc/posix-functions/cexp.texi (cexp): Likewise.
57988         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
57989         * doc/posix-functions/cimag.texi (cimag): Likewise.
57990         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
57991         * doc/posix-functions/clog.texi (clog): Likewise.
57992         * doc/posix-functions/clogf.texi (clogf): Likewise.
57993         * doc/posix-functions/conj.texi (conj): Likewise.
57994         * doc/posix-functions/conjf.texi (conjf): Likewise.
57995         * doc/posix-functions/cpow.texi (cpow): Likewise.
57996         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
57997         * doc/posix-functions/cproj.texi (cproj): Likewise.
57998         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
57999         * doc/posix-functions/creal.texi (creal): Likewise.
58000         * doc/posix-functions/crealf.texi (crealf): Likewise.
58001         * doc/posix-functions/csin.texi (csin): Likewise.
58002         * doc/posix-functions/csinf.texi (csinf): Likewise.
58003         * doc/posix-functions/csinh.texi (csinh): Likewise.
58004         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
58005         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
58006         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
58007         * doc/posix-functions/ctan.texi (ctan): Likewise.
58008         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
58009         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
58010         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
58011         * doc/posix-headers/complex.texi (complex.h): Likewise.
58013 2010-10-07  Jim Meyering  <meyering@redhat.com>
58015         parse-datetime: avoid compilation failure on OpenBSD 4.7
58016         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
58017         This works around a compilation failure on OpenBSD 4.7:
58018         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
58020 2010-10-07  Eric Blake  <eblake@redhat.com>
58022         docs: update cygwin progress
58023         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
58024         1.7.6.
58025         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
58026         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
58027         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
58028         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
58029         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
58030         Likewise.
58031         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
58032         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
58033         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
58034         Likewise.
58035         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
58036         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
58037         Likewise.
58038         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
58039         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
58040         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
58041         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
58042         Likewise.
58043         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
58044         Likewise.
58045         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
58047         docs: update parse-datetime history
58048         * doc/parse-datetime.texi (Authors of parse_datetime): Better
58049         documentation of this function's history and alternatives.
58051         cygwin: use more robust version check
58052         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
58053         exclude an eventual cygwin 1.9.1.
58054         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
58055         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
58056         (gl_FUNC_STRCASESTR): Likewise.
58057         Reported by Bruno Haible.
58059 2010-10-06  Bruno Haible  <bruno@clisp.org>
58061         string, sys_select: Avoid #including large headers unless necessary.
58062         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
58063         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
58064         OSF/1, BeOS, Haiku.
58065         Reported by Jim Meyering.
58067 2010-10-05  Eric Blake  <eblake@redhat.com>
58069         memmem, strstr, strcasestr: fix bug with long periodic needle
58070         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
58071         periodic needle having false positive.
58072         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
58073         and cygwin 1.7.7.
58074         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
58075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
58076         (gl_FUNC_STRCASESTR): Likewise.
58077         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
58078         * tests/test-memmem.c (main): Expose the bug.
58079         * tests/test-strcasestr.c (main): Likewise.
58080         * tests/test-strstr.c (main): Likewise.
58081         * tests/test-c-strcasestr.c (main): Likewise.
58082         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
58083         * doc/posix-functions/strstr.texi (strstr): Likewise.
58084         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58085         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
58087 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58089         parse-datetime: do some more renaming
58090         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
58091         parse_datetime, not get_date.  Mention the renaming.
58092         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
58093         in comments.
58094         * m4/bison.m4: Likewise.
58096 2010-10-05  Eric Blake  <eblake@redhat.com>
58098         parse-datetime: better name than get_date
58099         * NEWS: Reword the deprecation notice.
58100         * modules/get_date: Rename to modules/parse-datetime.
58101         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
58102         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
58103         * lib/get_date.y: Rename to lib/parse-datetime.y.
58104         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
58105         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
58106         * doc/getdate.texi: Provide fallback wrapper.
58107         * lib/getdate.h: Move guts, and wrap...
58108         * lib/parse-datetime.h: ...new file.
58109         * lib/parse-datetime.y (get_date): Rename...
58110         (parse_datetime): ...to this.
58111         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
58112         (gl_PARSE_DATETIME): ...to this.
58113         * doc/posix-functions/getdate.texi (get_date): Provide fallback
58114         documentation.
58115         * modules/getdate (Files): Provide fallback docs and header.
58116         (Notice, Depends-on): Update references.
58117         * tests/test-parse-datetime.c: Likewise.
58118         * DEPENDENCIES: Likewise.
58119         * MODULES.html.sh (Date and time <time.h>): Likewise.
58120         * doc/parse-datetime.texi (Date input formats)
58121         (Authors of parse_datetime): Likewise.
58122         * modules/parse-datetime (Files, configure.ac, Makefile.am)
58123         (Include): Likewise.
58124         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
58125         * gnulib-tool: Likewise.
58126         * m4/bison.m4 (gl_BISON): Likewise.
58127         Suggested by Bruno Haible.
58129 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
58131         more ports to Solaris tr, which needs [] around ranges
58132         * gnulib-tool: Solaris tr needs [] around ranges.
58133         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
58134         * tests/test-pipe-filter-gi1.c (main): Likewise.
58135         * tests/test-pipe-filter-ii1.c (main): Likewise.
58137 2010-10-05  Eric Blake  <eblake@redhat.com>
58139         bootstrap: fix Solaris regression
58140         * build-aux/bootstrap (check_versions): Solaris tr still needs []
58141         around ranges.
58142         Reported by Pádraig Brady.
58144         bootstrap: work with pkg-config
58145         * build-aux/bootstrap (check_versions): Also transliterate - in
58146         prerequisite name.
58147         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
58148         prerequisites that were already found, to avoid confusion.
58149         Reported by Justin Clift.
58151         faccessat: remove unused wrappers
58152         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
58153         presence of these wrappers dragged in -lgen on Solaris.
58154         Reported by Clemens Brogi; fix suggested by Paul Eggert.
58156 2010-10-05  Jim Meyering  <meyering@redhat.com>
58158         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
58159         * Makefile (sc_pragma_columns): New syntax-check rule.
58161 2010-10-04  Bruno Haible  <bruno@clisp.org>
58163         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
58164         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
58165         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
58166         Reported by Bruce Korb and Eric Blake.
58168 2010-10-04  Bruno Haible  <bruno@clisp.org>
58170         threadlib: Make option --with-libpth-prefix work.
58171         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
58172         use $LIBPTH, not just -lpth.
58174 2010-10-04  Bruno Haible  <bruno@clisp.org>
58176         Avoid line length limitation from HP NonStop system header files.
58177         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
58178         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
58179         * lib/ctype.in.h: Likewise.
58180         * lib/dirent.in.h: Likewise.
58181         * lib/errno.in.h: Likewise.
58182         * lib/fcntl.in.h: Likewise.
58183         * lib/float.in.h: Likewise.
58184         * lib/getopt.in.h: Likewise.
58185         * lib/iconv.in.h: Likewise.
58186         * lib/inttypes.in.h: Likewise.
58187         * lib/langinfo.in.h: Likewise.
58188         * lib/locale.in.h: Likewise.
58189         * lib/math.in.h: Likewise.
58190         * lib/netdb.in.h: Likewise.
58191         * lib/netinet_in.in.h: Likewise.
58192         * lib/poll.in.h: Likewise.
58193         * lib/pthread.in.h: Likewise.
58194         * lib/pty.in.h: Likewise.
58195         * lib/sched.in.h: Likewise.
58196         * lib/se-selinux.in.h: Likewise.
58197         * lib/search.in.h: Likewise.
58198         * lib/signal.in.h: Likewise.
58199         * lib/spawn.in.h: Likewise.
58200         * lib/stdarg.in.h: Likewise.
58201         * lib/stddef.in.h: Likewise.
58202         * lib/stdint.in.h: Likewise.
58203         * lib/stdio.in.h: Likewise.
58204         * lib/stdlib.in.h: Likewise.
58205         * lib/string.in.h: Likewise.
58206         * lib/strings.in.h: Likewise.
58207         * lib/sys_file.in.h: Likewise.
58208         * lib/sys_ioctl.in.h: Likewise.
58209         * lib/sys_select.in.h: Likewise.
58210         * lib/sys_socket.in.h: Likewise.
58211         * lib/sys_stat.in.h: Likewise.
58212         * lib/sys_time.in.h: Likewise.
58213         * lib/sys_times.in.h: Likewise.
58214         * lib/sys_utsname.in.h: Likewise.
58215         * lib/sys_wait.in.h: Likewise.
58216         * lib/sysexits.in.h: Likewise.
58217         * lib/termios.in.h: Likewise.
58218         * lib/time.in.h: Likewise.
58219         * lib/unistd.in.h: Likewise.
58220         * lib/wchar.in.h: Likewise.
58221         * lib/wctype.in.h: Likewise.
58222         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
58223         * modules/ctype (Makefile.am): Likewise.
58224         * modules/dirent (Makefile.am): Likewise.
58225         * modules/errno (Makefile.am): Likewise.
58226         * modules/fcntl-h (Makefile.am): Likewise.
58227         * modules/float (Makefile.am): Likewise.
58228         * modules/getopt-posix (Makefile.am): Likewise.
58229         * modules/iconv-h (Makefile.am): Likewise.
58230         * modules/inttypes (Makefile.am): Likewise.
58231         * modules/langinfo (Makefile.am): Likewise.
58232         * modules/locale (Makefile.am): Likewise.
58233         * modules/math (Makefile.am): Likewise.
58234         * modules/netdb (Makefile.am): Likewise.
58235         * modules/netinet_in (Makefile.am): Likewise.
58236         * modules/poll-h (Makefile.am): Likewise.
58237         * modules/pthread (Makefile.am): Likewise.
58238         * modules/pty (Makefile.am): Likewise.
58239         * modules/sched (Makefile.am): Likewise.
58240         * modules/search (Makefile.am): Likewise.
58241         * modules/selinux-h (Makefile.am): Likewise.
58242         * modules/signal (Makefile.am): Likewise.
58243         * modules/spawn (Makefile.am): Likewise.
58244         * modules/stdarg (Makefile.am): Likewise.
58245         * modules/stddef (Makefile.am): Likewise.
58246         * modules/stdint (Makefile.am): Likewise.
58247         * modules/stdio (Makefile.am): Likewise.
58248         * modules/stdlib (Makefile.am): Likewise.
58249         * modules/string (Makefile.am): Likewise.
58250         * modules/strings (Makefile.am): Likewise.
58251         * modules/sys_file (Makefile.am): Likewise.
58252         * modules/sys_ioctl (Makefile.am): Likewise.
58253         * modules/sys_select (Makefile.am): Likewise.
58254         * modules/sys_socket (Makefile.am): Likewise.
58255         * modules/sys_stat (Makefile.am): Likewise.
58256         * modules/sys_time (Makefile.am): Likewise.
58257         * modules/sys_times (Makefile.am): Likewise.
58258         * modules/sys_utsname (Makefile.am): Likewise.
58259         * modules/sys_wait (Makefile.am): Likewise.
58260         * modules/sysexits (Makefile.am): Likewise.
58261         * modules/termios (Makefile.am): Likewise.
58262         * modules/time (Makefile.am): Likewise.
58263         * modules/unistd (Makefile.am): Likewise.
58264         * modules/wchar (Makefile.am): Likewise.
58265         * modules/wctype (Makefile.am): Likewise.
58267 2010-10-04  Bruno Haible  <bruno@clisp.org>
58269         read-file tests: Avoid a test failure on NonStop Kernel.
58270         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
58271         a regular file.
58272         Reported by Joachim Schmitz <schmitz@hp.com>.
58274 2010-10-03  Bruno Haible  <bruno@clisp.org>
58276         gnulib-tool: Fixes for --create-testdir with --libtool.
58277         * gnulib-tool (func_get_automake_snippet): Don't augment
58278         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
58279         an executable.
58280         (func_create_testdir): Handle module 'alloca' like func_import.
58281         Reported by Bruce Korb <bruce.korb@gmail.com>.
58283 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
58285         Avoid some lines longer than 80 characters.
58286         * lib/stdint.in.h: Break long comment lines.
58287         * lib/math.in.h: Likewise.
58288         (_GL_NUM_UINT_WORDS): New macro, for readability.
58289         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
58290         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
58291         * lib/stdlib.in.h: Likewise.
58292         * lib/spawn.in.h: Likewise.
58293         * lib/sys_socket.in.h: Update an URL.
58294         * lib/sys_stat.in.h: Break long line.
58296 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
58298         Improve pmccabe2html.
58299         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
58300         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
58301         when the sources change. Remove the line in the HTML about "Used
58302         ranges" (which implied that there might be other unused ranges),
58303         rename "Resume" to "Summary" (easier to understand for more users).
58304         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
58305         styles, and some unnecessary blank lines.
58307 2010-10-03  Bruno Haible  <bruno@clisp.org>
58308             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
58310         acl: Add support for ACLs on NonStop Kernel.
58311         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
58312         Check whether the function aclsort() exists.
58313         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
58314         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
58315         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
58316         (acl_nontrivial [HAVE_ACLSORT]: New function.
58317         (file_has_acl): Implement for NonStop Kernel.
58318         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
58319         (qset_acl): Implement for NonStop Kernel.
58320         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
58321         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
58322         (main): Implement for NonStop Kernel.
58323         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
58324         Kernel. Handle this flavor.
58325         * tests/test-set-mode-acl.sh: Likewise.
58326         * tests/test-copy-acl.sh: Likewise.
58327         * tests/test-copy-file.sh: Likewise.
58329 2010-10-03  Bruno Haible  <bruno@clisp.org>
58331         Info about ACLs on NonStop Kernel.
58332         * doc/acl-resources.txt: Add info about NonStop Kernel.
58333         References by Joachim Schmitz <schmitz@hp.com>.
58335 2010-10-02  Bruno Haible  <bruno@clisp.org>
58337         Define missing EDQUOT on NonStop Kernel.
58338         * lib/errno.in.h (EDQUOT): Assign a value if missing.
58339         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
58340         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
58341         missing.
58342         * doc/posix-headers/errno.texi: Mention the NSK bug.
58343         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
58344         Reported by Joachim Schmitz <schmitz@hp.com>.
58346 2010-10-02  Bruno Haible  <bruno@clisp.org>
58348         Update doc for POSIX:2008.
58349         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
58350         Update URL of POSIX specification.
58352 2010-10-02  Bruno Haible  <bruno@clisp.org>
58354         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
58355         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
58356         from gnulib, not from Automake.
58358 2010-10-02  Bruno Haible  <bruno@clisp.org>
58360         New module 'system-posix'.
58361         * modules/system-posix: New file.
58362         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
58363         module is present.
58364         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58365         GNULIB_SYSTEM_POSIX.
58366         * modules/stdlib (Depends-on): Remove sys_wait.
58367         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
58368         * doc/posix-functions/system.texi: Mention the new module.
58369         * doc/posix-headers/stdlib.texi: Likewise.
58370         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
58371         define test_sys_wait_macros to a no-op.
58372         Reported by Sam Steingold <sds@gnu.org>.
58374 2010-09-30  Bruno Haible  <bruno@clisp.org>
58376         More renaming from 'getdate' to 'get_date'.
58377         * doc/get_date.texi: Renamed from doc/getdate.texi.
58378         * modules/get_date (Files): Update.
58379         * MODULES.html.sh (Date and time <time.h>): Update.
58380         * DEPENDENCIES: Update.
58381         * gnulib-tool: Update comment.
58382         * m4/bison.m4 (gl_BISON): Likewise.
58383         * m4/get_date.m4 (gl_GET_DATE): Likewise.
58385 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
58387         bootstrap: support ACLOCAL_FLAGS during aclocal
58388         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
58389         can add additional -I dir for third-party .m4 files.
58391 2010-09-30  Eric Blake  <eblake@redhat.com>
58393         bootstrap: use glibtoolize on MacOS
58394         * build-aux/bootstrap (check_versions): Convert libtool into
58395         libtoolize.
58396         (tool search): Move libtool check earlier, and look for
58397         glibtoolize for MacOS.
58398         (gnulib_tool_options): Auto-add --libtool when appropriate.
58399         Reported by Justin Clift.
58401         poll: fix typo that broke test on MacOS
58402         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
58403         Reported by Justin Clift.
58405         getdate: rename to get_date
58406         Note: getdate.h is not renamed, to minimize client impact.
58407         * modules/getdate: Mark obsolete.  Move old contents...
58408         * modules/get_date: ...to new module name.
58409         * modules/getdate-tests: Move...
58410         * modules/get_date-tests: ...here.
58411         * m4/getdate.m4: Move...
58412         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
58413         * lib/getdate.y: Move...
58414         * lib/get_date.y: ...here.
58415         * tests/test-getdate.c: Move...
58416         * tests/test-get_date.c: ...here.
58417         * doc/posix-functions/getdate.texi (getdate): Update name.
58418         * NEWS: Mention the change.
58420 2010-09-29  Bruno Haible  <bruno@clisp.org>
58422         Separate the module 'waitpid' from the module 'sys_wait'.
58423         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
58424         present.
58425         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
58426         gl_MODULE_INDICATOR_FOR_TESTS.
58427         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
58428         * modules/sys_wait (Depends-on): Remove waitpid.
58429         (Makefile.am): Substitute GNULIB_WAITPID.
58430         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
58431         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
58432         signature only if the 'waitpid' module is present.
58433         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
58434         * NEWS: Mention the change.
58435         * modules/grantpt (Depends-on): Add waitpid.
58436         * modules/wait-process (Depends-on): Likewise.
58438 2010-09-29  Bruno Haible  <bruno@clisp.org>
58440         More tests for module 'sys_wait'.
58441         * modules/sys_wait-c++-tests: New file.
58442         * tests/test-sys_wait-c++.cc: New file.
58443         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
58444         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
58446 2010-09-29  Bruno Haible  <bruno@clisp.org>
58448         New module 'waitpid'.
58449         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
58450         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
58451         Don't include <process.h>.
58452         (waitpid): Declare only, using modern idiom.
58453         * m4/waitpid.m4: New file.
58454         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
58455         * modules/waitpid: New file.
58456         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
58457         (Makefile.am): Update.
58458         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
58460 2010-09-28  Bruno Haible  <bruno@clisp.org>
58462         poll: Assume ANSI C.
58463         * lib/poll.c (poll): Use an ANSI C declaration.
58465 2010-09-28  Bruno Haible  <bruno@clisp.org>
58467         poll-h: Create poll.h on all platforms.
58468         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
58469         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
58470         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
58471         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
58472         (gl_REPLACE_POLL_H): Don't set POLL_H.
58473         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
58474         * modules/poll-h (Depends-on): Add include_next.
58475         (Makefile.am): Create poll.h unconditionally. Substitute also
58476         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
58478 2010-09-28  Bruno Haible  <bruno@clisp.org>
58480         Tests for module 'poll-h'.
58481         * modules/poll-h-c++-tests: New file.
58482         * tests/test-poll-h-c++.cc: New file.
58484         Tests for module 'poll-h'.
58485         * modules/poll-h-tests: New file.
58486         * tests/test-poll-h.c: New file.
58488 2010-09-28  Bruno Haible  <bruno@clisp.org>
58490         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
58491         * modules/poll-h (Depends-on): Add 'extensions'.
58493 2010-09-28  Bruno Haible  <bruno@clisp.org>
58495         New module 'poll-h'.
58496         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
58497         (poll): Use modern idiom.
58498         * modules/poll-h: New file.
58499         * modules/poll (Files): Remove lib/poll.in.h.
58500         (Depends-on): Add poll-h.
58501         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
58502         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
58503         * m4/poll_h.m4: New file.
58504         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
58505         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
58506         and invoke gl_REPLACE_POLL_H.
58507         * lib/poll.c: Use common idiom.
58508         * tests/test-poll.c: Likewise.
58509         * doc/posix-headers/poll.texi: Mention the poll-h module.
58510         Suggested by Eric Blake.
58512 2010-09-26  Bruno Haible  <bruno@clisp.org>
58514         sys_wait: Implement WSTOPSIG.
58515         * lib/sys_wait.in.h (WSTOPSIG): New macro.
58516         Reported by Simon Josefsson.
58518 2010-09-26  Simon Josefsson  <simon@josefsson.org>
58520         stdlib, sys_wait: Avoid compilation error on mingw.
58521         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
58523 2010-09-26  Bruno Haible  <bruno@clisp.org>
58525         stdlib tests: Avoid code duplication.
58526         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
58527         * modules/sys_wait-tests (Files): Likewise.
58528         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
58529         * tests/test-stdlib.c: Include test-sys_wait.h.
58530         (main): Invoke test_sys_wait_macros.
58531         * tests/test-sys_wait.c: Include test-sys_wait.h.
58532         (main): Invoke test_sys_wait_macros.
58534 2010-09-25  Simon Josefsson  <simon@josefsson.org>
58536         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
58537         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
58538         sure Windows sockets are working before calling getaddrinfo.
58539         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
58540         * doc/gnulib.texi (Windows sockets): Fix typo.
58542 2010-09-25  Bruno Haible  <bruno@clisp.org>
58544         Tests for module 'regex-quote'.
58545         * modules/regex-quote-tests: New file.
58546         * tests/test-regex-quote.c: New file.
58548         New module 'regex-quote'.
58549         * lib/regex-quote.h: New file.
58550         * lib/regex-quote.c: New file.
58551         * modules/regex-quote: New file.
58552         Suggested by Reuben Thomas <rrt@sc3d.org>.
58554 2010-09-24  Bruno Haible  <bruno@clisp.org>
58556         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
58557         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
58559 2010-09-23  Bruno Haible  <bruno@clisp.org>
58561         setenv: Relax license.
58562         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
58563         Blake.
58564         Requested by Eric Blake.
58566 2010-09-22  Bruno Haible  <bruno@clisp.org>
58568         termios: Relax license.
58569         * modules/termios (License): Change to LGPLv2+.
58570         Requested by Eric Blake.
58572 2010-09-22  Bruno Haible  <bruno@clisp.org>
58574         threadlib: Allow the package to change the default to 'no'.
58575         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
58576         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
58577         Reported by Paul Eggert.
58579 2010-09-22  Pádraig Brady  <P@draigbrady.com>
58580             Bruno Haible  <bruno@clisp.org>
58582         Fix endless loop in mbmemcasecoll.
58583         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
58584         byte.
58585         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
58587 2010-09-22  Bruno Haible  <bruno@clisp.org>
58589         Tests for module 'memcoll'.
58590         * modules/memcoll-tests: New file.
58591         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
58593         memcoll, xmemcoll: Clarify size vs. length.
58594         * modules/memcoll.c (memcoll0): Clarify specification.
58595         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
58596         passed to collate_error.
58598 2010-09-22  Bruno Haible  <bruno@clisp.org>
58600         Tests for module 'memcasecmp'.
58601         * modules/memcasecmp-tests: New file.
58602         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
58604 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
58606         * lib/pthread.in.h: Add split double-inclusion guard, and include
58607         system <pthread.h> if there is one.  Use @@-style as in other
58608         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
58609         pthread.h doesn't.
58610         (pthread_mutexattr_destroy, pthread_mutexattr_init):
58611         (pthread_mutexattr_settype, pthread_mutex_trylock):
58612         New static inline functions, if there's no system <pthread.h>.
58613         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
58614         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
58615         Approximate with mutexes if the system lacks spinlocks, as in
58616         MacOS.
58617         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
58618         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
58619         @@-style.  Check for spinlocks separately.
58620         (gl_PTHREAD_DEFAULTS): New macro.
58621         * modules/pthread: Redo to use a more typical style for in.h files.
58623 2010-09-21  Eric Blake  <eblake@redhat.com>
58625         net_if: enhance tests
58626         * tests/test-net_if.c (main): Move signature checks earlier.
58627         Print failures to stderr.
58628         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
58629         Document the bug that we do not yet fix.
58631 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
58633         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
58634         about gnulib, not GSS.
58636 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
58638         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
58639         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
58640         for Emacs.
58641         * build-aux/pmccabe2html: Make Makefile.am example code more
58642         cut-and-paste friendly.
58644 2010-09-21  Simon Josefsson  <simon@josefsson.org>
58646         * tests/test-net_if.c: New file.
58647         * modules/net_if-tests: New file.
58649 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58651         pthread: add pthread_spin_destroy
58652         * lib/pthread.in.h (pthread_spin_destroy): New function.
58654 2010-09-19  Bruno Haible  <bruno@clisp.org>
58656         gnulib-tool: Fix --help output.
58657         * gnulib-tool (func_usage): Fix help message.
58658         Reported by Reuben Thomas <rrt@sc3d.org>.
58660 2010-09-18  Jim Meyering  <meyering@redhat.com>
58662         maint.mk: avoid unexpanded \n in two diagnostics
58663         * top/maint.mk (sc_prohibit_always_true_header_tests):
58664         Don't use a literal \n in a halt=... assignment.  It would not be
58665         expanded, and the two \n bytes would appear in the diagnostic output
58666         rather than the desired newline.  Use halt=$$(printf ... instead.
58667         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
58669 2010-09-18  Bruno Haible  <bruno@clisp.org>
58671         netinet_in: Doc tweak.
58672         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
58673         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
58675 2010-09-18  Jim Meyering  <meyering@redhat.com>
58677         init.sh: correct an outdated comment
58678         * tests/init.sh (create_exe_shims_):  s/function/alias/
58680         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
58681         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
58682         a file named "*.exe" is removed between the glob expansion and the
58683         processing of that oddly named file.
58685 2010-09-17  Eric Blake  <eblake@redhat.com>
58687         mirbsd: add some more support
58688         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
58689         in BSD family.
58690         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
58691         devices as OpenBSD.
58692         * m4/host-os.m4 (mirbsd): Add MirBSD.
58694         tests: fix unportable assumption on sys/wait.h
58695         * tests/test-sys_wait.c (main): Relax test.
58696         * tests/test-stdlib.c (main): Likewise.
58698         init.sh: accommodate directory with no .exes
58699         * tests/init.sh: Accomodate directory containing only scripts.
58701         tests: avoid compiler warning
58702         * tests/test-stdlib.c (main): Use the variable.
58704         fdutimens, fdutimensat: update signature, again
58705         * lib/utimens.h (gl_futimens): Delete, and move signature...
58706         (fdutimens): ...here.
58707         (fdutimensat): Rearrange signature.
58708         (lutimensat): Rename variable for clarity.
58709         * lib/fdutimensat.c (fdutimensat): Update signature.
58710         * lib/utimens.c (fdutimens): Likewise.
58711         (gl_futimens): Delete.
58712         (utimens, lutimens): Update callers.
58713         * lib/futimens.c (futimens): Likewise.
58714         * tests/test-fdutimensat.c: Likewise.
58715         * tests/test-utimens.c: Likewise.
58716         * tests/test-futimens.h: Update comment.
58717         * NEWS: Mention this.
58718         Suggested by Paul Eggert.
58720 2010-09-17  Bruno Haible  <bruno@clisp.org>
58722         Take over the maintenance of some older macros from Autoconf.
58723         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
58724         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
58725         GNU Autoconf.
58726         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
58727         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
58729 2010-09-17  Eric Blake  <eblake@redhat.com>
58731         fdutimensat: drop atflag validation
58732         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
58733         with valid fd, to close a race scenario where futimens is
58734         unsupported and FILE was replaced by a symlink.
58735         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
58736         accordingly.
58737         Suggested by Paul Eggert.
58739 2010-09-16  Bruno Haible  <bruno@clisp.org>
58741         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
58742         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
58744 2010-09-16  Bruno Haible  <bruno@clisp.org>
58746         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
58747         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
58748         login_tty exists.
58749         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
58751 2010-09-16  Bruno Haible  <bruno@clisp.org>
58753         login_tty: Make the replacement code work on BSD systems.
58754         * lib/login_tty.c: Include <sys/ioctl.h>.
58755         (login_tty): Use ioctl TIOCSCTTY when available.
58756         * modules/login_tty (Depends-on): Add sys_ioctl.
58757         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
58759 2010-09-16  Bruno Haible  <bruno@clisp.org>
58761         login_tty: Stricter unit test.
58762         * modules/login_tty-tests (Depends-on): Add tcgetsid.
58763         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
58764         and tcgetsid() after login_tty.
58765         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
58767 2010-09-16  Bruno Haible  <bruno@clisp.org>
58769         New module 'tcgetsid'.
58770         * lib/tcgetsid.c: New file.
58771         * m4/tcgetsid.m4: New file.
58772         * modules/tcgetsid: New file.
58773         * modules/termios (Depends-on): Add c++defs, warn-on-use.
58774         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
58775         GNULIB_TCGETSID, HAVE_TCGETSID.
58776         * lib/termios.in.h: Include <sys/types.h>.
58777         (tcgetsid): New declaration.
58778         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
58779         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
58780         * doc/posix-functions/tcgetsid.texi: Mention the new module.
58781         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
58783 2010-09-16  Bruno Haible  <bruno@clisp.org>
58785         Tests for module 'termios'.
58786         * modules/termios-c++-tests: New file.
58787         * modules/termios-tests: New file.
58788         * tests/test-termios-c++.cc: New file.
58789         * tests/test-termios.c: New file.
58791         New module 'termios'.
58792         * modules/termios: New file.
58793         * lib/termios.in.h: New file.
58794         * m4/termios_h.m4: New file.
58795         * doc/posix-headers/termios.texi: Mention the new module.
58797 2010-09-16  Eric Blake  <eblake@redhat.com>
58799         fdutimensat: add an atflag parameter
58800         * lib/fdutimensat.c (fdutimensat): Add new parameter.
58801         * lib/utimens.h (fdutimensat): Update prototype.
58802         * tests/test-fdutimensat.c: Adjust test to match.
58803         * NEWS: Document the change.
58804         Suggested by Paul Eggert.
58806 2010-09-16  Bruno Haible  <bruno@clisp.org>
58808         Fix typos in comments.
58809         * lib/striconveh.h: Fix typo in comment.
58810         * lib/login_tty.c (login_tty): Likewise.
58812 2010-09-15  Bruno Haible  <bruno@clisp.org>
58814         stdlib: clarify MirBSD WEXITSTATUS bug
58815         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
58816         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
58818 2010-09-15  Eric Blake  <eblake@redhat.com>
58820         stdlib: work around MirBSD WEXITSTATUS bug
58821         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
58822         * modules/stdlib (Depends-on): Add sys_wait.
58823         * tests/test-sys_wait.c (main): Enhance test.
58824         * tests/test-stdlib.c (main): Likewise.
58825         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
58827         docs: mention MacOS issue with WEXITSTATUS(constant)
58828         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
58829         issue.
58830         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
58832         strnlen: add tests
58833         * modules/strnlen-tests: New file.
58834         * tests/test-strnlen.c: Likewise.
58836 2010-09-14  Bruno Haible  <bruno@clisp.org>
58838         unistr/base: Avoid link errors when module 'libunistring' is also used.
58839         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
58840         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
58841         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
58842         Declare also when HAVE_LIBUNISTRING is set.
58843         Reported by Pádraig Brady <P@draigbrady.com>.
58845 2010-09-14  Eric Blake  <eblake@redhat.com>
58847         test-rawmemchr: make more robust
58848         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
58849         (Depends-on, configure.ac): Add needed prerequisites to use it.
58850         * modules/memchr-tests (Files, Depends-on, configure.ac):
58851         Likewise, to avoid implicit reliance on memchr module prereqs.
58852         * tests/test-memchr.c (main): Ensure proper masking.
58853         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
58854         reads.
58856         memchr: detect glibc Alpha bug
58857         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
58858         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
58859         Alpha.
58860         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
58861         * tests/test-memchr.c (main): Enhance test.
58862         Reported by Nelson H. F. Beebe.
58864 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58866         fts, getcwd, glob: audit for dirfd returning -1
58867         * lib/fts.c (opendir): Remove #define; no longer used.
58868         (opendirat): New arg PDIR_FD.  All callers changed.
58869         (fts_build, _opendir2): Use new opendirat to avoid the need for
58870         dirfd, or for checking whether dirfd returns a negative value.
58871         Don't use opendir; always use openat followed by fdopendir.
58872         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
58873         it.
58874         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
58875         returns -1 here.
58876         * modules/fts (Depends-on): Remove dirfd.
58877         * modules/getcwd (Depends-on): Likewise.
58879 2010-09-13  Eric Blake  <eblake@redhat.com>
58881         float: fix broken MirBSD header
58882         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
58883         * doc/posix-headers/float.texi (float.h): Document it.
58885 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58887         fts: use O_NOFOLLOW to avoid race condition when opening a directory
58888         * lib/fts.c (opendirat): New arg extra_flags.
58889         (__opendir2): Use it to avoid following symlinks when opening
58890         a directory, if symlinks are not supposed to be followed.  See
58891         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
58893         fdopendir: preserve argument fd before returning
58894         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
58895         (fdopendir_with_dup, fd_clone_opendir): New static functions.
58896         (fdopendir): Use them, arranging for FD to be open to the same
58897         directory that it was when it started.  (It might be temporarily
58898         closed while fdopendir is running, so this not thread- or
58899         signal-safe.)  Be careful to do the right thing even when file
58900         descriptors are scarce and dup fails with errno == EMFILE.  See
58901         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
58903 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
58905         regex: Pass the system regex if its only problem is 32-bit regoff_t.
58906         * NEWS: Document change.
58907         * m4/regex.m4: Disable test for regoff_t size.
58909 2010-09-13  Jim Meyering  <meyering@redhat.com>
58911         fts: don't operate on an invalid file descriptor after failed dup
58912         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
58913         negative file descriptor.
58915 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
58917         savedir: add streamsavedir, deprecate fdsavedir
58918         * NEWS: Mention deprecation of fdsavedir.
58919         * lib/savedir.c (streamsavedir): New extern function, whose name
58920         ends in "savedir" to be consistent with the others.  This differs
58921         from savedirstream in that it doesn't close its argument.  The
58922         next version of GNU tar will use this instead of fdsavedir, to
58923         avoid some race conditions and conserve file descriptors.
58924         (savedirstream): Reimplement as a wrapper around streamsavedir.
58925         (fdsavedir): Add a comment deprecating this function.  As far as
58926         I know, only GNU tar used it, and GNU tar doesn't need it any more.
58927         * lib/savedir.h (streamsavedir): New decl.
58928         (fdsavedir): Add a comment deprecating this.
58930 2010-09-10  Bruno Haible  <bruno@clisp.org>
58932         langinfo: Fix last commit.
58933         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
58934         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
58935         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
58937 2010-09-10  Bruno Haible  <bruno@clisp.org>
58939         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
58940         * lib/progreloc.c (O_EXEC): Define fallback.
58942 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
58944         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
58945         * NEWS: Document recent changes to fcntl-h.
58946         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
58947         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
58948         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
58949         Similarly for O_SEARCH; this last was already true, but not documented.
58950         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
58951         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
58952         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
58953         Likewise.
58954         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
58955         is zero, not whether it is defined.
58956         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
58957         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
58958         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
58960 2010-09-10  Bruno Haible  <bruno@clisp.org>
58962         langinfo, nl_langinfo: Fix for IRIX 5.3.
58963         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
58964         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
58965         HAVE_LANGINFO_YESEXPR.
58966         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
58967         HAVE_LANGINFO_YESEXPR.
58968         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
58969         HAVE_LANGINFO_T_FMT_AMPM is 0.
58970         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
58971         HAVE_LANGINFO_YESEXPR is 0.
58972         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
58973         NOEXPR.
58974         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
58975         * doc/posix-functions/nl_langinfo.texi: Likewise.
58976         Reported by Eric Blake.
58978 2010-09-10  Bruno Haible  <bruno@clisp.org>
58980         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
58981         * doc/glibc-functions/login_tty.texi: Mention the include file problem
58982         on FreeBSD 8.0 and OpenBSD 4.6.
58983         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
58984         * m4/pty_h.m4 (gl_PTY_H): Likewise.
58985         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
58986         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
58987         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
58988         ac_includes_default.
58989         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
58991 2010-09-09  Eric Blake  <eblake@redhat.com>
58993         strsignal: work around NetBSD bug
58994         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
58995         * lib/string.in.h (includes): Likewise.
58996         * doc/posix-functions/strsignal.texi (strsignal): Document the
58997         bug.
58998         Reported by Nelson H. F. Beebe.
59000         gnulib-tool: work with NetBSD /bin/sh
59001         * gnulib-tool (func_cache_var, func_cache_lookup_module)
59002         (func_get_description, func_get_comment, func_get_status)
59003         (func_get_notice, func_get_applicability, func_get_filelist)
59004         (func_get_dependencies, func_get_autoconf_early_snippet)
59005         (func_get_autoconf_snippet, func_get_automake_snippet)
59006         (func_get_include_directive, func_get_link_directive)
59007         (func_get_license, func_get_maintainer, func_import): Avoid
59008         shell syntax errors from parsing syntax extensions.
59010 2010-09-09  Bruno Haible  <bruno@clisp.org>
59012         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
59013         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
59014         a reliable way to determine whether the 'alias' command works.
59016 2010-09-08  Jim Meyering  <meyering@redhat.com>
59018         init.sh: penalize a set-x-impaired shell; don't disqualify it
59019         * tests/init.sh: Too many shells corrupt application stderr when
59020         you set -x, so we can't afford to disqualify them, since at least
59021         on Irix-6.5, that would disqualify all bourne shells.
59022         Instead, use a two-pass approach.
59023         On the first pass, try to find a shell that meets the stricter
59024         condition that set -x does not corrupt stderr.
59025         If no shell meets the stricter condition, retest each candidate
59026         shell, but without that extra condition.  Finally, when
59027         VERBOSE=yes is requested and set -x might cause trouble, simply
59028         issue a warning and refrain from enabling debug output.
59030 2010-09-08  Eric Blake  <eblake@redhat.com>
59032         unsetenv: fix OpenBSD bug
59033         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
59034         * doc/posix-functions/unsetenv.texi (unsetenv): Update
59035         documentation.
59036         Reported by Jim Meyering.
59038         strtod: work around IRIX 6.5 bug
59039         * lib/strtod.c (strtod): Reparse number on shorter string if
59040         exponent parse was invalid.
59041         * tests/test-strtod.c (main): Add check for "0x1p 2".
59042         Reported by Tom G. Christensen.
59044         getopt: optimize previous patch
59045         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
59046         empty variable.  Speed up awk script.
59047         Reported by Paolo Bonzini.
59049 2010-09-08  Jim Meyering  <meyering@redhat.com>
59051         test.sh: disqualify shells for which set -x corrupts stderr
59052         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
59053         and OpenBSD 4.7.  They make it so with "set -x", environment settings
59054         appear in stderr output.  For example, this command:
59055             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
59056         prints "P=1" on those two systems:
59058 2010-09-08  Bruno Haible  <bruno@clisp.org>
59060         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
59061         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
59062         commands, because some shells ignore redirections when there is an
59063         error in the command lookup.
59064         Reported by Eric Blake.
59066 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
59068         * lib/regex.h: Fix a mention of `regex_compile' (should be
59069         `re_compile_pattern').
59070         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
59071         (re_set_registers): Correct name of parameter in comment.
59073         * doc/regex.texi: Add documentation for missing syntax flags.
59074         Remove commented-out documentation of defunct syntax option
59075         RE_NO_EMPTY_ALTS.
59076         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
59077         Add documentation of re_set_registers.
59078         Document trick to re-use a pattern buffer by setting fastmap manually.
59079         Update documentation of struct re_pattern_buffer per public members.
59080         Uncomment documentation of equivalence class operators and
59081         collating symbol operators, since they are now implemented,
59082         Explain leftmost-longest matching in relation to alternatives.
59083         Tidy documentation of substring matching.
59084         Remove POSIX documentation, which is done better in
59085         glibc, and refer the reader there. Keep BSD API documentation, as
59086         that is not readily available elsewhere.
59088 2010-09-07  Eric Blake  <eblake@redhat.com>
59090         getopt: handle POSIXLY_CORRECT set but not exported
59091         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
59092         export state of POSIXLY_CORRECT, due to bash set -o posix.
59093         Reported by Dustin J. Mitchell.
59095 2010-09-05  Bruno Haible  <bruno@clisp.org>
59097         gnulib-tool: Highlight the changed options.
59098         * gnulib-tool (func_usage): Display the --import, --add-import,
59099         --remove-import explanations in bold font.
59101 2010-09-06  Karl Berry  <karl@gnu.org>
59103         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
59105 2010-09-05  Bruno Haible  <bruno@clisp.org>
59107         uniwidth/width: Update comment.
59108         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
59109         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
59111 2010-09-05  Bruno Haible  <bruno@clisp.org>
59113         isinf, isnan: Relax license.
59114         * modules/isinf (License): Change from GPL to LGPL, with consent from
59115         Ben Pfaff.
59116         * modules/isnan (License): Likewise.
59117         Requested by Ludovic Courtès.
59119 2010-09-04  Bruno Haible  <bruno@clisp.org>
59121         gnulib-tool: Help migration from --import to --add-import or --update.
59122         * gnulib-tool: Emit a verbose error message when --import is used
59123         without any module name.
59125 2010-09-04  Bruno Haible  <bruno@clisp.org>
59127         Update doc about gnulib-tool.
59128         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
59129         'gnulib-tool --update' in more detail.
59130         Reported by Eric Blake.
59132 2010-09-04  Bruno Haible  <bruno@clisp.org>
59134         gnulib-tool: Change --import. New options --add/remove-import.
59135         * gnulib-tool: New options --add-import, --remove-import.
59136         (func_usage): Document them.
59137         (have_associative): Define always.
59138         (func_import): In import mode, don't merge the specified settings with
59139         the cached settings. Implement remove-import mode.
59140         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
59141         Explain when to use them versus --import.
59142         (Simple update): Use --add-import instead of --import.
59143         * NEWS: Mention the change.
59145 2010-09-04  Bruno Haible  <bruno@clisp.org>
59147         * doc/gnulib-tool.texi (Initial import): Update paragraph about
59148         separate gnulib.mk.
59150 2010-09-04  Bruno Haible  <bruno@clisp.org>
59152         gnulib-tool: Don't talk about CVS any more.
59153         * gnulib-tool (func_usage, func_import): Write "version control"
59154         instead of CVS.
59156 2010-09-04  Jim Meyering  <meyering@redhat.com>
59158         maint.mk: avoid obscure sc_copyright_check failure in coreutils
59159         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
59160         false positives (whose names may be ill-chosen) when searching
59161         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
59162         would cause a false-positive.
59164         avoid coreutils "make distcheck" failure
59165         Coreutils tests with an absolute build directory name that contains
59166         a space.  Not quoting this directory name caused a failure.
59167         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
59168         * tests/test-vc-list-files-cvs.sh: Likewise.
59170 2010-09-04  Bruno Haible  <bruno@clisp.org>
59172         gnulib-tool: Avoid error when run in a package without Makefile.am.
59173         * gnulib-tool: When collecting the m4dirs in a package that does not
59174         have a Makefile.am, eliminate those directories that contain no
59175         gnulib-cache.m4. Fix expression that counts these directories.
59177 2010-09-04  Bruno Haible  <bruno@clisp.org>
59179         update-copyright test: Improve output when perl is missing or too old.
59180         * tests/test-update-copyright.sh: Move test of Perl version down after
59181         the test whether Perl exists. Provide an explanation relating Perl's
59182         error message to Automake's SKIP: message.
59184 2010-09-04  Bruno Haible  <bruno@clisp.org>
59186         Don't augment PATH in TESTS_ENVIRONMENT.
59187         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
59188         set abs_aux_dir instead of augmenting PATH.
59189         * modules/vc-list-files-tests (Makefile.am): Likewise.
59190         * tests/test-update-copyright.sh: Augment PATH here.
59191         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
59192         path_prepend_.
59193         * tests/test-vc-list-files-git.sh: Likewise.
59195 2010-09-04  Jim Meyering  <meyering@redhat.com>
59197         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
59198         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
59200 2010-09-04  Bruno Haible  <bruno@clisp.org>
59202         strdup: Fix compilation error in C++ mode.
59203         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
59204         the macro.
59206 2010-09-04  Bruno Haible  <bruno@clisp.org>
59208         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
59209         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
59210         macro into a function.
59211         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
59213 2010-09-04  Bruno Haible  <bruno@clisp.org>
59215         Set PATH_SEPARATOR the same way autoconf does.
59216         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
59217         the value of PATH_SEPARATOR the same way autoconf-generated configure
59218         scripts do.
59219         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
59220         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
59222 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59224         Set PATH_SEPARATOR the same way autoconf does.
59225         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
59226         the same way autoconf-generated configure scripts do.
59227         * posix-modules: Likewise.
59229 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
59231         hash: fix safe_hasher const typo
59232         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
59233         const; otherwise, there is a type error later.
59235 2010-09-02  Jim Meyering  <meyering@redhat.com>
59237         test-update-copyright.sh: require perl 5.8.0
59238         * tests/test-update-copyright.sh: Require 5.8.0,
59239         which Tom G. Christensen has confirmed is adequate,
59240         while 5.6.1 is not.
59242 2010-09-02  Eric Blake  <eblake@redhat.com>
59244         tests: init.sh improvements for re-exec'ing with zsh
59245         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
59246         -vx through shell re-exec.
59247         Reported by Tom G. Christensen.
59249         wctype: fix typo in previous commit
59250         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
59251         Reported by Ludovic Courtès.
59253 2010-09-02  Jim Meyering  <meyering@redhat.com>
59255         test-update-copyright.sh: skip test if Perl is too old
59256         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
59257         Reported by Tom G. Christensen.
59259 2010-09-02  Bruno Haible  <bruno@clisp.org>
59261         wctype: Avoid compilation error on IRIX 6.5.30.
59262         * lib/wctype.in.h (iswblank): Declare with a replacement if
59263         REPLACE_ISWBLANK is set.
59264         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
59265         declared. Set REPLACE_ISWBLANK.
59266         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
59267         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
59268         * doc/posix-headers/wctype.texi: Likewise.
59269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
59271 2010-09-01  Bruno Haible  <bruno@clisp.org>
59273         New module 'socketlib'.
59274         * modules/socketlib: New file.
59275         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
59276         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
59277         * modules/sockets (Depends-on): Add socketlib.
59278         Suggested by Sam Steingold <sds@gnu.org>.
59280 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
59282         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
59284         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
59285         when one needs search access to a directory but not read access.
59286         On systems where it is available, it works in some cases where
59287         O_RDONLY does not, namely on directories that are searchable but
59288         not readable, and which need only to be searchable.  If O_SEARCH
59289         is not available, fall back to the traditional method of using
59290         O_RDONLY.
59292         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
59293         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
59294         when opening a directory that needs only to be searchable.
59295         * lib/chdir-safer.c (chdir_no_follow): Likewise.
59296         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
59297         * lib/openat-proc.c (openat_proc_name): Likewise.
59298         * lib/openat.c (openat_needs_fchdir): Likewise.
59299         * lib/save-cwd.c (save_cwd): Likewise.
59300         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
59302 2010-08-28  Bruno Haible  <bruno@clisp.org>
59304         New module 'host-cpu-c-abi'.
59305         * modules/host-cpu-c-abi: New file.
59306         * m4/host-cpu-c-abi.m4: New file, based on part of
59307         clisp/src/m4/general.m4.
59308         Requested by Sam Steingold <sds@gnu.org>.
59310 2010-08-31  Eric Blake  <eblake@redhat.com>
59311         and Jim Meyering  <meyering@redhat.com>
59313         hash: factor, and guard against misbehaving hasher function
59314         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
59315         of table->hasher's return value.  Also protect against a hash value
59316         so large that adding it to table->bucket results in a NULL pointer.
59317         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
59318         Use it in place of open-coded check-and-abort.
59320 2010-08-30  Bruno Haible  <bruno@clisp.org>
59322         hash: silence spurious clang warning
59323         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
59324         Reported by Eric Blake.
59326 2010-08-30  Eric Blake  <eblake@redhat.com>
59328         strstr, memmem, strcasestr: avoid leaked shell message
59329         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
59330         FreeBSD.
59331         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59332         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59334         tests: silence clang warning
59335         * tests/test-malloca.c (do_allocation): Avoid dead store.
59337 2010-08-29  Bruno Haible  <bruno@clisp.org>
59339         gettext: Fix recent mistake.
59340         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
59342 2010-08-29  Bruno Haible  <bruno@clisp.org>
59344         selinux-h: Offer a --without-selinux option.
59345         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
59346         --without-selinux was specified, skip all tests and define
59347         HAVE_SELINUX_SELINUX_H to 0.
59348         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
59349         set LIB_SELINUX to empty.
59350         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
59351         gl_LIBSELINUX. If --without-selinux was specified, replace
59352         selinux/context.h.
59353         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
59355 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59356             Bruno Haible  <bruno@clisp.org>
59358         Make the module 'realloc-gnu' work again on AIX and OSF/1.
59359         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
59360         of HAVE_REALLOC.
59361         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
59362         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
59363         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
59364         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
59366 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59367             Bruno Haible  <bruno@clisp.org>
59369         Make the module 'calloc-gnu' work again on AIX and OSF/1.
59370         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
59371         HAVE_CALLOC.
59372         * lib/xmalloc.c: Update accordingly.
59373         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
59374         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
59375         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
59377 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59378             Bruno Haible  <bruno@clisp.org>
59380         Make the module 'malloc-gnu' work again on AIX and OSF/1.
59381         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
59382         HAVE_MALLOC.
59383         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
59384         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
59385         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
59387 2010-08-29  Bruno Haible  <bruno@clisp.org>
59389         Update modules list.
59390         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
59391         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
59392         (String handling <string.h>): Add astrxfrm.
59393         (File system functions): Add readlinkat.
59395 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59397         Tests for module 'realloc-gnu'.
59398         * modules/realloc-gnu-tests: New file.
59399         * tests/test-realloc-gnu.c: New file.
59401         Tests for module 'calloc-gnu'.
59402         * modules/calloc-gnu-tests: New file.
59403         * tests/test-calloc-gnu.c: New file.
59405         Tests for module 'malloc-gnu'.
59406         * modules/malloc-gnu-tests: New file.
59407         * tests/test-malloc-gnu.c: New file.
59409 2010-08-28  Bruno Haible  <bruno@clisp.org>
59411         Rename module 'realloc' -> 'realloc-gnu'.
59412         * modules/realloc-gnu: New file, copied from modules/realloc.
59413         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
59414         obsolete.
59415         * modules/mgetgroups (Depends-on): Update.
59416         * doc/posix-functions/realloc.texi: Update.
59417         * NEWS: Mention the change.
59419         Rename module 'calloc' -> 'calloc-gnu'.
59420         * modules/calloc-gnu: New file, copied from modules/calloc.
59421         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
59422         obsolete.
59423         * doc/posix-functions/calloc.texi: Update.
59424         * NEWS: Mention the change.
59426         Rename module 'malloc' -> 'malloc-gnu'.
59427         * modules/malloc-gnu: New file, copied from modules/malloc.
59428         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
59429         obsolete.
59430         * modules/argp (Depends-on): Update.
59431         * modules/regex (Depends-on): Update.
59432         * doc/posix-functions/malloc.texi: Update.
59433         * NEWS: Mention the change.
59435 2010-08-28  Eric Blake  <eblake@redhat.com>
59437         pread, pwrite: add missing dependency
59438         * modules/pread (Depends-on): Add extensions.
59439         * modules/pwrite (Depends-on): Likewise.
59441 2010-08-28  Bruno Haible  <bruno@clisp.org>
59443         unistr/u*-strchr: Fix tests dependencies.
59444         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
59445         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
59446         Reported by Ian Beckwith <ianb@erislabs.net>.
59448 2010-08-28  Bruno Haible  <bruno@clisp.org>
59450         read-file: Don't occupy too much unused memory.
59451         * lib/read-file.c (fread_file): Shrink the buffer at the end.
59453 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
59454             Eric Blake  <eblake@redhat.com>
59455             Bruno Haible  <bruno@clisp.org>
59457         read-file: Avoid memory reallocations with regular files.
59458         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
59459         (fread_file): With regular files, use the remaining length as the
59460         initial buffer size.  Check against overflow.
59461         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
59462         sys_stat.
59464 2010-08-28  Bruno Haible  <bruno@clisp.org>
59466         ftello: Relax license.
59467         * modules/ftello (License): Relax to LGPLv2+.
59468         Reported by Eric Blake.
59470 2010-08-28  Bruno Haible  <bruno@clisp.org>
59472         Avoid relocwrapper link errors due to gnulib replacement functions.
59473         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
59474         function.
59475         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59477 2010-08-28  Bruno Haible  <bruno@clisp.org>
59479         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
59480         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
59481         defined.
59482         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
59483         Suggested by Eric Blake.
59485 2010-08-28  Bruno Haible  <bruno@clisp.org>
59487         sys_socket, netdb: Ensure socklen_t gets defined.
59488         * modules/sys_socket (Depends-on): Add socklen.
59489         * modules/netdb (Depends-on): Likewise.
59490         * modules/getaddrinfo (Depends-on): Remove socklen.
59491         * modules/getsockopt (Depends-on): Likewise.
59492         * modules/setsockopt (Depends-on): Likewise.
59493         * tests/test-sys_socket.c: Check that socklen_t is defined.
59494         * tests/test-netdb.c: Likewise.
59495         * m4/socklen.m4: Update comments.
59496         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59498 2010-08-27  Eric Blake  <eblake@redhat.com>
59500         login_tty: add missing dependency
59501         * modules/login_tty (Depends-on): Add pty.
59503 2010-08-26  Eric Blake  <eblake@redhat.com>
59505         lib-symbol-versions: fix m4 quoting
59506         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
59507         format for AC_LINK_IFELSE.
59509         glob: fix compile test
59510         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
59512         btowc: fix missing file
59513         * modules/btowc (Files): Also ship locale-fr.m4.
59515         lseek: fix link test
59516         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
59517         AC_LINK_IFELSE.
59519         include_next: silence autoconf 2.68 warning
59520         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
59521         AC_COMPILE_IFELSE as special.
59522         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
59523         autoconf < 2.68.
59525         acl: fix compilation test
59526         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
59527         AC_COMPILE_IFELSE.
59529 2010-08-26  Bruno Haible  <bruno@clisp.org>
59531         Modernize AC_TRY_RUN invocations.
59532         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
59533         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
59534         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
59535         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
59536         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
59537         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
59538         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
59539         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
59540         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
59541         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
59542         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
59543         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
59544         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
59545         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
59546         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
59547         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
59548         gl_MBRLEN_NUL_RETVAL): Likewise.
59549         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
59550         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
59551         Likewise.
59552         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
59553         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
59554         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
59555         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
59556         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
59557         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
59558         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
59559         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
59560         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
59561         Likewise.
59562         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
59563         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
59564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59565         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
59566         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
59567         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
59568         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
59569         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
59570         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
59571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59573 2010-08-26  Bruno Haible  <bruno@clisp.org>
59575         Modernize AC_TRY_LINK invocations.
59576         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
59577         AC_TRY_LINK.
59578         * m4/argp.m4 (gl_ARGP): Likewise.
59579         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
59580         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
59581         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
59582         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
59583         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
59584         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
59585         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
59586         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
59587         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
59588         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
59589         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
59590         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
59591         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
59592         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
59593         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
59594         * m4/hostent.m4 (gl_HOSTENT): Likewise.
59595         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
59596         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
59597         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
59598         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
59599         Likewise.
59600         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
59601         Likewise.
59602         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
59603         Likewise.
59604         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
59605         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
59606         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
59607         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
59608         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
59609         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
59610         * m4/servent.m4 (gl_SERVENT): Likewise.
59611         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
59612         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
59613         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
59614         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
59615         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
59616         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
59617         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
59618         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
59619         * modules/tsearch-tests (configure.ac): Likewise.
59621 2010-08-26  Bruno Haible  <bruno@clisp.org>
59623         Modernize AC_TRY_COMPILE invocations.
59624         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
59625         AC_TRY_COMPILE.
59626         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
59627         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
59628         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
59629         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59630         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
59631         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59632         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
59633         * m4/lock.m4 (gl_LOCK): Likewise.
59634         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
59635         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59636         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
59637         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59638         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
59639         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
59640         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
59641         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
59642         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
59643         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
59644         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
59645         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
59646         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
59647         extraneous semicolon.
59649 2010-08-26  Jim Meyering  <meyering@redhat.com>
59651         stat-time: relax license LGPL
59652         * modules/stat-time (License): Change from GPL to LGPL,
59653         with consent from all contributors, for use in libguile.
59654         Requested by Ludovic Courtès.
59656 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
59658         poll: return immediately on POLLHUP.
59659         * lib/poll.c (poll): Always set timeout before wait_timeout is
59660         computed.
59662 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59664         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
59665         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
59666         rmdir ("dir/.//"), unlinkat.
59668 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59670         stdbool: avoid spurious failure with modern xlc
59671         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
59673 2010-08-24  Bruno Haible  <bruno@clisp.org>
59675         getloadavg: simplify code
59676         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
59677         gl_have_func. Update comments.
59679 2010-08-24  Eric Blake  <eblake@redhat.com>
59681         getloadavg: don't define SVR4 on cygwin
59682         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
59683         only define SVR4 when -lkvm is required.
59684         Reported by Yaakov Selkowitz.
59686 2010-08-24  Bruno Haible  <bruno@clisp.org>
59688         priv-set: fix comment
59689         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
59691 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59693         priv-set: fix comments
59694         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
59695         to match code, as suggested by David Bartley in:
59696         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
59698 2010-08-23  Eric Blake  <eblake@redhat.com>
59700         stdbool: avoid rejecting clang
59701         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
59702         * tests/test-stdbool.c: Enable more tests if using the system
59703         <stdbool.h> instead of the gnulib replacement.
59704         (main): Move xlc bug test to a runtime test for all compilers.
59705         Reported by Anders Kaseorg.
59707         argz: fix shell quoting issue
59708         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
59709         Reported by Charles Wilson.
59711 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
59712             Erik Faye-Lund <kusmabite@gmail.com>
59714         poll, select: handle ERROR_BROKEN_PIPE.
59715         * lib/poll.c (win32_compute_revents): Return POLLHUP when
59716         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
59717         * lib/select.c (win32_compute_revents): Do not mark a pipe
59718         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
59720 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
59722         fts: allow compilation with C++
59723         * lib/fts_.h: Specify extern "C" linkage with C++.
59725 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59727         Fix gnulib-tool sed script de-commentation for AIX sed.
59728         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
59729         sed.
59731 2010-08-17  Eric Blake  <eblake@redhat.com>
59733         test-stddef: test for (some) offsetof bugs
59734         * tests/test-stddef.c: Enhance test to ensure correct type of
59735         offsetof.
59736         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
59737         that we are not fixing at this time.
59739 2010-08-15  Bruno Haible  <bruno@clisp.org>
59741         stpncpy: Allow stpncpy to be defined as a macro.
59742         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
59743         if it's already correctly declared.
59744         * lib/string.in.h (stpncpy): Undefine before redefining.
59745         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
59747 2010-08-14  Bruno Haible  <bruno@clisp.org>
59749         Rename module 'memxfrm' to 'amemxfrm'.
59750         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
59751         (amemxfrm): Renamed from memxfrm.
59752         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
59753         (amemxfrm): Renamed from memxfrm.
59754         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
59755         * NEWS: Mention the change.
59756         * MODULES.html.sh (String handling <string.h>): Update.
59757         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
59758         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
59759         * lib/unicase/u16-casexfrm.c: Likewise.
59760         * lib/unicase/u32-casexfrm.c: Likewise.
59761         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
59762         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
59763         * lib/uninorm/u16-normxfrm.c: Likewise.
59764         * lib/uninorm/u32-normxfrm.c: Likewise.
59765         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
59766         memxfrm.
59767         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
59768         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
59769         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
59770         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
59771         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
59772         Suggested by Paul Eggert.
59774 2010-08-14  Bruno Haible  <bruno@clisp.org>
59776         Tests for module 'astrxfrm'.
59777         * modules/astrxfrm-tests: New file.
59778         * tests/test-astrxfrm.c: New file.
59780         New module 'astrxfrm'.
59781         * lib/astrxfrm.h: New file.
59782         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
59783         * modules/astrxfrm: New file.
59785 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
59787         regex: Tweak doc.
59788         * doc/regex.texi (Overview): Don't mention regex.c.
59789         (GNU Regular Expression Compiling): Likewise.
59790         (Match-end-of-line Operator): Mention 'not_eol'.
59792 2010-08-14  Brian Gough  <bjg@gnu.org>
59793             Bruno Haible  <bruno@clisp.org>
59795         git-merge-changelog: add doc relating to use with bzr and hg.
59796         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
59798 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
59800         pthread: fix pthread.h creation for srcdir != builddir
59801         * modules/pthread (Makefile.am): Fix the rule to work also in a
59802         non-srcdir build.
59804 2010-08-13  Karl Berry  <karl@gnu.org>
59806         * doc/regex.texi (Predefined Syntaxes): @smallexample.
59807         * doc/posix-*/*: force line break before @url of POSIX
59808         specifications.
59809         Suggested by Werner Lemberg.
59811 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59813         strtod: fix const diagnostic
59814         * lib/strtod.c (strtod): Don't assign const char * to char *,
59815         as this elicits a warning from GCC when warnings are enabled.
59817 2010-08-10  Pádraig Brady  <P@draigbrady.com>
59818         and Eric Blake  <eblake@redhat.com>
59820         copy-acl: ignore ENOTSUP on HP-UX
59821         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
59822         so that it is available for HP-UX.
59823         * lib/copy-acl.c (qcopy_acl): Use it.
59824         Reported by Patrick M. Callahan.
59826 2010-08-10  Eric Blake  <eblake@redhat.com>
59828         open, chown: relax license
59829         * modules/open (License): Change to LGPLv2+, with consent by all
59830         authors, for use in augeas.
59831         * modules/chown (License): Likewise.
59832         * modules/lchown (Likewise): Likewise.
59833         Requested by Adam Stokes.
59835 2010-08-09  Karl Berry  <karl@gnu.org>
59837         * build-aux/ar-lib: new file, import from Automake.
59838         * config/srclist.txt: autocheck for updates.
59840 2010-08-09  Eric Blake  <eblake@redhat.com>
59842         readlinkat: adjust client modules
59843         * modules/areadlinkat (Depends-on): Use readlinkat, not
59844         symlinkat.
59845         * modules/areadlinkat-with-size (Depends-on): Likewise.
59847         mknod: be more vocal about danger of running tests as root
59848         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
59849         root, since that is just asking for problems.
59850         Suggested by Bruno Haible, based on a report by Rainer Tammer.
59852         readlinkat: split into its own module
59853         * modules/symlinkat: Split readlinkat...
59854         * modules/readlinkat: ...into separate module.
59855         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
59856         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
59857         * lib/symlinkat.c (readlinkat): Move...
59858         * lib/readlinkat.c: ...into new file.
59859         * modules/symlinkat-tests: Split readlinkat test...
59860         * modules/readlinkat-tests: ...into separate module.
59861         * tests/test-symlinkat.c: Split...
59862         * tests/test-readlinkat.c: ...into new file.
59863         * NEWS: Document the split.
59864         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
59865         * lib/unistd.in.h (readlinkat): Likewise.
59866         Suggested by Bruno Haible.
59868 2010-08-08  Bruno Haible  <bruno@clisp.org>
59870         memxfrm: Speed up.
59871         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
59872         that usually only one call to strxfrm is necessary for each string
59873         part.
59874         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59876 2010-08-07  Karl Berry  <karl@gnu.org>
59878         * doc/posix-headers/limits.texi,
59879         * doc/posix-functions/malloc.texi,
59880         * doc/posix-functions/strsignal.texi: missing @item.
59881         * doc/ld-version-script.texi: spurious leading i.
59882         * doc/regex.texi (Interval Operators): no commas inside @var.
59884 2010-08-01  Bruno Haible  <bruno@clisp.org>
59886         Integrate the regex documentation.
59887         * doc/gnulib.texi: Define 'cn' index.
59888         (Regular expressions): New a chapter that includes regex.texi and
59889         regexprops-generic.texi.
59890         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
59891         syntax.
59893         Whitespace cleanup.
59894         * doc/regex.texi: Remove trailing spaces.
59896         Add regex documentation.
59897         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
59898         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
59899         Written by Kathy A. Hargreaves and Karl Berry.
59901 2010-08-01  Bruno Haible  <bruno@clisp.org>
59903         link: Update documentation.
59904         * doc/posix-functions/link.texi: Update regarding Solaris.
59906 2010-07-31  Bruno Haible  <bruno@clisp.org>
59908         Update modules list.
59909         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
59910         (String handling <string.h>): Add memcmp2, memxfrm.
59911         (Container data structures): Add xlist, xsublist, xoset.
59912         (Core language properties): Add alignof, unused-parameter.
59913         (Process control, Numeric conversion functions <stdlib.h>): Renamed
59914         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
59915         (Unibyte characters <ctype.h>): New section.
59916         (String handling <string.h>): New section.
59917         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
59918         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
59919         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
59920         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
59921         tan, tanh, tanl, y0, y1, yn.
59922         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
59923         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
59924         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
59925         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
59926         unlockpt, vdprintf, vdprintf-posix.
59927         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
59928         (File system functions): Add concat-filename, sys_file, sys_ioctl,
59929         xconcat-filename.
59930         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
59931         getdtablesize, pipe2, pipe2-safer.
59932         (Security): New section.
59933         (Networking functions): Add accept4.
59934         (Signal handling): Add sigpipe.
59935         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
59936         mbmemcasecoll.
59937         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
59938         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
59939         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
59940         pipe-filter-ii.
59941         (Misc): Add argp-version-etc, login_tty, parse-duration.
59943 2010-07-31  Bruno Haible  <bruno@clisp.org>
59945         Improve doc in MODULES.html.
59946         * modules/linkat (Description): Add the word "function".
59947         * modules/mkfifo (Description): Likewise.
59948         * modules/mknod (Description): Likewise.
59949         * modules/remove (Description): Likewise.
59950         * modules/renameat (Description): Likewise.
59951         * modules/stat (Description): Likewise.
59952         * modules/symlink (Description): Likewise.
59953         * modules/unlink (Description): Likewise.
59955 2010-07-31  Bruno Haible  <bruno@clisp.org>
59957         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
59958         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
59959         option --enable/disable-c++ instead of --enable/disable-cxx.
59960         * NEWS: Mention the change.
59962 2010-07-31  Bruno Haible  <bruno@clisp.org>
59964         readlink, areadlink: Relax test a bit.
59965         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
59966         alternative to ENOTDIR.
59967         * tests/test-areadlink.h (test_areadlink): Likewise.
59968         Reported by Rainer Tammer.
59970 2010-07-31  Bruno Haible  <bruno@clisp.org>
59972         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
59973         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
59974         character, perform the search using U_STRCHR.
59975         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
59976         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
59977         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
59978         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
59979         Suggested by Paolo Bonzini.
59981 2010-07-31  Bruno Haible  <bruno@clisp.org>
59983         unistr/u*-strstr: Fix dependencies.
59984         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
59985         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
59986         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
59988 2010-07-31  Bruno Haible  <bruno@clisp.org>
59990         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
59991         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
59992         the beginning of the loop.
59993         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
59994         cases in 'switch' statement.
59996         unistr/u8-strchr: Fix several bugs.
59997         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
59998         the string. When not found, return NULL, not a pointer near the end.
60000         More tests for unistr/u8-strchr.
60001         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
60002         that the function does not read past the first occurrence of the byte
60003         being searched.
60004         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
60005         * tests/unistr/test-u16-strchr.c (main): New function.
60006         * tests/unistr/test-u32-strchr.c (main): New function.
60008 2010-07-31  Bruno Haible  <bruno@clisp.org>
60010         posix-modules: Ignore backup files of documentation files.
60011         * posix-modules: grep only through files named *.texi.
60013 2010-07-31  Bruno Haible  <bruno@clisp.org>
60015         symlinkat: Fix documentation.
60016         * doc/posix-functions/readlinkat.texi: Fix module name.
60018 2010-07-31  Bruno Haible  <bruno@clisp.org>
60020         fchownat: Replace also when chown has the trailing slash bug.
60021         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
60022         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
60023         introduced on 2010-04-10.
60024         Reported by Rainer Tammer.
60026 2010-07-31  Bruno Haible  <bruno@clisp.org>
60028         linkat: Work around AIX 7.1 bug.
60029         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
60030         whether linkat handles trailing slash correctly. If not, replace linkat
60031         and define LINKAT_TRAILING_SLASH_BUG.
60032         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
60033         check whether (fd1,file1) points to a directory if file1 or file2 ends
60034         in a slash. Code taken from lib/link.c.
60035         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
60036         Reported by Rainer Tammer.
60038 2010-07-31  Bruno Haible  <bruno@clisp.org>
60040         Correctly determine whether pow is available in libc on AIX 7 with xlc.
60041         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
60042         This disables an xlc optimization that was causing wrong test results.
60043         Reported by Rainer Tammer.
60045 2010-07-31  Bruno Haible  <bruno@clisp.org>
60047         iconv: Work around AIX 6.1..7.1 bug.
60048         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
60049         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
60050         cross-compiling, guess no on all versions of AIX.
60051         Reported by Rainer Tammer.
60053 2010-07-31  Bruno Haible  <bruno@clisp.org>
60055         readlink: Relax test a bit.
60056         * tests/test-readlink.h (test_readlink): Allow different errno value
60057         when readlink is called with a file name that ends in / and refers to
60058         a file.
60059         Suggested by Eric Blake.
60060         Reported by Rainer Tammer.
60062 2010-07-31  Bruno Haible  <bruno@clisp.org>
60064         copysign: Does not require -lm on glibc systems.
60065         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
60066         gl_COMMON_DOUBLE_MATHFUNC.
60067         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
60069 2010-07-31  Bruno Haible  <bruno@clisp.org>
60071         duplocale: Work around AIX 7.1 bug.
60072         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
60073         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
60074         * lib/duplocale.c (rpl_duplocale): Update comment.
60075         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
60076         Reported by Rainer Tammer.
60078 2010-07-30  Bruno Haible  <bruno@clisp.org>
60080         dirfd: Avoid link error on AIX 7.1.
60081         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
60082         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
60083         exist, set REPLACE_DIRFD.
60084         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
60085         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
60086         * doc/posix-functions/dirfd.texi: Update.
60087         Reported by Rainer Tammer.
60089 2010-07-30  Eric Blake  <eblake@redhat.com>
60091         strtod: next round of AIX fixes
60092         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
60093         exponent.
60094         * tests/test-strtod.c (main): Enhance tests.
60095         * doc/posix-functions/strtod.texi (strtod): Document next bug.
60096         Reported by Rainer Tammer.
60098         futimens: fix configure check
60099         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
60100         Reported by Bruno Haible.
60102 2010-07-30  Bruno Haible  <bruno@clisp.org>
60104         getline: Update regarding AIX.
60105         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
60106         Reported by Rainer Tammer.
60108 2010-07-30  Bruno Haible  <bruno@clisp.org>
60110         wcwidth: Drop replacement on AIX 7.
60111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
60112         AIX 7.
60113         Reported by Rainer Tammer.
60115 2010-07-30  Bruno Haible  <bruno@clisp.org>
60117         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
60118         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
60119         a 'char *'.
60120         Reported by Rainer Tammer.
60122 2010-07-30  Bruno Haible  <bruno@clisp.org>
60124         unlink: Update regarding AIX.
60125         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
60126         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
60127         Reported by Rainer Tammer.
60129 2010-07-30  Bruno Haible  <bruno@clisp.org>
60131         symlink: Update regarding AIX.
60132         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
60133         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
60134         Reported by Rainer Tammer.
60136 2010-07-30  Bruno Haible  <bruno@clisp.org>
60138         strndup: Update regarding AIX.
60139         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
60140         AIX 7.
60141         Reported by Rainer Tammer.
60143 2010-07-30  Bruno Haible  <bruno@clisp.org>
60145         stat: Update regarding AIX.
60146         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
60147         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
60148         Reported by Rainer Tammer.
60150 2010-07-30  Bruno Haible  <bruno@clisp.org>
60152         truncl: Fix autoconf test.
60153         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
60154         whether truncl works.
60155         Reported by Rainer Tammer.
60157 2010-07-30  Bruno Haible  <bruno@clisp.org>
60159         round: Update regarding AIX.
60160         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
60161         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
60162         Reported by Rainer Tammer.
60164 2010-07-30  Bruno Haible  <bruno@clisp.org>
60166         rename: Update regarding AIX.
60167         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
60168         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
60169         Reported by Rainer Tammer.
60171 2010-07-30  Bruno Haible  <bruno@clisp.org>
60173         printf.m4: Update regarding AIX.
60174         * m4/printf.m4: Update comments regarding AIX.
60175         Reported by Rainer Tammer.
60177 2010-07-30  Bruno Haible  <bruno@clisp.org>
60179         iconv: Update regarding AIX.
60180         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
60181         AIX 7.
60182         Reported by Rainer Tammer.
60184 2010-07-30  Bruno Haible  <bruno@clisp.org>
60186         getopt: Update regarding AIX.
60187         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
60188         no on AIX.
60189         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
60190         Reported by Rainer Tammer.
60192 2010-07-30  Bruno Haible  <bruno@clisp.org>
60194         ldexpl; Update regarding AIX.
60195         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
60196         on AIX 7.
60197         Reported by Rainer Tammer.
60199 2010-07-30  Bruno Haible  <bruno@clisp.org>
60201         frexpl: Update regarding AIX.
60202         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
60203         on AIX 7.
60204         Reported by Rainer Tammer.
60206 2010-07-30  Bruno Haible  <bruno@clisp.org>
60208         open, fopen: Update regarding AIX.
60209         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
60210         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
60211         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
60212         * doc/posix-functions/fopen.texi: Likewise.
60213         Reported by Rainer Tammer.
60215 2010-07-30  Bruno Haible  <bruno@clisp.org>
60217         chown: Update doc regarding AIX.
60218         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
60219         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
60220         Reported by Rainer Tammer.
60222 2010-07-30  Eric Blake  <eblake@redhat.com>
60224         strtod: fix bug in replacement function on AIX
60225         * lib/strtod.c (strtod): Special case broken "0x" parse in
60226         underlying strtod.
60227         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
60228         * doc/posix-functions/strtod.texi (strtod): Likewise.
60229         Reported by Rainer Tammer.
60231 2010-07-30  Bruno Haible  <bruno@clisp.org>
60233         mbrlen: Fix cross-compilation guess for AIX.
60234         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
60235         guess. Leftover from 2008-12-22.
60237 2010-07-30  Bruno Haible  <bruno@clisp.org>
60239         mbrtowc: Fix cross-compilation guess for AIX.
60240         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
60241         guess. Leftover from 2008-12-21.
60243 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
60245         init.sh: work around trap limitation of some shells
60246         * tests/init.sh (setup_): Move exit trap outside of shell function.
60248 2010-07-29  Eric Blake  <eblake@redhat.com>
60250         strtod: aid debugging
60251         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
60252         understanding why strtod is rejected.
60254 2010-07-28  Bruno Haible  <bruno@clisp.org>
60256         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
60257         * lib/unistr/u8-chr.c: Include <string.h>.
60258         * tests/unistr/test-u8-chr.c: Likewise.
60259         * tests/unistr/test-u16-chr.c: Likewise.
60260         * tests/unistr/test-u32-chr.c: Likewise.
60261         * tests/unistr/test-u8-strchr.c: Likewise.
60262         * tests/unistr/test-u16-strchr.c: Likewise.
60263         * tests/unistr/test-u32-strchr.c: Likewise.
60264         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
60265         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
60266         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
60267         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
60269 2010-07-28  Bruno Haible  <bruno@clisp.org>
60271         Use spaces for indentation, not tabs.
60272         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
60274 2010-07-27  Bruno Haible  <bruno@clisp.org>
60276         mbspcasecmp: Fix function specification.
60277         * lib/string.in.h (mbspcasecmp): Fix specification comment.
60278         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
60279         Reported by Eric Blake <eblake@redhat.com>.
60281 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
60283         timespec: use cast and not conditional, as truncation isn't possible
60284         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
60285         instead of a conditional.  Comment about the situation in more detail.
60286         This undoes most of the 2009-10-29 patch.
60288 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
60290         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
60291         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
60292         * lib/unistr/u8-strchr.c: Likewise.
60293         * modules/unistr/u8-chr: Depend on memchr.
60295         unistr/u*-strchr: add tests
60296         * modules/unistr/u8-strchr-tests: New file.
60297         * modules/unistr/u16-strchr-tests: New file.
60298         * modules/unistr/u32-strchr-tests: New file.
60299         * tests/unistr/test-strchr.h: New file.
60300         * tests/unistr/test-u8-strchr.c: New file.
60301         * tests/unistr/test-u16-strchr.c: New file.
60302         * tests/unistr/test-u32-strchr.c: New file.
60304         unistr/u*-chr: test multibyte sequences more
60305         * tests/unistr/test-chr.h: Do complete testing of the characters in the
60306         test vector.
60307         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
60308         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
60309         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
60311         unistr/u*-chr: test multibyte sequences
60312         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
60314         unistr/u*-chr: prepare for multibyte tests
60315         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
60316         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
60317         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
60318         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
60319         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
60320         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
60322 2010-07-18  Bruno Haible  <bruno@clisp.org>
60324         unistr/u8-strchr: Optimize non-ASCII argument case.
60325         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
60326         because the first byte often matches anyway.
60327         Reported by Pádraig Brady <P@draigbrady.com>.
60329 2010-07-15  Karl Berry  <karl@gnu.org>
60331         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
60333 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
60335         getcwd: on Solaris, work better if ancestors are inaccessible
60336         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
60337         buffer and size, try again with a large buffer.  This works better
60338         on Solaris, since its getcwd succeeds even if the path to the root
60339         is inaccessible, and this is helpful in common cases such as .zfs
60340         hidden directories.  Problem reported by J Chapman Flack in
60341         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
60342         Use system getcwd if it's declared, not merely if it's partly
60343         working; use the partly-working test only to avoid needless effort
60344         if the system getcwd fails.
60345         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
60346         comment that was already obsolete and is now even more obsolete.
60347         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
60348         now might call strdup.
60350 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
60352         pthread: Add enough so that coreutils/src/sort.c compiles.
60353         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
60354         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
60355         gnulib. Include <sched.h> and <time.h>, as per POSIX.
60356         Include <sys/types.h>, in case it defines pthread_t.
60357         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
60358         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
60359         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
60360         (pthread_rwlockattr_t, pthread_spinlock_t):
60361         New typedefs, if HAVE_PTHREAD_T is not defined.
60362         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
60363         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
60364         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
60365         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
60366         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
60367         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
60368         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
60369         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
60370         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
60371         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
60372         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
60373         New macros.
60374         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
60375         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
60376         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
60377         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
60378         (pthread_spin_unlock): New dummy functions.
60379         (pthread_create): Return EAGAIN; don't set errno.
60380         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
60381         require AC_C_INLINE.
60382         * modules/pthread (Depends-on): Add sched, time.
60383         (pthread.h): Use AM_V_GEN.
60385 2010-07-13  Bruno Haible  <bruno@clisp.org>
60387         striconveh: Don't malloc memory if the result buffer is sufficient.
60388         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
60389         buffer if its size is sufficient.
60390         Reported by Ludovic Courtès <ludo@gnu.org>.
60392 2010-07-13  Bruno Haible  <bruno@clisp.org>
60394         strtod: Add safety check.
60395         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
60397 2010-07-12  Bruno Haible  <bruno@clisp.org>
60399         Unify tests that set gl_cv_func_ldexpl_no_libm.
60400         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
60401         gl_FUNC_LDEXPL.
60402         (gl_FUNC_LDEXPL): Invoke it.
60403         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
60405 2010-07-12  Bruno Haible  <bruno@clisp.org>
60407         Unify tests that set gl_cv_func_ldexp_no_libm.
60408         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
60409         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
60410         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
60411         (configure.ac): Simply invoke gl_FUNC_LDEXP.
60412         * modules/strtod (Files): Add m4/ldexp.m4.
60414 2010-07-12  Bruno Haible  <bruno@clisp.org>
60416         Unify tests that set gl_cv_func_frexpl_no_libm.
60417         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
60418         gl_FUNC_FREXPL_NO_LIBM.
60419         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
60420         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
60422 2010-07-12  Bruno Haible  <bruno@clisp.org>
60424         Unify tests that set gl_cv_func_frexp_no_libm.
60425         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
60426         gl_FUNC_FREXP_NO_LIBM.
60427         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
60428         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
60430 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
60432         memcoll: clarify sizes versus lengths, document better, and tweak perf
60433         * lib/memcoll.c (strcoll_loop, memcoll0):
60434         Improve quality of descriptive comments.  Name variables
60435         consistently as to whether they are lengths (which do not include
60436         terminating null) versus sizes (which do).
60437         * lib/xmemcoll.c (xmemcoll0): Likewise.
60438         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
60439         returned when s1size == 0; this is easier to compile and saves
60440         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
60442 2010-07-12  Bruno Haible  <bruno@clisp.org>
60444         Tests for module '_Exit'.
60445         * modules/_Exit-tests: New file.
60446         * tests/test-_Exit.sh: New file.
60447         * tests/test-_Exit.c: New file.
60449         New module '_Exit'.
60450         * lib/stdlib.in.h (__attribute__): New macro.
60451         (_Exit): New declaration.
60452         * lib/_Exit.c: New file.
60453         * m4/_Exit.m4: New file.
60454         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
60455         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
60456         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
60457         * modules/_Exit: New file.
60458         * tests/test-stdlib-c++.cc (_Exit): Check signature.
60459         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
60461 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
60463         strtod: make it more-accurate typically, and don't require libm
60464         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
60465         Include limits.h.  Don't include string.h.
60466         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
60467         (locale_isspace): New function, so that no casts are needed to
60468         check whether *s is a space.
60469         (ldexp): Provide an unused dummy if not available.
60470         (scale_radix_exp, parse_number, underlying_strtod): New functions.
60471         (strtod): Use them.  This implementation prefers to use the
60472         underlying strtod if available, falling back on our own code
60473         only to fix known bugs.  This is more likely to produce an
60474         accurate result.  Also, it avoids the use of libm functions.
60475         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
60476         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
60477         was absent, but it caused a test failure with coreutils.
60478         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
60479         with libm.
60480         * modules/strtod (Makefile.am, Link): libm is no longer needed.
60481         * modules/strtod-tests (Makefile.am): Likewise.
60483 2010-07-11  Pádraig Brady  <P@draigBrady.com>
60484             Bruno Haible  <bruno@clisp.org>
60486         unistr/u8-strchr: Optimize ASCII argument case.
60487         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
60489 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60491         (x)memcoll: minor tweaks
60492         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
60493         is after the type that it qualifies.
60494         (memcoll0): Likewise.
60495         * lib/memcoll.h (memcoll0): Likewise.
60496         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
60497         * lib/xmemcoll.h (xmemcoll0): Likewise.
60498         * lib/memcoll.c (memcoll0): Correct the comment.  This function
60499         differs from memcoll in that the NUL byte is part of the argument.
60500         Omit the abort-checks, as performance is a real issue here.  Plus,
60501         the checks were wrong anyway (an off-by-one error).  Omit local
60502         variable 'diff', as it's a bit clearer that way.
60503         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
60504         no longer needed.
60506 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
60508         (x)memcoll: speedup when input is known to be NUL delimited
60509         * lib/memcoll.c: Include stdlib.
60510         (memcoll0): New function.
60511         (strcoll_loop): New function, refactored for use in both memcoll
60512         and memcoll0.
60513         * lib/memcoll.h (memcoll0): Add prototype.
60514         * lib/xmemcoll.c (xmemcoll0): New function.
60515         (collate_error): New function, refactored for use in both xmemcoll
60516         and xmemcoll0.
60517         * lib/xmemcoll.h (xmemcoll0): Add prototype.
60518         * m4/memcoll.m4: add inline invocation.
60520 2010-07-06  Pádraig Brady  <P@draigBrady.com>
60522         * build-aux/bootstrap: Remove any local translations
60523         from the translation project synchronization directory,
60524         so that local only translations are not distributed.
60526 2010-07-04  Bruno Haible  <bruno@clisp.org>
60528         fsusage: Clarify which code applies to which platforms.
60529         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
60530         platform.
60531         * lib/fsusage.c (get_fs_usage): Likewise.
60533 2010-07-04  Bruno Haible  <bruno@clisp.org>
60535         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
60536         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
60537         Reported by Martin Lambers <marlam@marlam.de>.
60539 2010-07-04  Jim Meyering  <meyering@redhat.com>
60541         hash: once again explicitly disallow insertion of NULL
60542         * lib/hash.c (hash_insert0): Reinstate just-removed test:
60543         inserting a NULL pointer cannot work with these functions.
60544         Add a comment with details.
60545         This reverts part of the 2010-07-01 commit, 5bef1a35
60546         "hash: extend module to deal with non-pointer keys".
60548 2010-07-01  Bruno Haible  <bruno@clisp.org>
60550         stdbool: Update doc.
60551         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
60552         Info from Christian Weisgerber <naddy@mips.inka.de>.
60554 2010-07-01  Jim Meyering  <meyering@redhat.com>
60556         hash: extend module to deal with non-pointer keys
60557         * lib/hash.c (hash_insert0): New interface, much like hash_insert
60558         but that allows insertion of non-pointer entries.
60559         Do not disallow an ENTRY value of NULL.
60560         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
60561         * lib/hash.h (hash_insert0): Declare.
60563 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
60565         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
60566         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
60567         not present (i.e. with autoconf 2.59 and when using gettextize, not
60568         gnulib), require AC_GNU_SOURCE instead.
60570 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
60572         idpriv-drop: Fix tests.
60573         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
60574         not to the test-idpriv-droptemp program.
60576 2010-06-29  Bruno Haible  <bruno@clisp.org>
60578         string: Fix syntax error with g++ 2.96.
60579         * lib/string.in.h (__pure__): Remove definition.
60580         (_GL_ATTRIBUTE_PURE): New macro.
60581         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
60582         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
60583         Reported by Christian Weisgerber <naddy@mips.inka.de>.
60585 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
60587         unitypes: Fix bug introduced on 2010-05-18.
60588         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
60590 2010-06-22  Eric Blake  <eblake@redhat.com>
60592         memmem: slight optimization
60593         * lib/str-two-way.h (critical_factorization): Update comments.
60594         Reduce work during factorization phase.
60595         Reported by Carlos Bueno <carlos@bueno.org>.
60597 2010-06-21  Bruno Haible  <bruno@clisp.org>
60599         Fix HAVE_CALLOC_POSIX misnomer.
60600         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
60601         !HAVE_CALLOC_POSIX.
60602         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
60603         HAVE_CALLOC_POSIX.
60604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
60605         instead of HAVE_CALLOC_POSIX.
60606         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
60607         HAVE_CALLOC_POSIX.
60609         Use modern idiom for calloc() replacement.
60610         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
60611         AC_FUNC_CALLOC.
60612         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
60613         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
60614         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
60615         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
60616         (gl_REPLACE_CALLOC): New macro.
60618 2010-06-21  Bruno Haible  <bruno@clisp.org>
60620         Fix HAVE_REALLOC_POSIX misnomer.
60621         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
60622         !HAVE_REALLOC_POSIX.
60623         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
60624         HAVE_REALLOC_POSIX.
60625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
60626         instead of HAVE_REALLOC_POSIX.
60627         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
60628         HAVE_REALLOC_POSIX.
60630         Use modern idiom for realloc() replacement.
60631         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
60632         AC_FUNC_REALLOC.
60633         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
60634         Autoconf's AC_FUNC_REALLOC.
60635         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
60636         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
60637         (gl_REPLACE_REALLOC): New macro.
60638         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
60640 2010-06-21  Bruno Haible  <bruno@clisp.org>
60642         Fix HAVE_MALLOC_POSIX misnomer.
60643         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
60644         !HAVE_MALLOC_POSIX.
60645         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
60646         HAVE_MALLOC_POSIX.
60647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
60648         instead of HAVE_MALLOC_POSIX.
60649         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
60650         HAVE_MALLOC_POSIX.
60652         Use modern idiom for malloc() replacement.
60653         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
60654         AC_FUNC_MALLOC.
60655         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
60656         Autoconf's AC_FUNC_MALLOC.
60657         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
60658         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
60659         (gl_REPLACE_MALLOC): New macro.
60660         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
60662 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
60664         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
60665         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
60666         This macro takes 3 arguments, not 4.
60668 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
60670         ipv6: fix detection under mingw
60671         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
60672         in6_addr.
60674 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
60676         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
60677         that strtod() works when cross-compiling to a glibc version known
60678         to work.
60680 2010-06-15  Bruno Haible  <bruno@clisp.org>
60682         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
60684 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
60686         select: Correct timeout.
60687         * lib/select.c (rpl_select): Compute wait_timeout correctly.
60689 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60691         git-version-gen: init shell var to avoid env var influence
60692         * build-aux/git-version-gen (v): Init shell var to empty.
60694 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
60696         priv-set: Don't assume that priv.h exists merely because getppriv does.
60697         See Jan Andersen's bug report about AIX 5L in
60698         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
60699         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
60700         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
60701         * lib/priv-set.h: Likewise.
60702         * tests/test-priv-set.c: Likewise.
60704 2010-06-13  Bruno Haible  <bruno@clisp.org>
60706         relocatable: Make it easier to test whether to install wrappers.
60707         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
60708         RELOCATABLE_VIA_WRAPPER.
60710 2010-06-13  Bruno Haible  <bruno@clisp.org>
60712         gnulib-tool: Display specified modules and dependencies differently.
60713         * gnulib-tool (func_show_module_list): New function.
60714         (func_import, func_create_testdir): Invoke it.
60715         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60717 2010-06-13  Bruno Haible  <bruno@clisp.org>
60719         gnulib-tool: Align code of func_import and func_create_testdir.
60720         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
60721         specified_modules.
60723 2010-06-12  Jim Meyering  <meyering@redhat.com>
60725         test-inttostr: avoid spurious failure on Solaris 9
60726         * tests/test-inttostr.c (main): Skip the test when snprintf fails
60727         to accept "%ju".  Reported by Bruno Haible.
60729 2010-06-11  Jim Meyering  <meyering@redhat.com>
60731         test-sys_socket: mark variables as used more readably
60732         * tests/test-sys_socket.c (main): Mark otherwise unused variables
60733         as "used" explicitly via (void) statement casts.  This is more
60734         readable than using them in an artificial return expression.
60735         Suggestion from Bruno Haible.
60737 2010-06-11  Bruno Haible  <bruno@clisp.org>
60739         Avoid some more warnings from "gcc -Wwrite-strings".
60740         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
60741         to 'const char *'.
60742         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
60743         * tests/test-c-strcasestr.c (main): Likewise.
60744         * tests/test-mbscasestr1.c (main): Likewise.
60745         * tests/test-mbscasestr2.c (main): Likewise.
60746         * tests/test-memmem.c (main): Likewise.
60747         * tests/test-strstr.c (main): Likewise.
60748         * tests/test-strcasestr.c (main): Likewise.
60750 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60752         init.sh: change framework_failure_ to fail with status 99, not 1
60753         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
60754         automake's parallel-tests rule that this is an unexpected failure,
60755         even if the test is listed in XFAIL_TESTS.
60757 2010-06-11  Jim Meyering  <meyering@redhat.com>
60759         test-inttostr: avoid warnings about 4-6KB literal strings
60760         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
60761         Include "macros.h", for its definition of ASSERT.
60762         (CK): s/assert/ASSERT/
60763         * modules/inttostr-tests (Files): Add macros.h.
60765         init.sh: don't use $ME_ or skip_ before they are defined
60766         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
60767         their first uses.  Also hoist their companions: warn_, fail_,
60768         framework_failure_, $stderr_fileno.  Prompted by a patch from
60769         Stefano Lattarini.
60771         test-sys_socket: avoid set-but-not-used warnings from gcc
60772         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
60773         avoid warning about set-but-not-used variables.
60775         test-xvasprintf: avoid 'const' discard warnings
60776         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
60777         "const" when assigning from literal strings.
60778         (test_xasprintf): Add "void" in function argument list to placate
60779         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
60781         tests: avoid compilation warnings in argmatch and exclude tests...
60782         in packages that define ARGMATCH_DIE_DECL, like coreutils.
60783         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
60784         Since it always exits, declare with the "noreturn" attribute.
60785         * tests/test-argmatch.c: Likewise.
60787         tests: avoid 'const' discard warnings in mbsstr tests
60788         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
60789         * tests/test-mbsstr2.c (main): Likewise.
60791         test-verify: avoid warning from gcc's -Wmissing-declarations
60792         * tests/test-verify.c (function): Declare to be static.
60794         test-inttostr.c: include <string.h> for use of strcmp
60795         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
60797         test-linkat: avoid failed assertion on "other" architectures
60798         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
60799         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
60800         sparc: https://bugs.launchpad.net/bugs/591968
60802 2010-06-11  Jim Meyering  <meyering@redhat.com>
60804         printf.m4: avoid autoconf's "Expanded Before Required" warning
60805         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
60806         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
60807         autoconf warning.
60809 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
60811         Replacement header templates are now named with ".in", not "_".
60812         * doc/gnulib-intro.texi: Correct.
60814 2010-06-10  Jim Meyering  <meyering@redhat.com>
60816         inttostr-tests: depend on snprintf, not snprintf-posix
60817         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
60818         snprintf-posix, to avoid this aclocal failure:
60819           missing file gnulib-tests/vasnprintf.c
60820           configure.ac:45: error: expected source file, required through \
60821           AC_LIBSOURCES, not found
60823 2010-06-10  Jim Meyering  <meyering@redhat.com>
60825         inttostr: add a new function, inttostr, and tests
60826         The namesake function was not available.  The existence of the
60827         template file, inttostr.c makes its addition nontrivial.
60828         * lib/anytostr.c: Rename from inttostr.c.
60829         (anytostr): Rename from inttostr.
60830         * lib/inttostr.c: New file.
60831         * modules/inttostr (Files): Add anytostr.c.
60832         (Makefile.am): Set lib_SOURCES instead of ...
60833         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
60834         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
60835         * lib/offtostr.c: Likewise.
60836         * lib/uinttostr.c: Likewise.
60837         * lib/umaxtostr.c: Likewise.
60838         * modules/inttostr-tests: New file.
60839         * tests/test-inttostr.c: New file.  Test these functions.
60841 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
60842             Bruno Haible  <bruno@clisp.org>
60844         Add "Extending Gnulib" chapter to manual.
60845         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
60846         chapter.
60847         (Extending Gnulib): New chapter.
60848         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
60849         chapter.
60851 2010-06-09  Bruno Haible  <bruno@clisp.org>
60853         Avoid relocwrapper link errors due to gnulib replacement functions.
60854         * lib/areadlink.c: Use the system's malloc, realloc functions.
60855         (areadlink): Set errno to ENOMEM explicitly.
60856         * modules/areadlink (Depends-on): Remove malloc-posix.
60857         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60859 2010-06-09  Bruno Haible  <bruno@clisp.org>
60861         Avoid relocwrapper link errors due to gnulib replacement functions.
60862         * lib/canonicalize-lgpl.c: Use the system's malloc function.
60863         * lib/malloca.c: Likewise.
60864         * lib/relocatable.c: Likewise.
60865         * lib/progreloc.c: Use the system's malloc, sprintf functions.
60866         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
60867         * lib/setenv.c: Use the system's malloc, realloc functions.
60868         * lib/strerror.c: Use the system's sprintf function.
60869         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60871 2010-06-04  Bruno Haible  <bruno@clisp.org>
60873         Prefer documented low-level autoconf macro names.
60874         * m4/lib-link.m4: Use m4_translit instead of translit.
60875         * m4/environ.m4: Likewise.
60876         * m4/mathfunc.m4: Likewise.
60877         * m4/onceonly.m4: Likewise.
60878         * m4/stdint.m4: Likewise.
60879         Suggested by Eric Blake.
60881 2010-06-04  Martin Lambers  <marlam@marlam.de>
60882             Bruno Haible  <bruno@clisp.org>
60884         havelib: Allow library names with '+' characters.
60885         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60886         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
60888 2010-06-09  Bruno Haible  <bruno@clisp.org>
60890         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
60891         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
60892         realloc failed.
60894 2010-06-08  Peter Simons  <simons@cryp.to>
60896         maint.mk: make the news-check rule more configurable
60897         * top/maint.mk (news-check-lines-spec): New variable.
60898         (news-check): Use "sed -n 1,10p" in place of "head".
60900 2010-06-07  Jim Meyering  <meyering@redhat.com>
60902         do-release-commit-and-tag: fix typo in --help
60903         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
60905         regex: avoid new dead-code warning with gcc-4.6.0
60906         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
60907         if-block containing a while-loop.  It's been unused for at least
60908         5 years.
60910 2010-06-05  Bruno Haible  <bruno@clisp.org>
60912         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
60913         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
60915 2010-06-04  Bruno Haible  <bruno@clisp.org>
60917         Update to GNU gettext 0.18.1.
60918         * modules/gettext (configure.ac): Require gettext infrastructure from
60919         version 0.18.1.
60921 2010-06-03  Bruno Haible  <bruno@clisp.org>
60923         Don't use AC_LIBOBJ with file names in subdirectories.
60924         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
60925         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
60926         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
60927         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
60928         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
60929         gl_LIBUNISTRING_LIBSOURCE.
60930         (Makefile.am): Augment lib_SOURCES here, conditionally.
60931         * NEWS: Drop requirement for Automake option 'subdir-objects'.
60933 2010-06-03  Bruno Haible  <bruno@clisp.org>
60935         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
60936         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
60937         expansion does not end with a newline.
60938         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
60939         unnecessary newline.
60941 2010-06-03  Bruno Haible  <bruno@clisp.org>
60943         Reduce dependencies.
60944         * tests/test-quotearg.h: New file, extracted from
60945         tests/test-quotearg.c.
60946         * tests/test-quotearg-simple.c: New file, extracted from
60947         tests/test-quotearg.c.
60948         * tests/test-quotearg.c: Don't include <ctype.h>.
60949         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
60950         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
60951         use_quote_double_quotes, use_quotearg_colon): Moved to
60952         tests/test-quotearg.h.
60953         (results_g, flag_results, custom_quotes, custom_results): Moved
60954         to tests/test-quotearg-simple.c.
60955         (main): Moved the part that does not depend on gettext to
60956         tests/test-quotearg-simple.c. Return 77 if the test cannot be
60957         performed.
60958         * modules/quotearg-simple: New file.
60959         * modules/quotearg-simple-tests: New file.
60960         * modules/quotearg (Depends-on): Add quotearg-simple.
60961         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
60962         (Files): Add tests/test-quotearg.h.
60963         Reported by Paolo Bonzini.
60965 2010-06-03  Bruno Haible  <bruno@clisp.org>
60967         Reduce dependencies.
60968         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
60970 2010-06-03  Bruno Haible  <bruno@clisp.org>
60972         time: Undefine more broken macros.
60973         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
60974         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
60975         Reported by Eric Blake.
60977 2010-06-03  Bruno Haible  <bruno@clisp.org>
60979         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
60980         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
60981         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
60982         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
60983         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
60984         Reported by Ludovic Courtès <ludo@gnu.org>.
60986 2010-06-02  Eric Blake  <eblake@redhat.com>
60988         time: work with mingw + pthreads-win32 library
60989         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
60990         if timespec is defined only in pthread.h.
60991         * modules/time (Makefile.am): Substitute it.
60992         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
60993         <pthread.h>, when needed.
60994         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
60995         from the library.
60997 2010-05-31  Bruno Haible  <bruno@clisp.org>
60999         Avoid expanding two macros in the wrong order.
61000         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
61001         gl_LIBUNISTRING if it is defined.
61002         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
61003         autoconf >= 2.64.
61004         Reported by Ludovic Courtès <ludo@gnu.org>.
61006 2010-05-27  Jim Meyering  <meyering@redhat.com>
61008         maint.mk: also prohibit "#undef" of always-defined symbols
61009         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
61010         Allow more than one space before the symbol name.
61011         (sc_prohibit_always-defined_macros): Use grep's -E, now that
61012         the regexp uses alternation.
61014 2010-05-26  Eric Blake  <eblake@redhat.com>
61016         maint.mk: avoid echo -e
61017         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
61018         Convert all uses of echo -* to printf.
61019         Reported by Matthias Bolte.
61021 2010-05-25  Bruno Haible  <bruno@clisp.org>
61023         Update to GNU gettext 0.18, part 2.
61024         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
61025         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
61027 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61029         Add missing include in test-pwrite.c.
61030         * tests/test-pwrite.c: Include string.h, for strcmp.
61032 2010-05-24  Bruno Haible  <bruno@clisp.org>
61034         * NEWS: Mention requirement for Automake option 'subdir-objects'.
61036 2010-05-24  Bruno Haible  <bruno@clisp.org>
61038         Don't use conversion with transliteration in u{8,16,32}_strcoll.
61039         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
61040         iconveh_error argument.
61041         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
61042         U_STRCONV_TO_LOCALE.
61043         * lib/unistr/u16-strcoll.c: Likewise.
61044         * lib/unistr/u32-strcoll.c: Likewise.
61045         * modules/unistr/u8-strcoll (Depends-on): Add
61046         uniconv/u8-strconv-to-enc, localcharset. Remove
61047         uniconv/u8-strconv-to-locale.
61048         (configure.ac): Bump version number.
61049         * modules/unistr/u16-strcoll (Depends-on): Add
61050         uniconv/u16-strconv-to-enc, localcharset. Remove
61051         uniconv/u16-strconv-to-locale.
61052         (configure.ac): Bump version number.
61053         * modules/unistr/u32-strcoll (Depends-on): Add
61054         uniconv/u32-strconv-to-enc, localcharset. Remove
61055         uniconv/u32-strconv-to-locale.
61056         (configure.ac): Bump version number.
61058 2010-05-24  Bruno Haible  <bruno@clisp.org>
61060         Avoid a test failure on NetBSD 5.0.
61061         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
61062         an iconv() bug.
61064 2010-05-24  Bruno Haible  <bruno@clisp.org>
61066         Adjust #include directive style.
61067         * modules/regex (Includes): Recommend to write <regex.h>.
61069 2010-05-24  Bruno Haible  <bruno@clisp.org>
61071         regex: Don't require alloca.
61072         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
61073         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
61074         only inside if (0).
61076 2010-05-23  Jim Meyering  <meyering@redhat.com>
61078         test-renameat.c: include <sys/stat.h>
61079         * tests/test-renameat.c: Include <sys/stat.h>; required for
61080         definition of S_IS* macros.
61082 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
61084         Update maintainer documentation for 'relocatable-prog' module.
61085         * doc/relocatable-maint.texi: Update.
61086         Comments by Bruno Haible.
61088 2010-05-23  Bruno Haible  <bruno@clisp.org>
61090         git-merge-changelog: Enable --split-merged-entry by default.
61091         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
61092         (usage): Don't mention this option any more.
61093         Reported by Ralf Wildenhues.
61095 2010-05-23  Jim Meyering  <meyering@redhat.com>
61097         test-pwrite: do not leave behind a test file named "out"
61098         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
61099         The trivial-looking use of init.sh is really necessary.
61100         It ensures that the temporary file, "out", is created in
61101         a temporary directory, and removed upon termination.
61102         * tests/test-pwrite.sh: Re-add file.
61103         * modules/pwrite-tests: Reference it.
61105 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61107         Fix output redirection buglet in init.sh.
61108         * tests/init.sh: Fix redirection of stderr.
61110 2010-05-20  Simon Josefsson  <simon@josefsson.org>
61112         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
61114 2010-05-17  Simon Josefsson  <simon@josefsson.org>
61116         * modules/valgrind-tests: New file.
61117         * m4/valgrind-tests.m4: New file.
61118         * doc/valgrind-tests.texi: New file.
61119         * doc/gnulib.texi (Running self-tests under valgrind): New
61120         section.
61122 2010-05-19  Bruno Haible  <bruno@clisp.org>
61124         Clean up dead code in recent commit.
61125         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
61126         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
61127         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
61128         Suggested by Paolo Bonzini.
61130 2010-05-19  Bruno Haible  <bruno@clisp.org>
61132         Avoid valgrind error reports from libunistring.
61133         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
61134         * modules/libunistring (Files): Add it.
61135         * modules/libunistring-optional (Files): Likewise.
61137 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
61138             Bruno Haible  <bruno@clisp.org>
61140         New module 'libunistring-optional'.
61141         * modules/libunistring-optional: New file.
61142         * m4/libunistring-base.m4: New file.
61143         * m4/libunistring-optional.m4: New file.
61144         * lib/unicase.in.h: Renamed from lib/unicase.h.
61145         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
61146         * lib/unictype.in.h: Renamed from lib/unictype.h.
61147         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
61148         * lib/uniname.in.h: Renamed from lib/uniname.h.
61149         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
61150         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
61151         * lib/unistr.in.h: Renamed from lib/unistr.h.
61152         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
61153         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
61154         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
61155         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
61156         gl_LIBUNISTRING. If the library was found, determine the installed
61157         version and set LIBUNISTRING_VERSION.
61158         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
61159         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
61160         handle a configuration option --with-included-libunistring.
61161         * modules/libunistring (Files): Add m4/absolute-header.m4.
61162         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
61163         Add m4/libunistring-base.m4.
61164         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61165         (Makefile.am): Build unicase.h from unicase.in.h.
61166         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
61167         Add m4/libunistring-base.m4.
61168         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61169         (Makefile.am): Build uniconv.h from uniconv.in.h.
61170         * modules/unictype/base (Files): Use unictype.in.h instead of
61171         unictype.h. Add m4/libunistring-base.m4.
61172         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61173         (Makefile.am): Build unictype.h from unictype.in.h.
61174         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
61175         Add m4/libunistring-base.m4.
61176         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61177         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
61178         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
61179         Add m4/libunistring-base.m4.
61180         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61181         (Makefile.am): Build uniname.h from uniname.in.h.
61182         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
61183         Add m4/libunistring-base.m4.
61184         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61185         (Makefile.am): Build uninorm.h from uninorm.in.h.
61186         * modules/unistdio/base (Files): Use unistdio.in.h instead of
61187         unistdio.h. Add m4/libunistring-base.m4.
61188         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61189         (Makefile.am): Build unistdio.h from unistdio.in.h.
61190         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
61191         Add m4/libunistring-base.m4.
61192         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61193         (Makefile.am): Build unistr.h from unistr.in.h.
61194         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
61195         Add m4/libunistring-base.m4.
61196         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61197         (Makefile.am): Build unitypes.h from unitypes.in.h.
61198         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
61199         Add m4/libunistring-base.m4.
61200         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61201         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
61202         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
61203         uniwidth.h. Add m4/libunistring-base.m4.
61204         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
61205         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
61206         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
61207         instead of augmenting lib_SOURCES.
61208         * modules/unicase/empty-suffix-context: Likewise.
61209         * modules/unicase/locale-language: Likewise.
61210         * modules/unicase/tolower: Likewise.
61211         * modules/unicase/totitle: Likewise.
61212         * modules/unicase/toupper: Likewise.
61213         * modules/unicase/u8-casecmp: Likewise.
61214         * modules/unicase/u8-casecoll: Likewise.
61215         * modules/unicase/u8-casefold: Likewise.
61216         * modules/unicase/u8-casexfrm: Likewise.
61217         * modules/unicase/u8-ct-casefold: Likewise.
61218         * modules/unicase/u8-ct-tolower: Likewise.
61219         * modules/unicase/u8-ct-totitle: Likewise.
61220         * modules/unicase/u8-ct-toupper: Likewise.
61221         * modules/unicase/u8-is-cased: Likewise.
61222         * modules/unicase/u8-is-casefolded: Likewise.
61223         * modules/unicase/u8-is-lowercase: Likewise.
61224         * modules/unicase/u8-is-titlecase: Likewise.
61225         * modules/unicase/u8-is-uppercase: Likewise.
61226         * modules/unicase/u8-prefix-context: Likewise.
61227         * modules/unicase/u8-suffix-context: Likewise.
61228         * modules/unicase/u8-tolower: Likewise.
61229         * modules/unicase/u8-totitle: Likewise.
61230         * modules/unicase/u8-toupper: Likewise.
61231         * modules/unicase/u16-casecmp: Likewise.
61232         * modules/unicase/u16-casecoll: Likewise.
61233         * modules/unicase/u16-casefold: Likewise.
61234         * modules/unicase/u16-casexfrm: Likewise.
61235         * modules/unicase/u16-ct-casefold: Likewise.
61236         * modules/unicase/u16-ct-tolower: Likewise.
61237         * modules/unicase/u16-ct-totitle: Likewise.
61238         * modules/unicase/u16-ct-toupper: Likewise.
61239         * modules/unicase/u16-is-cased: Likewise.
61240         * modules/unicase/u16-is-casefolded: Likewise.
61241         * modules/unicase/u16-is-lowercase: Likewise.
61242         * modules/unicase/u16-is-titlecase: Likewise.
61243         * modules/unicase/u16-is-uppercase: Likewise.
61244         * modules/unicase/u16-prefix-context: Likewise.
61245         * modules/unicase/u16-suffix-context: Likewise.
61246         * modules/unicase/u16-tolower: Likewise.
61247         * modules/unicase/u16-totitle: Likewise.
61248         * modules/unicase/u16-toupper: Likewise.
61249         * modules/unicase/u32-casecmp: Likewise.
61250         * modules/unicase/u32-casecoll: Likewise.
61251         * modules/unicase/u32-casefold: Likewise.
61252         * modules/unicase/u32-casexfrm: Likewise.
61253         * modules/unicase/u32-ct-casefold: Likewise.
61254         * modules/unicase/u32-ct-tolower: Likewise.
61255         * modules/unicase/u32-ct-totitle: Likewise.
61256         * modules/unicase/u32-ct-toupper: Likewise.
61257         * modules/unicase/u32-is-cased: Likewise.
61258         * modules/unicase/u32-is-casefolded: Likewise.
61259         * modules/unicase/u32-is-lowercase: Likewise.
61260         * modules/unicase/u32-is-titlecase: Likewise.
61261         * modules/unicase/u32-is-uppercase: Likewise.
61262         * modules/unicase/u32-prefix-context: Likewise.
61263         * modules/unicase/u32-suffix-context: Likewise.
61264         * modules/unicase/u32-tolower: Likewise.
61265         * modules/unicase/u32-totitle: Likewise.
61266         * modules/unicase/u32-toupper: Likewise.
61267         * modules/unicase/ulc-casecmp: Likewise.
61268         * modules/unicase/ulc-casecoll: Likewise.
61269         * modules/unicase/ulc-casexfrm: Likewise.
61270         * modules/uniconv/u8-conv-from-enc: Likewise.
61271         * modules/uniconv/u8-conv-to-enc: Likewise.
61272         * modules/uniconv/u8-strconv-from-enc: Likewise.
61273         * modules/uniconv/u8-strconv-from-locale: Likewise.
61274         * modules/uniconv/u8-strconv-to-enc: Likewise.
61275         * modules/uniconv/u8-strconv-to-locale: Likewise.
61276         * modules/uniconv/u16-conv-from-enc: Likewise.
61277         * modules/uniconv/u16-conv-to-enc: Likewise.
61278         * modules/uniconv/u16-strconv-from-enc: Likewise.
61279         * modules/uniconv/u16-strconv-from-locale: Likewise.
61280         * modules/uniconv/u16-strconv-to-enc: Likewise.
61281         * modules/uniconv/u16-strconv-to-locale: Likewise.
61282         * modules/uniconv/u32-conv-from-enc: Likewise.
61283         * modules/uniconv/u32-conv-to-enc: Likewise.
61284         * modules/uniconv/u32-strconv-from-enc: Likewise.
61285         * modules/uniconv/u32-strconv-from-locale: Likewise.
61286         * modules/uniconv/u32-strconv-to-enc: Likewise.
61287         * modules/uniconv/u32-strconv-to-locale: Likewise.
61288         * modules/unictype/bidicategory-byname: Likewise.
61289         * modules/unictype/bidicategory-name: Likewise.
61290         * modules/unictype/bidicategory-of: Likewise.
61291         * modules/unictype/bidicategory-test: Likewise.
61292         * modules/unictype/block-list: Likewise.
61293         * modules/unictype/block-test: Likewise.
61294         * modules/unictype/category-C: Likewise.
61295         * modules/unictype/category-Cc: Likewise.
61296         * modules/unictype/category-Cf: Likewise.
61297         * modules/unictype/category-Cn: Likewise.
61298         * modules/unictype/category-Co: Likewise.
61299         * modules/unictype/category-Cs: Likewise.
61300         * modules/unictype/category-L: Likewise.
61301         * modules/unictype/category-Ll: Likewise.
61302         * modules/unictype/category-Lm: Likewise.
61303         * modules/unictype/category-Lo: Likewise.
61304         * modules/unictype/category-Lt: Likewise.
61305         * modules/unictype/category-Lu: Likewise.
61306         * modules/unictype/category-M: Likewise.
61307         * modules/unictype/category-Mc: Likewise.
61308         * modules/unictype/category-Me: Likewise.
61309         * modules/unictype/category-Mn: Likewise.
61310         * modules/unictype/category-N: Likewise.
61311         * modules/unictype/category-Nd: Likewise.
61312         * modules/unictype/category-Nl: Likewise.
61313         * modules/unictype/category-No: Likewise.
61314         * modules/unictype/category-P: Likewise.
61315         * modules/unictype/category-Pc: Likewise.
61316         * modules/unictype/category-Pd: Likewise.
61317         * modules/unictype/category-Pe: Likewise.
61318         * modules/unictype/category-Pf: Likewise.
61319         * modules/unictype/category-Pi: Likewise.
61320         * modules/unictype/category-Po: Likewise.
61321         * modules/unictype/category-Ps: Likewise.
61322         * modules/unictype/category-S: Likewise.
61323         * modules/unictype/category-Sc: Likewise.
61324         * modules/unictype/category-Sk: Likewise.
61325         * modules/unictype/category-Sm: Likewise.
61326         * modules/unictype/category-So: Likewise.
61327         * modules/unictype/category-Z: Likewise.
61328         * modules/unictype/category-Zl: Likewise.
61329         * modules/unictype/category-Zp: Likewise.
61330         * modules/unictype/category-Zs: Likewise.
61331         * modules/unictype/category-and: Likewise.
61332         * modules/unictype/category-and-not: Likewise.
61333         * modules/unictype/category-byname: Likewise.
61334         * modules/unictype/category-name: Likewise.
61335         * modules/unictype/category-none: Likewise.
61336         * modules/unictype/category-of: Likewise.
61337         * modules/unictype/category-or: Likewise.
61338         * modules/unictype/category-test: Likewise.
61339         * modules/unictype/combining-class: Likewise.
61340         * modules/unictype/ctype-alnum: Likewise.
61341         * modules/unictype/ctype-alpha: Likewise.
61342         * modules/unictype/ctype-blank: Likewise.
61343         * modules/unictype/ctype-cntrl: Likewise.
61344         * modules/unictype/ctype-digit: Likewise.
61345         * modules/unictype/ctype-graph: Likewise.
61346         * modules/unictype/ctype-lower: Likewise.
61347         * modules/unictype/ctype-print: Likewise.
61348         * modules/unictype/ctype-punct: Likewise.
61349         * modules/unictype/ctype-space: Likewise.
61350         * modules/unictype/ctype-upper: Likewise.
61351         * modules/unictype/ctype-xdigit: Likewise.
61352         * modules/unictype/decimal-digit: Likewise.
61353         * modules/unictype/digit: Likewise.
61354         * modules/unictype/mirror: Likewise.
61355         * modules/unictype/numeric: Likewise.
61356         * modules/unictype/property-alphabetic: Likewise.
61357         * modules/unictype/property-ascii-hex-digit: Likewise.
61358         * modules/unictype/property-bidi-arabic-digit: Likewise.
61359         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
61360         * modules/unictype/property-bidi-block-separator: Likewise.
61361         * modules/unictype/property-bidi-boundary-neutral: Likewise.
61362         * modules/unictype/property-bidi-common-separator: Likewise.
61363         * modules/unictype/property-bidi-control: Likewise.
61364         * modules/unictype/property-bidi-embedding-or-override: Likewise.
61365         * modules/unictype/property-bidi-eur-num-separator: Likewise.
61366         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
61367         * modules/unictype/property-bidi-european-digit: Likewise.
61368         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
61369         * modules/unictype/property-bidi-left-to-right: Likewise.
61370         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
61371         * modules/unictype/property-bidi-other-neutral: Likewise.
61372         * modules/unictype/property-bidi-pdf: Likewise.
61373         * modules/unictype/property-bidi-segment-separator: Likewise.
61374         * modules/unictype/property-bidi-whitespace: Likewise.
61375         * modules/unictype/property-byname: Likewise.
61376         * modules/unictype/property-combining: Likewise.
61377         * modules/unictype/property-composite: Likewise.
61378         * modules/unictype/property-currency-symbol: Likewise.
61379         * modules/unictype/property-dash: Likewise.
61380         * modules/unictype/property-decimal-digit: Likewise.
61381         * modules/unictype/property-default-ignorable-code-point: Likewise.
61382         * modules/unictype/property-deprecated: Likewise.
61383         * modules/unictype/property-diacritic: Likewise.
61384         * modules/unictype/property-extender: Likewise.
61385         * modules/unictype/property-format-control: Likewise.
61386         * modules/unictype/property-grapheme-base: Likewise.
61387         * modules/unictype/property-grapheme-extend: Likewise.
61388         * modules/unictype/property-grapheme-link: Likewise.
61389         * modules/unictype/property-hex-digit: Likewise.
61390         * modules/unictype/property-hyphen: Likewise.
61391         * modules/unictype/property-id-continue: Likewise.
61392         * modules/unictype/property-id-start: Likewise.
61393         * modules/unictype/property-ideographic: Likewise.
61394         * modules/unictype/property-ids-binary-operator: Likewise.
61395         * modules/unictype/property-ids-trinary-operator: Likewise.
61396         * modules/unictype/property-ignorable-control: Likewise.
61397         * modules/unictype/property-iso-control: Likewise.
61398         * modules/unictype/property-join-control: Likewise.
61399         * modules/unictype/property-left-of-pair: Likewise.
61400         * modules/unictype/property-line-separator: Likewise.
61401         * modules/unictype/property-logical-order-exception: Likewise.
61402         * modules/unictype/property-lowercase: Likewise.
61403         * modules/unictype/property-math: Likewise.
61404         * modules/unictype/property-non-break: Likewise.
61405         * modules/unictype/property-not-a-character: Likewise.
61406         * modules/unictype/property-numeric: Likewise.
61407         * modules/unictype/property-other-alphabetic: Likewise.
61408         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
61409         * modules/unictype/property-other-grapheme-extend: Likewise.
61410         * modules/unictype/property-other-id-continue: Likewise.
61411         * modules/unictype/property-other-id-start: Likewise.
61412         * modules/unictype/property-other-lowercase: Likewise.
61413         * modules/unictype/property-other-math: Likewise.
61414         * modules/unictype/property-other-uppercase: Likewise.
61415         * modules/unictype/property-paired-punctuation: Likewise.
61416         * modules/unictype/property-paragraph-separator: Likewise.
61417         * modules/unictype/property-pattern-syntax: Likewise.
61418         * modules/unictype/property-pattern-white-space: Likewise.
61419         * modules/unictype/property-private-use: Likewise.
61420         * modules/unictype/property-punctuation: Likewise.
61421         * modules/unictype/property-quotation-mark: Likewise.
61422         * modules/unictype/property-radical: Likewise.
61423         * modules/unictype/property-sentence-terminal: Likewise.
61424         * modules/unictype/property-soft-dotted: Likewise.
61425         * modules/unictype/property-space: Likewise.
61426         * modules/unictype/property-terminal-punctuation: Likewise.
61427         * modules/unictype/property-test: Likewise.
61428         * modules/unictype/property-titlecase: Likewise.
61429         * modules/unictype/property-unassigned-code-value: Likewise.
61430         * modules/unictype/property-unified-ideograph: Likewise.
61431         * modules/unictype/property-uppercase: Likewise.
61432         * modules/unictype/property-variation-selector: Likewise.
61433         * modules/unictype/property-white-space: Likewise.
61434         * modules/unictype/property-xid-continue: Likewise.
61435         * modules/unictype/property-xid-start: Likewise.
61436         * modules/unictype/property-zero-width: Likewise.
61437         * modules/unictype/scripts: Likewise.
61438         * modules/unictype/syntax-c-ident: Likewise.
61439         * modules/unictype/syntax-c-whitespace: Likewise.
61440         * modules/unictype/syntax-java-ident: Likewise.
61441         * modules/unictype/syntax-java-whitespace: Likewise.
61442         * modules/unilbrk/u8-possible-linebreaks: Likewise.
61443         * modules/unilbrk/u8-width-linebreaks: Likewise.
61444         * modules/unilbrk/u16-possible-linebreaks: Likewise.
61445         * modules/unilbrk/u16-width-linebreaks: Likewise.
61446         * modules/unilbrk/u32-possible-linebreaks: Likewise.
61447         * modules/unilbrk/u32-width-linebreaks: Likewise.
61448         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
61449         * modules/unilbrk/ulc-width-linebreaks: Likewise.
61450         * modules/uniname/uniname: Likewise.
61451         * modules/uninorm/canonical-decomposition: Likewise.
61452         * modules/uninorm/composition: Likewise.
61453         * modules/uninorm/decomposing-form: Likewise.
61454         * modules/uninorm/decomposition: Likewise.
61455         * modules/uninorm/filter: Likewise.
61456         * modules/uninorm/nfc: Likewise.
61457         * modules/uninorm/nfd: Likewise.
61458         * modules/uninorm/nfkc: Likewise.
61459         * modules/uninorm/nfkd: Likewise.
61460         * modules/uninorm/u8-normalize: Likewise.
61461         * modules/uninorm/u8-normcmp: Likewise.
61462         * modules/uninorm/u8-normcoll: Likewise.
61463         * modules/uninorm/u8-normxfrm: Likewise.
61464         * modules/uninorm/u16-normalize: Likewise.
61465         * modules/uninorm/u16-normcmp: Likewise.
61466         * modules/uninorm/u16-normcoll: Likewise.
61467         * modules/uninorm/u16-normxfrm: Likewise.
61468         * modules/uninorm/u32-normalize: Likewise.
61469         * modules/uninorm/u32-normcmp: Likewise.
61470         * modules/uninorm/u32-normcoll: Likewise.
61471         * modules/uninorm/u32-normxfrm: Likewise.
61472         * modules/unistdio/u8-asnprintf: Likewise.
61473         * modules/unistdio/u8-asprintf: Likewise.
61474         * modules/unistdio/u8-snprintf: Likewise.
61475         * modules/unistdio/u8-sprintf: Likewise.
61476         * modules/unistdio/u8-u8-asnprintf: Likewise.
61477         * modules/unistdio/u8-u8-asprintf: Likewise.
61478         * modules/unistdio/u8-u8-snprintf: Likewise.
61479         * modules/unistdio/u8-u8-sprintf: Likewise.
61480         * modules/unistdio/u8-u8-vasnprintf: Likewise.
61481         * modules/unistdio/u8-u8-vasprintf: Likewise.
61482         * modules/unistdio/u8-u8-vsnprintf: Likewise.
61483         * modules/unistdio/u8-u8-vsprintf: Likewise.
61484         * modules/unistdio/u8-vasnprintf: Likewise.
61485         * modules/unistdio/u8-vasprintf: Likewise.
61486         * modules/unistdio/u8-vsnprintf: Likewise.
61487         * modules/unistdio/u8-vsprintf: Likewise.
61488         * modules/unistdio/u16-asnprintf: Likewise.
61489         * modules/unistdio/u16-asprintf: Likewise.
61490         * modules/unistdio/u16-snprintf: Likewise.
61491         * modules/unistdio/u16-sprintf: Likewise.
61492         * modules/unistdio/u16-u16-asnprintf: Likewise.
61493         * modules/unistdio/u16-u16-asprintf: Likewise.
61494         * modules/unistdio/u16-u16-snprintf: Likewise.
61495         * modules/unistdio/u16-u16-sprintf: Likewise.
61496         * modules/unistdio/u16-u16-vasnprintf: Likewise.
61497         * modules/unistdio/u16-u16-vasprintf: Likewise.
61498         * modules/unistdio/u16-u16-vsnprintf: Likewise.
61499         * modules/unistdio/u16-u16-vsprintf: Likewise.
61500         * modules/unistdio/u16-vasnprintf: Likewise.
61501         * modules/unistdio/u16-vasprintf: Likewise.
61502         * modules/unistdio/u16-vsnprintf: Likewise.
61503         * modules/unistdio/u16-vsprintf: Likewise.
61504         * modules/unistdio/u32-asnprintf: Likewise.
61505         * modules/unistdio/u32-asprintf: Likewise.
61506         * modules/unistdio/u32-snprintf: Likewise.
61507         * modules/unistdio/u32-sprintf: Likewise.
61508         * modules/unistdio/u32-u32-asnprintf: Likewise.
61509         * modules/unistdio/u32-u32-asprintf: Likewise.
61510         * modules/unistdio/u32-u32-snprintf: Likewise.
61511         * modules/unistdio/u32-u32-sprintf: Likewise.
61512         * modules/unistdio/u32-u32-vasnprintf: Likewise.
61513         * modules/unistdio/u32-u32-vasprintf: Likewise.
61514         * modules/unistdio/u32-u32-vsnprintf: Likewise.
61515         * modules/unistdio/u32-u32-vsprintf: Likewise.
61516         * modules/unistdio/u32-vasnprintf: Likewise.
61517         * modules/unistdio/u32-vasprintf: Likewise.
61518         * modules/unistdio/u32-vsnprintf: Likewise.
61519         * modules/unistdio/u32-vsprintf: Likewise.
61520         * modules/unistdio/ulc-asnprintf: Likewise.
61521         * modules/unistdio/ulc-asprintf: Likewise.
61522         * modules/unistdio/ulc-fprintf: Likewise.
61523         * modules/unistdio/ulc-snprintf: Likewise.
61524         * modules/unistdio/ulc-sprintf: Likewise.
61525         * modules/unistdio/ulc-vasnprintf: Likewise.
61526         * modules/unistdio/ulc-vasprintf: Likewise.
61527         * modules/unistdio/ulc-vfprintf: Likewise.
61528         * modules/unistdio/ulc-vsnprintf: Likewise.
61529         * modules/unistdio/ulc-vsprintf: Likewise.
61530         * modules/unistr/u8-check: Likewise.
61531         * modules/unistr/u8-chr: Likewise.
61532         * modules/unistr/u8-cmp: Likewise.
61533         * modules/unistr/u8-cmp2: Likewise.
61534         * modules/unistr/u8-cpy: Likewise.
61535         * modules/unistr/u8-cpy-alloc: Likewise.
61536         * modules/unistr/u8-endswith: Likewise.
61537         * modules/unistr/u8-mblen: Likewise.
61538         * modules/unistr/u8-mbsnlen: Likewise.
61539         * modules/unistr/u8-mbtouc: Likewise.
61540         * modules/unistr/u8-mbtouc-unsafe: Likewise.
61541         * modules/unistr/u8-mbtoucr: Likewise.
61542         * modules/unistr/u8-move: Likewise.
61543         * modules/unistr/u8-next: Likewise.
61544         * modules/unistr/u8-prev: Likewise.
61545         * modules/unistr/u8-set: Likewise.
61546         * modules/unistr/u8-startswith: Likewise.
61547         * modules/unistr/u8-stpcpy: Likewise.
61548         * modules/unistr/u8-stpncpy: Likewise.
61549         * modules/unistr/u8-strcat: Likewise.
61550         * modules/unistr/u8-strchr: Likewise.
61551         * modules/unistr/u8-strcmp: Likewise.
61552         * modules/unistr/u8-strcoll: Likewise.
61553         * modules/unistr/u8-strcpy: Likewise.
61554         * modules/unistr/u8-strcspn: Likewise.
61555         * modules/unistr/u8-strdup: Likewise.
61556         * modules/unistr/u8-strlen: Likewise.
61557         * modules/unistr/u8-strmblen: Likewise.
61558         * modules/unistr/u8-strmbtouc: Likewise.
61559         * modules/unistr/u8-strncat: Likewise.
61560         * modules/unistr/u8-strncmp: Likewise.
61561         * modules/unistr/u8-strncpy: Likewise.
61562         * modules/unistr/u8-strnlen: Likewise.
61563         * modules/unistr/u8-strpbrk: Likewise.
61564         * modules/unistr/u8-strrchr: Likewise.
61565         * modules/unistr/u8-strspn: Likewise.
61566         * modules/unistr/u8-strstr: Likewise.
61567         * modules/unistr/u8-strtok: Likewise.
61568         * modules/unistr/u8-to-u16: Likewise.
61569         * modules/unistr/u8-to-u32: Likewise.
61570         * modules/unistr/u8-uctomb: Likewise.
61571         * modules/unistr/u16-check: Likewise.
61572         * modules/unistr/u16-chr: Likewise.
61573         * modules/unistr/u16-cmp: Likewise.
61574         * modules/unistr/u16-cmp2: Likewise.
61575         * modules/unistr/u16-cpy: Likewise.
61576         * modules/unistr/u16-cpy-alloc: Likewise.
61577         * modules/unistr/u16-endswith: Likewise.
61578         * modules/unistr/u16-mblen: Likewise.
61579         * modules/unistr/u16-mbsnlen: Likewise.
61580         * modules/unistr/u16-mbtouc: Likewise.
61581         * modules/unistr/u16-mbtouc-unsafe: Likewise.
61582         * modules/unistr/u16-mbtoucr: Likewise.
61583         * modules/unistr/u16-move: Likewise.
61584         * modules/unistr/u16-next: Likewise.
61585         * modules/unistr/u16-prev: Likewise.
61586         * modules/unistr/u16-set: Likewise.
61587         * modules/unistr/u16-startswith: Likewise.
61588         * modules/unistr/u16-stpcpy: Likewise.
61589         * modules/unistr/u16-stpncpy: Likewise.
61590         * modules/unistr/u16-strcat: Likewise.
61591         * modules/unistr/u16-strchr: Likewise.
61592         * modules/unistr/u16-strcmp: Likewise.
61593         * modules/unistr/u16-strcoll: Likewise.
61594         * modules/unistr/u16-strcpy: Likewise.
61595         * modules/unistr/u16-strcspn: Likewise.
61596         * modules/unistr/u16-strdup: Likewise.
61597         * modules/unistr/u16-strlen: Likewise.
61598         * modules/unistr/u16-strmblen: Likewise.
61599         * modules/unistr/u16-strmbtouc: Likewise.
61600         * modules/unistr/u16-strncat: Likewise.
61601         * modules/unistr/u16-strncmp: Likewise.
61602         * modules/unistr/u16-strncpy: Likewise.
61603         * modules/unistr/u16-strnlen: Likewise.
61604         * modules/unistr/u16-strpbrk: Likewise.
61605         * modules/unistr/u16-strrchr: Likewise.
61606         * modules/unistr/u16-strspn: Likewise.
61607         * modules/unistr/u16-strstr: Likewise.
61608         * modules/unistr/u16-strtok: Likewise.
61609         * modules/unistr/u16-to-u32: Likewise.
61610         * modules/unistr/u16-to-u8: Likewise.
61611         * modules/unistr/u16-uctomb: Likewise.
61612         * modules/unistr/u32-check: Likewise.
61613         * modules/unistr/u32-chr: Likewise.
61614         * modules/unistr/u32-cmp: Likewise.
61615         * modules/unistr/u32-cmp2: Likewise.
61616         * modules/unistr/u32-cpy: Likewise.
61617         * modules/unistr/u32-cpy-alloc: Likewise.
61618         * modules/unistr/u32-endswith: Likewise.
61619         * modules/unistr/u32-mblen: Likewise.
61620         * modules/unistr/u32-mbsnlen: Likewise.
61621         * modules/unistr/u32-mbtouc: Likewise.
61622         * modules/unistr/u32-mbtouc-unsafe: Likewise.
61623         * modules/unistr/u32-mbtoucr: Likewise.
61624         * modules/unistr/u32-move: Likewise.
61625         * modules/unistr/u32-next: Likewise.
61626         * modules/unistr/u32-prev: Likewise.
61627         * modules/unistr/u32-set: Likewise.
61628         * modules/unistr/u32-startswith: Likewise.
61629         * modules/unistr/u32-stpcpy: Likewise.
61630         * modules/unistr/u32-stpncpy: Likewise.
61631         * modules/unistr/u32-strcat: Likewise.
61632         * modules/unistr/u32-strchr: Likewise.
61633         * modules/unistr/u32-strcmp: Likewise.
61634         * modules/unistr/u32-strcoll: Likewise.
61635         * modules/unistr/u32-strcpy: Likewise.
61636         * modules/unistr/u32-strcspn: Likewise.
61637         * modules/unistr/u32-strdup: Likewise.
61638         * modules/unistr/u32-strlen: Likewise.
61639         * modules/unistr/u32-strmblen: Likewise.
61640         * modules/unistr/u32-strmbtouc: Likewise.
61641         * modules/unistr/u32-strncat: Likewise.
61642         * modules/unistr/u32-strncmp: Likewise.
61643         * modules/unistr/u32-strncpy: Likewise.
61644         * modules/unistr/u32-strnlen: Likewise.
61645         * modules/unistr/u32-strpbrk: Likewise.
61646         * modules/unistr/u32-strrchr: Likewise.
61647         * modules/unistr/u32-strspn: Likewise.
61648         * modules/unistr/u32-strstr: Likewise.
61649         * modules/unistr/u32-strtok: Likewise.
61650         * modules/unistr/u32-to-u16: Likewise.
61651         * modules/unistr/u32-to-u8: Likewise.
61652         * modules/unistr/u32-uctomb: Likewise.
61653         * modules/uniwbrk/u8-wordbreaks: Likewise.
61654         * modules/uniwbrk/u16-wordbreaks: Likewise.
61655         * modules/uniwbrk/u32-wordbreaks: Likewise.
61656         * modules/uniwbrk/ulc-wordbreaks: Likewise.
61657         * modules/uniwbrk/wordbreak-property: Likewise.
61658         * modules/uniwidth/u8-strwidth: Likewise.
61659         * modules/uniwidth/u8-width: Likewise.
61660         * modules/uniwidth/u16-strwidth: Likewise.
61661         * modules/uniwidth/u16-width: Likewise.
61662         * modules/uniwidth/u32-strwidth: Likewise.
61663         * modules/uniwidth/u32-width: Likewise.
61664         * modules/uniwidth/width: Likewise.
61665         * modules/unicase/cased-tests (Makefile.am): Link all test programs
61666         with $(LIBUNISTRING).
61667         * modules/unicase/ignorable-tests: Likewise.
61668         * modules/unicase/locale-language-tests: Likewise.
61669         * modules/unicase/tolower-tests: Likewise.
61670         * modules/unicase/totitle-tests: Likewise.
61671         * modules/unicase/toupper-tests: Likewise.
61672         * modules/unicase/u8-casecmp-tests: Likewise.
61673         * modules/unicase/u8-casecoll-tests: Likewise.
61674         * modules/unicase/u8-casefold-tests: Likewise.
61675         * modules/unicase/u8-is-cased-tests: Likewise.
61676         * modules/unicase/u8-is-casefolded-tests: Likewise.
61677         * modules/unicase/u8-is-lowercase-tests: Likewise.
61678         * modules/unicase/u8-is-titlecase-tests: Likewise.
61679         * modules/unicase/u8-is-uppercase-tests: Likewise.
61680         * modules/unicase/u8-tolower-tests: Likewise.
61681         * modules/unicase/u8-totitle-tests: Likewise.
61682         * modules/unicase/u8-toupper-tests: Likewise.
61683         * modules/unicase/u16-casecmp-tests: Likewise.
61684         * modules/unicase/u16-casecoll-tests: Likewise.
61685         * modules/unicase/u16-casefold-tests: Likewise.
61686         * modules/unicase/u16-is-cased-tests: Likewise.
61687         * modules/unicase/u16-is-casefolded-tests: Likewise.
61688         * modules/unicase/u16-is-lowercase-tests: Likewise.
61689         * modules/unicase/u16-is-titlecase-tests: Likewise.
61690         * modules/unicase/u16-is-uppercase-tests: Likewise.
61691         * modules/unicase/u16-tolower-tests: Likewise.
61692         * modules/unicase/u16-totitle-tests: Likewise.
61693         * modules/unicase/u16-toupper-tests: Likewise.
61694         * modules/unicase/u32-casecmp-tests: Likewise.
61695         * modules/unicase/u32-casecoll-tests: Likewise.
61696         * modules/unicase/u32-casefold-tests: Likewise.
61697         * modules/unicase/u32-is-cased-tests: Likewise.
61698         * modules/unicase/u32-is-casefolded-tests: Likewise.
61699         * modules/unicase/u32-is-lowercase-tests: Likewise.
61700         * modules/unicase/u32-is-titlecase-tests: Likewise.
61701         * modules/unicase/u32-is-uppercase-tests: Likewise.
61702         * modules/unicase/u32-tolower-tests: Likewise.
61703         * modules/unicase/u32-totitle-tests: Likewise.
61704         * modules/unicase/u32-toupper-tests: Likewise.
61705         * modules/unicase/ulc-casecmp-tests: Likewise.
61706         * modules/unicase/ulc-casecoll-tests: Likewise.
61707         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
61708         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
61709         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
61710         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
61711         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
61712         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
61713         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
61714         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
61715         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
61716         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
61717         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
61718         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
61719         * modules/unictype/bidicategory-byname-tests: Likewise.
61720         * modules/unictype/bidicategory-name-tests: Likewise.
61721         * modules/unictype/bidicategory-of-tests: Likewise.
61722         * modules/unictype/bidicategory-test-tests: Likewise.
61723         * modules/unictype/block-list-tests: Likewise.
61724         * modules/unictype/block-of-tests: Likewise.
61725         * modules/unictype/block-test-tests: Likewise.
61726         * modules/unictype/category-C-tests: Likewise.
61727         * modules/unictype/category-Cc-tests: Likewise.
61728         * modules/unictype/category-Cf-tests: Likewise.
61729         * modules/unictype/category-Cn-tests: Likewise.
61730         * modules/unictype/category-Co-tests: Likewise.
61731         * modules/unictype/category-Cs-tests: Likewise.
61732         * modules/unictype/category-L-tests: Likewise.
61733         * modules/unictype/category-Ll-tests: Likewise.
61734         * modules/unictype/category-Lm-tests: Likewise.
61735         * modules/unictype/category-Lo-tests: Likewise.
61736         * modules/unictype/category-Lt-tests: Likewise.
61737         * modules/unictype/category-Lu-tests: Likewise.
61738         * modules/unictype/category-M-tests: Likewise.
61739         * modules/unictype/category-Mc-tests: Likewise.
61740         * modules/unictype/category-Me-tests: Likewise.
61741         * modules/unictype/category-Mn-tests: Likewise.
61742         * modules/unictype/category-N-tests: Likewise.
61743         * modules/unictype/category-Nd-tests: Likewise.
61744         * modules/unictype/category-Nl-tests: Likewise.
61745         * modules/unictype/category-No-tests: Likewise.
61746         * modules/unictype/category-P-tests: Likewise.
61747         * modules/unictype/category-Pc-tests: Likewise.
61748         * modules/unictype/category-Pd-tests: Likewise.
61749         * modules/unictype/category-Pe-tests: Likewise.
61750         * modules/unictype/category-Pf-tests: Likewise.
61751         * modules/unictype/category-Pi-tests: Likewise.
61752         * modules/unictype/category-Po-tests: Likewise.
61753         * modules/unictype/category-Ps-tests: Likewise.
61754         * modules/unictype/category-S-tests: Likewise.
61755         * modules/unictype/category-Sc-tests: Likewise.
61756         * modules/unictype/category-Sk-tests: Likewise.
61757         * modules/unictype/category-Sm-tests: Likewise.
61758         * modules/unictype/category-So-tests: Likewise.
61759         * modules/unictype/category-Z-tests: Likewise.
61760         * modules/unictype/category-Zl-tests: Likewise.
61761         * modules/unictype/category-Zp-tests: Likewise.
61762         * modules/unictype/category-Zs-tests: Likewise.
61763         * modules/unictype/category-and-not-tests: Likewise.
61764         * modules/unictype/category-and-tests: Likewise.
61765         * modules/unictype/category-byname-tests: Likewise.
61766         * modules/unictype/category-name-tests: Likewise.
61767         * modules/unictype/category-none-tests: Likewise.
61768         * modules/unictype/category-of-tests: Likewise.
61769         * modules/unictype/category-or-tests: Likewise.
61770         * modules/unictype/category-test-withtable-tests: Likewise.
61771         * modules/unictype/combining-class-tests: Likewise.
61772         * modules/unictype/ctype-alnum-tests: Likewise.
61773         * modules/unictype/ctype-alpha-tests: Likewise.
61774         * modules/unictype/ctype-blank-tests: Likewise.
61775         * modules/unictype/ctype-cntrl-tests: Likewise.
61776         * modules/unictype/ctype-digit-tests: Likewise.
61777         * modules/unictype/ctype-graph-tests: Likewise.
61778         * modules/unictype/ctype-lower-tests: Likewise.
61779         * modules/unictype/ctype-print-tests: Likewise.
61780         * modules/unictype/ctype-punct-tests: Likewise.
61781         * modules/unictype/ctype-space-tests: Likewise.
61782         * modules/unictype/ctype-upper-tests: Likewise.
61783         * modules/unictype/ctype-xdigit-tests: Likewise.
61784         * modules/unictype/decimal-digit-tests: Likewise.
61785         * modules/unictype/digit-tests: Likewise.
61786         * modules/unictype/mirror-tests: Likewise.
61787         * modules/unictype/numeric-tests: Likewise.
61788         * modules/unictype/property-alphabetic-tests: Likewise.
61789         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
61790         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
61791         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
61792         * modules/unictype/property-bidi-block-separator-tests: Likewise.
61793         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
61794         * modules/unictype/property-bidi-common-separator-tests: Likewise.
61795         * modules/unictype/property-bidi-control-tests: Likewise.
61796         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
61797         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
61798         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
61799         * modules/unictype/property-bidi-european-digit-tests: Likewise.
61800         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
61801         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
61802         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
61803         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
61804         * modules/unictype/property-bidi-pdf-tests: Likewise.
61805         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
61806         * modules/unictype/property-bidi-whitespace-tests: Likewise.
61807         * modules/unictype/property-byname-tests: Likewise.
61808         * modules/unictype/property-combining-tests: Likewise.
61809         * modules/unictype/property-composite-tests: Likewise.
61810         * modules/unictype/property-currency-symbol-tests: Likewise.
61811         * modules/unictype/property-dash-tests: Likewise.
61812         * modules/unictype/property-decimal-digit-tests: Likewise.
61813         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
61814         * modules/unictype/property-deprecated-tests: Likewise.
61815         * modules/unictype/property-diacritic-tests: Likewise.
61816         * modules/unictype/property-extender-tests: Likewise.
61817         * modules/unictype/property-format-control-tests: Likewise.
61818         * modules/unictype/property-grapheme-base-tests: Likewise.
61819         * modules/unictype/property-grapheme-extend-tests: Likewise.
61820         * modules/unictype/property-grapheme-link-tests: Likewise.
61821         * modules/unictype/property-hex-digit-tests: Likewise.
61822         * modules/unictype/property-hyphen-tests: Likewise.
61823         * modules/unictype/property-id-continue-tests: Likewise.
61824         * modules/unictype/property-id-start-tests: Likewise.
61825         * modules/unictype/property-ideographic-tests: Likewise.
61826         * modules/unictype/property-ids-binary-operator-tests: Likewise.
61827         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
61828         * modules/unictype/property-ignorable-control-tests: Likewise.
61829         * modules/unictype/property-iso-control-tests: Likewise.
61830         * modules/unictype/property-join-control-tests: Likewise.
61831         * modules/unictype/property-left-of-pair-tests: Likewise.
61832         * modules/unictype/property-line-separator-tests: Likewise.
61833         * modules/unictype/property-logical-order-exception-tests: Likewise.
61834         * modules/unictype/property-lowercase-tests: Likewise.
61835         * modules/unictype/property-math-tests: Likewise.
61836         * modules/unictype/property-non-break-tests: Likewise.
61837         * modules/unictype/property-not-a-character-tests: Likewise.
61838         * modules/unictype/property-numeric-tests: Likewise.
61839         * modules/unictype/property-other-alphabetic-tests: Likewise.
61840         * modules/unictype/property-other-default-ignorable-code-point-tests:
61841         Likewise.
61842         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
61843         * modules/unictype/property-other-id-continue-tests: Likewise.
61844         * modules/unictype/property-other-id-start-tests: Likewise.
61845         * modules/unictype/property-other-lowercase-tests: Likewise.
61846         * modules/unictype/property-other-math-tests: Likewise.
61847         * modules/unictype/property-other-uppercase-tests: Likewise.
61848         * modules/unictype/property-paired-punctuation-tests: Likewise.
61849         * modules/unictype/property-paragraph-separator-tests: Likewise.
61850         * modules/unictype/property-pattern-syntax-tests: Likewise.
61851         * modules/unictype/property-pattern-white-space-tests: Likewise.
61852         * modules/unictype/property-private-use-tests: Likewise.
61853         * modules/unictype/property-punctuation-tests: Likewise.
61854         * modules/unictype/property-quotation-mark-tests: Likewise.
61855         * modules/unictype/property-radical-tests: Likewise.
61856         * modules/unictype/property-sentence-terminal-tests: Likewise.
61857         * modules/unictype/property-soft-dotted-tests: Likewise.
61858         * modules/unictype/property-space-tests: Likewise.
61859         * modules/unictype/property-terminal-punctuation-tests: Likewise.
61860         * modules/unictype/property-test-tests: Likewise.
61861         * modules/unictype/property-titlecase-tests: Likewise.
61862         * modules/unictype/property-unassigned-code-value-tests: Likewise.
61863         * modules/unictype/property-unified-ideograph-tests: Likewise.
61864         * modules/unictype/property-uppercase-tests: Likewise.
61865         * modules/unictype/property-variation-selector-tests: Likewise.
61866         * modules/unictype/property-white-space-tests: Likewise.
61867         * modules/unictype/property-xid-continue-tests: Likewise.
61868         * modules/unictype/property-xid-start-tests: Likewise.
61869         * modules/unictype/property-zero-width-tests: Likewise.
61870         * modules/unictype/scripts-tests: Likewise.
61871         * modules/unictype/syntax-c-ident-tests: Likewise.
61872         * modules/unictype/syntax-c-whitespace-tests: Likewise.
61873         * modules/unictype/syntax-java-ident-tests: Likewise.
61874         * modules/unictype/syntax-java-whitespace-tests: Likewise.
61875         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
61876         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
61877         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
61878         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
61879         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
61880         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
61881         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
61882         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
61883         * modules/uniname/uniname-tests: Likewise.
61884         * modules/uninorm/canonical-decomposition-tests: Likewise.
61885         * modules/uninorm/compat-decomposition-tests: Likewise.
61886         * modules/uninorm/composition-tests: Likewise.
61887         * modules/uninorm/decomposing-form-tests: Likewise.
61888         * modules/uninorm/decomposition-tests: Likewise.
61889         * modules/uninorm/filter-tests: Likewise.
61890         * modules/uninorm/nfc-tests: Likewise.
61891         * modules/uninorm/nfd-tests: Likewise.
61892         * modules/uninorm/nfkc-tests: Likewise.
61893         * modules/uninorm/nfkd-tests: Likewise.
61894         * modules/uninorm/u8-normcmp-tests: Likewise.
61895         * modules/uninorm/u8-normcoll-tests: Likewise.
61896         * modules/uninorm/u16-normcmp-tests: Likewise.
61897         * modules/uninorm/u16-normcoll-tests: Likewise.
61898         * modules/uninorm/u32-normcmp-tests: Likewise.
61899         * modules/uninorm/u32-normcoll-tests: Likewise.
61900         * modules/unistdio/u8-asnprintf-tests: Likewise.
61901         * modules/unistdio/u8-vasnprintf-tests: Likewise.
61902         * modules/unistdio/u8-vasprintf-tests: Likewise.
61903         * modules/unistdio/u8-vsnprintf-tests: Likewise.
61904         * modules/unistdio/u8-vsprintf-tests: Likewise.
61905         * modules/unistdio/u16-asnprintf-tests: Likewise.
61906         * modules/unistdio/u16-vasnprintf-tests: Likewise.
61907         * modules/unistdio/u16-vasprintf-tests: Likewise.
61908         * modules/unistdio/u16-vsnprintf-tests: Likewise.
61909         * modules/unistdio/u16-vsprintf-tests: Likewise.
61910         * modules/unistdio/u32-asnprintf-tests: Likewise.
61911         * modules/unistdio/u32-vasnprintf-tests: Likewise.
61912         * modules/unistdio/u32-vasprintf-tests: Likewise.
61913         * modules/unistdio/u32-vsnprintf-tests: Likewise.
61914         * modules/unistdio/u32-vsprintf-tests: Likewise.
61915         * modules/unistdio/ulc-asnprintf-tests: Likewise.
61916         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
61917         * modules/unistdio/ulc-vasprintf-tests: Likewise.
61918         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
61919         * modules/unistdio/ulc-vsprintf-tests: Likewise.
61920         * modules/unistr/u8-check-tests: Likewise.
61921         * modules/unistr/u8-chr-tests: Likewise.
61922         * modules/unistr/u8-cmp-tests: Likewise.
61923         * modules/unistr/u8-cmp2-tests: Likewise.
61924         * modules/unistr/u8-cpy-alloc-tests: Likewise.
61925         * modules/unistr/u8-cpy-tests: Likewise.
61926         * modules/unistr/u8-mblen-tests: Likewise.
61927         * modules/unistr/u8-mbsnlen-tests: Likewise.
61928         * modules/unistr/u8-mbtouc-tests: Likewise.
61929         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
61930         * modules/unistr/u8-mbtoucr-tests: Likewise.
61931         * modules/unistr/u8-move-tests: Likewise.
61932         * modules/unistr/u8-next-tests: Likewise.
61933         * modules/unistr/u8-prev-tests: Likewise.
61934         * modules/unistr/u8-set-tests: Likewise.
61935         * modules/unistr/u8-stpcpy-tests: Likewise.
61936         * modules/unistr/u8-stpncpy-tests: Likewise.
61937         * modules/unistr/u8-strcat-tests: Likewise.
61938         * modules/unistr/u8-strcmp-tests: Likewise.
61939         * modules/unistr/u8-strcoll-tests: Likewise.
61940         * modules/unistr/u8-strcpy-tests: Likewise.
61941         * modules/unistr/u8-strdup-tests: Likewise.
61942         * modules/unistr/u8-strlen-tests: Likewise.
61943         * modules/unistr/u8-strmblen-tests: Likewise.
61944         * modules/unistr/u8-strmbtouc-tests: Likewise.
61945         * modules/unistr/u8-strncat-tests: Likewise.
61946         * modules/unistr/u8-strncmp-tests: Likewise.
61947         * modules/unistr/u8-strncpy-tests: Likewise.
61948         * modules/unistr/u8-strnlen-tests: Likewise.
61949         * modules/unistr/u8-to-u16-tests: Likewise.
61950         * modules/unistr/u8-to-u32-tests: Likewise.
61951         * modules/unistr/u8-uctomb-tests: Likewise.
61952         * modules/unistr/u16-check-tests: Likewise.
61953         * modules/unistr/u16-chr-tests: Likewise.
61954         * modules/unistr/u16-cmp-tests: Likewise.
61955         * modules/unistr/u16-cmp2-tests: Likewise.
61956         * modules/unistr/u16-cpy-alloc-tests: Likewise.
61957         * modules/unistr/u16-cpy-tests: Likewise.
61958         * modules/unistr/u16-mblen-tests: Likewise.
61959         * modules/unistr/u16-mbsnlen-tests: Likewise.
61960         * modules/unistr/u16-mbtouc-tests: Likewise.
61961         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
61962         * modules/unistr/u16-mbtoucr-tests: Likewise.
61963         * modules/unistr/u16-move-tests: Likewise.
61964         * modules/unistr/u16-next-tests: Likewise.
61965         * modules/unistr/u16-prev-tests: Likewise.
61966         * modules/unistr/u16-set-tests: Likewise.
61967         * modules/unistr/u16-stpcpy-tests: Likewise.
61968         * modules/unistr/u16-stpncpy-tests: Likewise.
61969         * modules/unistr/u16-strcat-tests: Likewise.
61970         * modules/unistr/u16-strcmp-tests: Likewise.
61971         * modules/unistr/u16-strcoll-tests: Likewise.
61972         * modules/unistr/u16-strcpy-tests: Likewise.
61973         * modules/unistr/u16-strdup-tests: Likewise.
61974         * modules/unistr/u16-strlen-tests: Likewise.
61975         * modules/unistr/u16-strmblen-tests: Likewise.
61976         * modules/unistr/u16-strmbtouc-tests: Likewise.
61977         * modules/unistr/u16-strncat-tests: Likewise.
61978         * modules/unistr/u16-strncmp-tests: Likewise.
61979         * modules/unistr/u16-strncpy-tests: Likewise.
61980         * modules/unistr/u16-strnlen-tests: Likewise.
61981         * modules/unistr/u16-to-u32-tests: Likewise.
61982         * modules/unistr/u16-to-u8-tests: Likewise.
61983         * modules/unistr/u16-uctomb-tests: Likewise.
61984         * modules/unistr/u32-check-tests: Likewise.
61985         * modules/unistr/u32-chr-tests: Likewise.
61986         * modules/unistr/u32-cmp-tests: Likewise.
61987         * modules/unistr/u32-cmp2-tests: Likewise.
61988         * modules/unistr/u32-cpy-alloc-tests: Likewise.
61989         * modules/unistr/u32-cpy-tests: Likewise.
61990         * modules/unistr/u32-mblen-tests: Likewise.
61991         * modules/unistr/u32-mbsnlen-tests: Likewise.
61992         * modules/unistr/u32-mbtouc-tests: Likewise.
61993         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
61994         * modules/unistr/u32-mbtoucr-tests: Likewise.
61995         * modules/unistr/u32-move-tests: Likewise.
61996         * modules/unistr/u32-next-tests: Likewise.
61997         * modules/unistr/u32-prev-tests: Likewise.
61998         * modules/unistr/u32-set-tests: Likewise.
61999         * modules/unistr/u32-stpcpy-tests: Likewise.
62000         * modules/unistr/u32-stpncpy-tests: Likewise.
62001         * modules/unistr/u32-strcat-tests: Likewise.
62002         * modules/unistr/u32-strcmp-tests: Likewise.
62003         * modules/unistr/u32-strcoll-tests: Likewise.
62004         * modules/unistr/u32-strcpy-tests: Likewise.
62005         * modules/unistr/u32-strdup-tests: Likewise.
62006         * modules/unistr/u32-strlen-tests: Likewise.
62007         * modules/unistr/u32-strmblen-tests: Likewise.
62008         * modules/unistr/u32-strmbtouc-tests: Likewise.
62009         * modules/unistr/u32-strncat-tests: Likewise.
62010         * modules/unistr/u32-strncmp-tests: Likewise.
62011         * modules/unistr/u32-strncpy-tests: Likewise.
62012         * modules/unistr/u32-strnlen-tests: Likewise.
62013         * modules/unistr/u32-to-u16-tests: Likewise.
62014         * modules/unistr/u32-to-u8-tests: Likewise.
62015         * modules/unistr/u32-uctomb-tests: Likewise.
62016         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
62017         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
62018         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
62019         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
62020         * modules/uniwidth/u8-strwidth-tests: Likewise.
62021         * modules/uniwidth/u8-width-tests: Likewise.
62022         * modules/uniwidth/u16-strwidth-tests: Likewise.
62023         * modules/uniwidth/u16-width-tests: Likewise.
62024         * modules/uniwidth/u32-strwidth-tests: Likewise.
62025         * modules/uniwidth/u32-width-tests: Likewise.
62026         * modules/uniwidth/width-tests: Likewise.
62028 2010-05-18  Richard Jones  <rjones@redhat.com>
62030         doc: users.txt: list hivex
62031         * users.txt: Add hivex.
62033 2010-05-18  Richard Jones  <rjones@redhat.com>
62035         doc: users.txt: list febootstrap
62036         * users.txt: Add febootstrap.
62038 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
62040         bootstrap: fix an error when gnulib is not used as a git submodule
62041         * build-aux/bootstrap (gnulib_path): If its length is zero then
62042         assign "gnulib" to it.
62043         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
62045 2010-05-16  Bruno Haible  <bruno@clisp.org>
62047         Avoid autoconf warnings about AM_ICONV.
62048         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
62049         2.64.
62051 2010-05-16  Bruno Haible  <bruno@clisp.org>
62053         absolute-header: Make the macro usable in more situations.
62054         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
62055         from gl_ABSOLUTE_HEADER.
62056         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
62058 2010-05-16  James Youngman  <jay@gnu.org>
62060         doc: update users.txt
62061         * users.txt: Add CSSC.
62063 2010-05-16  Jim Meyering  <meyering@redhat.com>
62065         init.sh: fix an error in the previous change; add more comments
62066         * tests/init.sh: Compare exit code in loop against 9, not 2.
62067         Patch by Bruno Haible.
62068         Make the two tests more similar by adding an empty "then" clause.
62069         Add comments.
62071         init.sh: avoid unnecessary shell re-exec
62072         * tests/init.sh: Improve the re-exec-required check to first test the
62073         current shell.  If it passes the test, do not search for a shell that
62074         does pass, and do not re-exec.  This test is particularly contorted to
62075         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
62076         of $(...) evokes a syntax error and causes immediate shell exit with
62077         status 2.  Bruno Haible reported that the re-exec made it impossible
62078         to single-step through any init.sh-using script.
62080 2010-05-16  Bruno Haible  <bruno@clisp.org>
62082         Fix collision between gnulib's and libintl's printf replacements.
62083         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
62084         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
62085         (printf): When using GNU C, map the __printf__ function to rpl_printf
62086         via __asm__. When not using GNU C, define rpl_printf instead of
62087         __printf__.
62088         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
62089         commit.
62090         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
62091         commit.
62092         * m4/asm-underscore.m4: New file.
62093         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
62094         * modules/stdio (Files): Add m4/asm-underscore.m4.
62095         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
62096         Reported by Ben Pfaff.
62098 2010-05-16  Bruno Haible  <bruno@clisp.org>
62100         verify: Avoid skipping the test on openSUSE 11.0.
62101         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
62103 2010-05-13  Bruno Haible  <bruno@clisp.org>
62105         Avoid useless warnings from G++.
62106         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
62107         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
62108         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
62110 2010-05-11  Jim Meyering  <meyering@redhat.com>
62112         maint.mk: tweak preceding change
62113         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
62114         regexps tighter by anchoring at EOL, and make the new group "shy"
62115         for slightly decreased overhead.
62117 2010-05-11  Eric Blake  <eblake@redhat.com>
62119         maint.mk: gnulib doesn't guarantee NSIG
62120         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
62122 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
62124         test-pwrite.c: Remove unused variable declaration.
62125         * tests/test-pwrite.c (main): Remove read_buf declaration.
62127         Remove useless test-pwrite.sh file.
62128         * tests/test-pwrite.sh: Delete file.
62129         * modules/pwrite-tests: Remove references.
62130         Reported by Bruno Haible.
62132 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
62134         init.sh: fix a typo
62135         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
62137 2010-05-10  Jim Meyering  <meyering@redhat.com>
62139         maint.mk: avoid using a temporary file in the always-defined-macros check
62140         * top/maint.mk (.re-defmac): Remove rule.
62141         (gl_trap_): Remove definition.
62142         (sc_prohibit_always-defined_macros): Rewrite not to create and
62143         depend on a temporary file.  Instead, depend on GNU grep's ability
62144         to read a list of regular expressions from stdin when given "-f -".
62146 2010-05-09  Bruno Haible  <bruno@clisp.org>
62148         Update to GNU gettext 0.18, part 1.
62149         * m4/gettext.m4: Update to GNU gettext 0.18.
62150         * m4/intl.m4: Likewise.
62151         * m4/po.m4: Likewise.
62152         * modules/gettext (Files): Add m4/fcntl-o.m4.
62153         (configure.ac): Require gettext infrastructure from version 0.18.
62155 2010-05-09  Jim Meyering  <meyering@redhat.com>
62157         init.sh: enable MALLOC_PERTURB_
62158         * tests/init.sh: Enable glibc's malloc-perturbing option.
62160         maint.mk: improve sc_cross_check_PATH_usage_in_tests
62161         With my recent change in init.sh from the two-line form:
62162             -#   : ${srcdir=.}
62163             -#   . "$srcdir/init.sh"; path_prepend_ .
62164             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
62165         I noticed that using the one-line form would cause this test
62166         to fail with a false-positive, or to stop working altogether,
62167         depending on whether help-version changed or all the tests did.
62168         * top/maint.mk (_hv_regex): Remove this definition.
62169         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
62170         (_hv_regex_strong): Use a stronger regex to check for conformance.
62171         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
62172         Give a separate diagnostic for lack of conforming use.
62174         maint.mk: prohibit definition of symbols defined by gnulib
62175         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
62176         definition of symbols defined by gnulib.
62178 2010-05-09  Bruno Haible  <bruno@clisp.org>
62180         acl: Avoid test failure on Cygwin-hosted mingw.
62181         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
62183 2010-05-09  Bruno Haible  <bruno@clisp.org>
62185         error: Use system's fcntl function.
62186         * lib/error.c (fcntl): Undefine.
62188 2010-05-09  Jim Meyering  <meyering@redhat.com>
62190         verify: adjust formatting to be more consistent
62191         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
62192         argument-list '('s, and after one comma.
62194 2010-05-09  Bruno Haible  <bruno@clisp.org>
62196         error: More reliable output on mingw.
62197         * lib/error.c: Include <windows.h>.
62198         (is_open): New function.
62199         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
62200         defined.
62202 2010-05-09  Bruno Haible  <bruno@clisp.org>
62204         vasnprintf: Fix syntax errors in libintl build on mingw.
62205         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
62206         pad_ourselves and prec_ourselves after use.
62208 2010-05-08  Bruno Haible  <bruno@clisp.org>
62210         * lib/config.charset: Update comments for Cygwin 1.7.
62211         * lib/localcharset.c: Likewise.
62213 2010-05-07  Jim Meyering  <meyering@redhat.com>
62215         init.sh: improve comments
62216         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
62217         . "${srcdir=.}/init.sh"; path_prepend_ .
62218         Add a note about path_prepend_ and the alternative of using
62219         TESTS_ENVIRONMENT.
62221 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
62223         exclude: Unescape hashed patterns in wildcard mode.
62224         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
62225         to the hash list.
62226         * tests/test-exclude8.sh: New test case.
62227         * modules/exclude-tests: Add new test.
62229 2010-05-05  Eric Blake  <eblake@redhat.com>
62231         verify: automate tests
62232         * modules/verify-tests: New module.
62233         * tests/test-verify.sh: New file.
62234         * tests/test-verify.c: Guard each negative test with a unique id.
62235         Also avoid warning about unused left hand of comma expressions.
62237 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
62239         Further improvements to verify.h, suggested by Eric Blake.
62240         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
62241         the GL_* versions, to avoid collision with OpenGL.
62242         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
62243         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
62244         than testing merely whether it's defined.
62246         Modify verify.h to pacify gcc -Wredundant_decls.
62247         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
62248         These use the prefix "GL_" since they're likely to be useful elsewhere.
62249         We may need to break them out into a different .h file.
62250         (__COUNTER__): Define to 0 if the compiler doesn't support it.
62251         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
62252         of verify_function__.
62254 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
62256         Tests for module pwrite.
62257         * modules/pwrite-tests: New file.
62258         * tests/test-pwrite.sh: New file.
62259         * tests/test-pwrite.c: New file.
62261         New module pwrite.
62262         * lib/unistd.in.h (pwrite): New declaration.
62263         * lib/pwrite.c: New file, from glibc with modifications.
62264         * m4/pwrite.m4: New file.
62265         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
62266         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
62267         REPLACE_PWRITE.
62268         * modules/pwrite: New file.
62269         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
62270         REPLACE_PWRITE.
62271         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
62272         * doc/posix-functions/pwrite.texi: Mention the new module.
62274 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
62276         pread: Update documentation.
62277         * doc/posix-functions/pread.texi: Mention the 'pread' module.
62279 2010-05-04  Eric Blake  <eblake@redhat.com>
62281         docs: update cygwin progress
62282         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
62283         this bug.
62284         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
62285         Added in cygwin 1.7.2.
62286         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
62287         Likewise.
62288         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
62289         Likewise.
62290         * doc/glibc-functions/dup3.texi (dup3): Likewise.
62291         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
62292         * doc/glibc-functions/accept4.texi (accept4): Likewise.
62293         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
62294         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
62295         Mention nproc module.
62296         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
62297         bug in cygwin 1.7.5 addition.
62298         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
62299         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
62300         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
62301         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
62302         1.7.5.
62303         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
62304         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
62305         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
62306         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
62307         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
62308         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
62309         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
62310         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
62311         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
62312         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
62313         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
62314         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
62315         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
62316         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
62317         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
62318         Likewise.
62319         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
62320         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
62321         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
62322         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
62323         Likewise.
62324         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
62325         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
62326         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
62327         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
62328         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
62329         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
62330         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
62331         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
62332         Likewise.
62333         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
62334         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
62335         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
62336         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
62337         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
62338         Likewise.
62339         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
62340         Likewise.
62341         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
62342         Likewise.
62343         * doc/glibc-functions/xdrrec_endofrecord.texi
62344         (xdrrec_endofrecord): Likewise.
62345         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
62346         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
62347         Likewise.
62348         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
62349         Likewise.
62351 2010-05-04  Jim Meyering  <meyering@redhat.com>
62353         gendocs.sh: make its "-s FILE" option more useful
62354         * build-aux/gendocs.sh: When honoring the -s FILE option, update
62355         $PACKAGE to reflect the probably-different basename of "FILE".
62357 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
62359         bootstrap: don't ignore download_po_files failure
62360         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
62361         failure.
62363 2010-05-03  Jim Meyering  <meyering@redhat.com>
62365         maint.mk: allow to pass options to gendocs.sh
62366         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
62367         (gendocs_options_): New overridable variable.
62369         gnu-web-doc-update: don't ignore configure or build failure
62370         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
62372         announce-gen: backslash-escape '@'s in --help output
62373         * build-aux/announce-gen: Fix syntax errors.
62375         maint.mk, announce-gen: allow project-specific announcement mail headers
62376         * top/maint.mk (translation_project_): Define default.
62377         (announcement_Cc_, announcement_mail_headers_): Likewise.
62378         (announcement): Invoke announce-gen with new --mail-headers option.
62379         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
62381         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
62382         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
62383         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
62384         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
62385         line in the "err2" output file when running "make check" in verbose
62386         mode (i.e., with set -x enabled).
62388 2010-05-03  Bruno Haible  <bruno@clisp.org>
62390         wctob: Fix for weird platforms.
62391         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
62392         argument value.
62394 2010-05-03  Jim Meyering  <meyering@redhat.com>
62396         maint.mk: prohibit unwarranted use of <strings.h>
62397         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
62398         strings.h in a file that does not also use strcasecmp, strncasecmp,
62399         ffs or ffsll.
62401         maint.mk: remove obsolete comments
62402         * top/maint.mk: Remove stale, commented-out rules.
62404 2010-05-02  Bruno Haible  <bruno@clisp.org>
62406         wcwidth: Declare also when it's aliased.
62407         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
62408         macro.
62410 2010-05-02  Bruno Haible  <bruno@clisp.org>
62412         Fix regression from 2010-04-25.
62413         * gnulib-tool (func_modules_transitive_closure): Check the status of
62414         all modules, not only of the tests that are of the form foo-tests where
62415         foo is a module.
62417 2010-05-02  Bruno Haible  <bruno@clisp.org>
62419         wctob: Work around nasty Cygwin 1.7.2 bug.
62420         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
62421         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
62423 2010-05-01  Bruno Haible  <bruno@clisp.org>
62425         fpurge: Sharper test.
62426         * tests/test-fpurge.c (main): Add one more ftell check.
62427         * modules/fpurge-tests (Depends-on): Add ftell.
62428         Suggested by Eric Blake.
62430 2010-05-01  Bruno Haible  <bruno@clisp.org>
62432         ftello: Another test.
62433         * tests/test-ftello3.c: New file.
62434         * modules/ftello-tests (Files): Add it.
62435         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
62436         MOSTLYCLEANFILES.
62438         ftell: Another test.
62439         * tests/test-ftell3.c: New file.
62440         * modules/ftell-tests (Files): Add it.
62441         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
62442         MOSTLYCLEANFILES.
62444 2010-05-01  Bruno Haible  <bruno@clisp.org>
62446         ftell, ftello: Work around Solaris bug.
62447         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
62448         * lib/ftello.c: Include stdio-impl.h.
62449         (ftello): On Solaris, when _IOWRT is set, compute the result without
62450         looking at _IOREAD.
62451         * modules/ftello (Files): Add lib/stdio-impl.h.
62452         * doc/posix-functions/ftell.texi: Mention Solaris bug.
62453         * doc/posix-functions/ftello.texi: Likewise.
62454         Reported by Eric Blake.
62456 2010-05-01  Bruno Haible  <bruno@clisp.org>
62458         freading: Adapt to special meaning of _IOREAD flag on Solaris.
62459         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
62460         the _IOWRT flag is also set.
62462 2010-05-01  Bruno Haible  <bruno@clisp.org>
62464         Fix doc about a HP-UX stdio bug.
62465         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
62466         * doc/posix-functions/ftello.texi: Likewise.
62468 2010-05-01  Bruno Haible  <bruno@clisp.org>
62470         lseek test: Fix failure on Solaris.
62471         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
62472         output.
62474 2010-04-30  Jim Meyering  <meyering@redhat.com>
62476         bootstrap: don't ignore failure to generate po*/Makevars
62477         * build-aux/bootstrap (with_gettext): Don't ignore failure
62478         to create po/Makevars or runtime-po/Makevars.
62480 2010-04-29  Eric Blake  <eblake@redhat.com>
62482         headers: relax license to LGPLv2+
62483         * modules/fcntl-h (License): Relax license.
62484         * modules/getopt-posix (License): Likewise.
62485         * modules/locale (License): Likewise.
62486         * modules/math (License): Likewise.
62487         * modules/pty (License): Likewise.
62488         * modules/sched (License): Likewise.
62489         * modules/search (License): Likewise.
62490         * modules/spawn (License): Likewise.
62491         * modules/stdarg (License): Likewise.
62492         * modules/sysexits (License): Likewise.
62494 2010-04-29  Jim Meyering  <meyering@redhat.com>
62496         inttypes: relax license to LGPLv2+
62497         * modules/inttypes (License): Relax license.
62499 2010-04-29  Simon Josefsson  <simon@josefsson.org>
62501         * top/maint.mk (indent): Run twice to produce idempotent results.
62503 2010-04-28  Bruno Haible  <bruno@clisp.org>
62505         getdate: Generate getdate.c in the source directory.
62506         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
62507         MOSTLYCLEANFILES.
62508         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
62510 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
62512         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
62513         is not declared as a const *; avoid warnings in that case.
62515 2010-04-28  Eric Blake  <eblake@redhat.com>
62517         canonicalize-lgpl: avoid compiler warning
62518         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
62519         declaration' / 'extraneous semicolon' warning with some compilers.
62520         Reported by Andreas Gruenbacher.
62522 2010-04-28  Jim Meyering  <meyering@redhat.com>
62524         init.sh: ensure a more reliable exit status when exiting via trap
62525         * tests/init.sh (setup_): Don't rely on $? in signal handler.
62526         Inspired by patches from Dmitry V. Levin.
62527         Also trap on signal 3 (SIGQUIT).
62529 2010-04-27  Bruno Haible  <bruno@clisp.org>
62531         Update doc about utimes().
62532         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
62533         'utimens' module.
62534         Reported by Andreas Gruenbacher <agruen@suse.de>.
62536 2010-04-27  Eric Blake  <eblake@redhat.com>
62538         full-read, full-write: relax license
62539         * modules/full-read (License): Drop to LGPLv2+.
62540         * modules/full-write (License): Likewise.
62541         * modules/safe-read (License): Likewise.
62542         * modules/safe-write (License): Likewise.
62544         pthread: mention library for linking
62545         * modules/pthread (Link): Mention $(LIB_PTHREAD).
62547 2010-04-27  Jim Meyering  <meyering@redhat.com>
62549         maint.mk: fix a bug introduced in last change
62550         * top/maint.mk (gl_assured_headers_): Now that all names are on
62551         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
62552         is not anchored to end of word, it should be adequate.
62554         maint.mk: avoid side-effect in latest syntax-check
62555         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
62556         to run commands via $(shell...), and hence to incur cost only when
62557         the new rule is actually run.
62559         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
62560         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
62561         and use that to create a regexp used to detect all #if HAVE_..._H uses.
62562         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
62563         (gl_assured_headers_, az_, AZ_): Define.
62564         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
62566 2010-04-26  Jim Meyering  <jim@meyering.net>
62567             Bruno Haible  <bruno@clisp.org>
62569         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
62570         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
62571         Prompted by an exchange with Gilles Espinasse.
62573 2010-04-26  Jim Meyering  <meyering@redhat.com>
62575         git-version-gen: aesthetic tweak
62576         * build-aux/git-version-gen: Use "$nl" rather than a literal,
62577         so that the command remains on a single line.
62579 2010-04-26  Eric Blake  <eblake@redhat.com>
62581         git-version-gen: allow use on EBCDIC hosts
62582         * build-aux/git-version-gen (dirty): Use literal rather than tying
62583         ourselves to ascii.
62584         Reported by Steve Goetze.
62586 2010-04-25  Bruno Haible  <bruno@clisp.org>
62588         netdb: Add support for GNULIB_POSIXCHECK.
62589         * lib/netdb.in.h: Include warn-on-use.h.
62590         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
62591         functions are used when GNULIB_POSIXCHECK is defined and the
62592         getaddrinfo module is not in use.
62593         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
62594         freeaddrinfo, gai_strerror, getnameinfo are declared.
62595         * modules/netdb (Depends-on): Add warn-on-use.
62596         (Makefile.am): Include warn-on-use.h in netdb.h.
62598 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
62600         build: avoid "make check" failure without .git/ directory
62601         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
62602         there is no .git/ directory.
62604 2010-04-25  Bruno Haible  <bruno@clisp.org>
62606         ptsname: Fix misuse of ttyname_r.
62607         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
62608         of errno.
62610 2010-04-25  Bruno Haible  <bruno@clisp.org>
62612         ttyname_r: Make it work on Solaris 10.
62613         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
62614         if the system function has the POSIX declaration. Test whether the
62615         function fails if the buffer is less than 128 bytes large.
62616         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
62617         system's ttyname_r function. Provide a reasonably large buffer.
62618         * modules/ttyname_r (Depends-on): Add extensions.
62619         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
62621 2010-04-25  Bruno Haible  <bruno@clisp.org>
62623         Use the 'extensions' module for some more functions on Solaris.
62624         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
62625         module.
62626         * doc/posix-functions/ctime_r.texi: Likewise.
62627         * doc/posix-functions/getgrgid_r.texi: Likewise.
62628         * doc/posix-functions/getgrnam_r.texi: Likewise.
62629         * doc/posix-functions/getpwnam_r.texi: Likewise.
62630         * doc/posix-functions/getpwuid_r.texi: Likewise.
62631         * doc/posix-functions/readdir_r.texi: Likewise.
62632         * doc/posix-functions/sigwait.texi: Likewise.
62633         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
62634         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
62636 2010-04-25  Bruno Haible  <bruno@clisp.org>
62638         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
62639         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
62640         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
62641         * lib/ttyname_r.c: Include <limits.h>.
62642         (ttyname_r): Define using the system's ttyname_r function, if it exists
62643         and not on Solaris.
62644         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
62645         set.
62646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
62647         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
62648         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
62649         Reported by Simon Josefsson.
62651 2010-04-25  Bruno Haible  <bruno@clisp.org>
62653         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
62654         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
62655         * doc/posix-functions/ctime_r.texi: Likewise.
62656         * doc/posix-functions/getgrgid_r.texi: Likewise.
62657         * doc/posix-functions/getgrnam_r.texi: Likewise.
62658         * doc/posix-functions/getlogin_r.texi: Likewise.
62659         * doc/posix-functions/getpwnam_r.texi: Likewise.
62660         * doc/posix-functions/getpwuid_r.texi: Likewise.
62661         * doc/posix-functions/readdir_r.texi: Likewise.
62662         * doc/posix-functions/sigwait.texi: Likewise.
62663         * doc/posix-functions/ttyname_r.texi: Likewise.
62664         Reported by Simon Josefsson.
62666 2010-04-25  Bruno Haible  <bruno@clisp.org>
62668         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
62669         * gnulib-tool (func_usage): Document that --with-*-tests options apply
62670         also to --create-testdir.
62671         (func_acceptable): Don't consider the status of *-tests modules here.
62672         (func_modules_transitive_closure): Consider it here, before including a
62673         test module.
62674         (func_import, func_create_testdir): Set inc_all_direct_tests,
62675         inc_all_indirect_tests.
62676         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
62677         --create-testdir and --create-megatestdir.
62679 2010-04-25  Bruno Haible  <bruno@clisp.org>
62681         gnulib-tool: Add --without-*-tests options.
62682         * gnulib-tool (func_usage): Document the --without-*-tests options.
62683         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
62684         excl_unportable_tests): New variables.
62685         Fail if they are specified with --import or --update.
62686         (func_acceptable): Respect the excl_*_tests variables.
62687         (func_import): Set the excl_*_tests variables to empty.
62689 2010-04-25  Simon Josefsson  <simon@josefsson.org>
62690             Bruno Haible  <bruno@clisp.org>
62692         Work around a MacOS X 10.4 bug with openpty.
62693         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
62694         * tests/test-openpty.c (main): Close the master side explicitly.
62696 2010-04-25  Bruno Haible  <bruno@clisp.org>
62698         strnlen: Fix a C++ test error on MacOS X and Solaris.
62699         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
62700         the function is not declared.
62701         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
62702         Simon Josefsson.
62704 2010-04-24  Bruno Haible  <bruno@clisp.org>
62706         Avoid a gcc warning.
62707         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
62708         of correct type for %08lx directive.
62709         Reported by Eric Blake.
62711 2010-04-24  Bruno Haible  <bruno@clisp.org>
62713         vasnprintf: Correct errno value in case of out-of-memory.
62714         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
62715         or sprintf. Use the errno value from SNPRINTF or sprintf.
62716         Reported by Ian Beckwith <ianb@erislabs.net>.
62718 2010-04-24  Bruno Haible  <bruno@clisp.org>
62720         ansi-c++-opt: Find correct compiler when cross-compiling.
62721         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
62722         AC_CHECK_PROGS.
62723         Reported by Simon Josefsson.
62725 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
62727         vc-list-files: Add support for subversion
62728         * build-aux/vc-list-files: Use "svn list" to generate the list of
62729         files controlled by subversion.
62731 2010-04-23  Jim Meyering  <meyering@redhat.com>
62733         vc-list-files tests: convert to use init.sh
62734         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
62735         path_prepend_.
62736         Use Exit, not exit.
62737         Use skip_ rather than open coding it.
62738         Remove trap set-up and compare definitions.
62739         * tests/test-vc-list-files-git.sh: Likewise.
62740         * modules/vc-list-files-tests (Files): Add tests/init.sh.
62742 2010-04-22  Simon Josefsson  <simon@josefsson.org>
62744         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
62745         backup files.
62747 2010-04-21  Simon Josefsson  <simon@josefsson.org>
62749         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
62751 2010-04-20  Eric Blake  <eblake@redhat.com>
62753         tests: be robust to ignored SIGPIPE
62754         * tests/test-select-in.sh: Consume all output.
62755         * tests/test-lseek.sh: Check correct exit status, while avoiding
62756         EPIPE.
62758 2010-04-20  Simon Josefsson  <simon@josefsson.org>
62759             Bruno Haible  <bruno@clisp.org>
62761         visibility: Don't use -fvisibility if it leads to a warning.
62762         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
62763         yes, don't pretend that visibility works if it leads to a warning.
62764         Reported by Mike Gran <spk121@yahoo.com>.
62766 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
62768         * build-aux/bootstrap: Use "git -h" for testing for supported options
62769         instead of "git --help".  The short-form option only shows a summary,
62770         and doesn't layout the full man page.  Grep for the full option name
62771         in the summary, too.
62773 2010-04-19  Bruno Haible  <bruno@clisp.org>
62775         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
62776         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
62777         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
62778         mention of RELOCATABLE_STRIP.
62779         Reported by Sylvain Beucler <beuc@beuc.net>.
62781 2010-04-19  Bruno Haible  <bruno@clisp.org>
62783         * lib/diffseq.h: Fix typo in comment.
62784         Reported by Eric Blake.
62786 2010-04-19  Bruno Haible  <bruno@clisp.org>
62788         ioctl: Move autoconf macro to a .m4 file.
62789         * m4/ioctl.m4: New file, extracted from modules/ioctl.
62790         * modules/ioctl (Files): Add it.
62791         (configure.ac): Simply invoke gl_FUNC_IOCTL.
62792         Reported by Ian Beckwith <ianb@erislabs.net>.
62794 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
62795             Bruno Haible  <bruno@clisp.org>
62797         diffseq: Accommodate use-case with abstract arrays.
62798         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
62799         is not defined.
62800         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
62801         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
62803 2010-04-18  Bruno Haible  <bruno@clisp.org>
62805         * doc/posix-headers/stdbool.texi: More precise wording.
62807 2010-04-17  Jim Meyering  <meyering@redhat.com>
62809         maint.mk: use gnu-style indentation in an embedded perl script
62810         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
62811         Rename variable: s/two/last_two_bytes/
62813 2010-04-16  Eric Blake  <eblake@redhat.com>
62815         test-stdbool: skip test that fails with Solaris CC
62816         * tests/test-stdbool.c (f): Skip test that causes compilation
62817         error under buggy C++ compiler.
62818         * lib/stdbool.in.h: Document the limitation.
62819         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
62821         setenv: allow compilation with C++
62822         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
62823         register keyword.
62825         stdint: allow test to pass with C++
62826         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
62828         getopt: allow compilation with C++
62829         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
62830         struct.
62831         * lib/getopt.c (_getopt_internal_r): Use correct type.
62832         Reported by Dagobert Michelson, via Joel E. Denny.
62834 2010-04-16  Bruno Haible  <bruno@clisp.org>
62836         Override netdb.h always.
62837         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
62838         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
62839         Reported by Ludovic Courtès <ludo@gnu.org>.
62841 2010-04-15  Bruno Haible  <bruno@clisp.org>
62843         openpty: Fix mistake from 2010-03-21.
62844         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
62845         Reported by Simon Josefsson.
62847 2010-04-15  Eric Blake  <eblake@redhat.com>
62849         test-forkpty: fix expected signature
62850         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
62851         Reported by Simon Josefsson.
62853 2010-04-15  Jim Meyering  <meyering@redhat.com>
62855         maint.mk: texinfo_suffix_re_: correct the default regexp
62856         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
62858         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
62859         make it configurable via texinfo_suffix_re_.
62861 2010-04-14  Eric Blake  <eblake@redhat.com>
62863         strtok_r: relax license to LGPLv2+
62864         * modules/strtok_r (License): Relax license.
62865         Reported by Matthias Bolte.
62867 2010-04-14  Simon Josefsson  <simon@josefsson.org>
62869         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
62870         version 1.4.4 by default instead of requiring the libgcrypt
62871         version used during build.  This makes it possible to use the
62872         application with older but still binary compatible libgcrypt
62873         versions.
62875 2010-04-13  Eric Blake  <eblake@redhat.com>
62877         getopt-gnu: match recent glibc fixes and posix ruling
62878         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
62879         '+' handling, when requesting extensions.
62880         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
62881         'W;' handling.
62882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
62883         * doc/posix-functions/getopt.texi (getopt): Document this.
62884         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
62885         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
62886         Likewise.
62888         getopt: merge bug fixes from glibc
62889         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
62890         diagnostics.  Honor '+:' correctly.  Reject ';'.
62892         getopt-posix: detect MacOS bug
62893         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
62894         optind when missing a required argument.
62895         * doc/posix-functions/getopt.texi (getopt): Document the bug.
62896         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
62897         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
62898         Likewise.
62900         getopt-posix: avoid spurious failure on Solaris
62901         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
62902         an indicator that setting optind=1 is sufficient for reset.
62904         getopt-posix: avoid spurious failure on FreeBSD
62905         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
62906         in POSIX mode, since the m4 test uses it.
62908         gnulib-tool: silence warning on BSD sh
62909         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
62911 2010-04-13  Jim Meyering  <meyering@redhat.com>
62913         doc: users.txt: GNU patch now uses gnulib
62914         * users.txt: Add patch.
62916 2010-04-12  Jim Meyering  <meyering@redhat.com>
62918         maint.mk: generate more concise timing data for syntax-check rules
62919         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
62920         " done" from each line that reports a syntax-check test duration.
62922 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
62924         git-version-gen: use "git update-index..." rather than "git status"
62925         * build-aux/git-version-gen: Use git update-index --refresh, not
62926         "git status".  With some versions of git, "git status" would fail
62927         to update the index and result in an unwarranted "-dirty" suffix.
62929 2010-04-11  Jim Meyering  <meyering@redhat.com>
62931         openat: correct formatting (no semantic change)
62932         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
62933         Suggested by Bruno Haible.
62935 2010-04-11  Bruno Haible  <bruno@clisp.org>
62937         Stricter declaration checking in testdirs.
62938         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62939         If for_tests is true, augment AM_CPPFLAGS to define
62940         GNULIB_STRICT_CHECKING.
62941         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
62942         GNULIB_STRICT_CHECKING is defined, verify that the function is
62943         declared.
62945 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
62946             Bruno Haible  <bruno@clisp.org>
62948         libunistring: Improve configure output.
62949         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
62950         Don't say "consider installing GNU libunistring" when checking again
62951         with libiconv.
62953 2010-04-11  Bruno Haible  <bruno@clisp.org>
62955         libunistring: Correct value of $LTLIBUNISTRING.
62956         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
62957         correct the value of $LTLIBUNISTRING.
62959 2010-04-11  Bruno Haible  <bruno@clisp.org>
62961         havelib: Add static libraries to LIBS in the right order.
62962         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
62963         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
62965 2010-04-11  Bruno Haible  <bruno@clisp.org>
62967         libunistring: Detect libunistring also when it depends on libiconv.
62968         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
62969         the second AC_LIB_HAVE_LINKFLAGS invocation.
62971 2010-04-11  James Youngman  <jay@gnu.org>
62973         close-stream: declare local scalars to be "const"
62974         * lib/close-stream.c (close_stream): Make boolean variables const
62975         to document the fact that we set but do not change them.
62977 2010-04-11  Bruno Haible  <bruno@clisp.org>
62979         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
62981 2010-04-11  Jim Meyering  <meyering@redhat.com>
62983         maint.mk: don't include dist-check.mk
62984         * top/maint.mk: Remove bogus include directive.
62986         maint.mk: improve empty-line-at-EOF check
62987         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
62988         solution, rather than tail+Perl-based one.  The latter would read
62989         a few kilobytes from the end of each file, and did not handle empty
62990         files properly.
62992         maint.mk: print the elapsed time for each syntax-check rule
62993         * top/maint.mk (sc_m_rules_): Save start time in a file.
62994         (sc_z_rules_): New rules: remove temp file and print elapsed time.
62995         (local-check): Interpose the .z rules
62997 2010-04-11  Jim Meyering  <meyering@redhat.com>
62999         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
63000         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
63001         empty file with one that ends in an empty line.
63003 2010-04-10  Bruno Haible  <bruno@clisp.org>
63005         mkdir: Make it work on mingw64.
63006         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
63007         * lib/mkdir.c: Update comment.
63008         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
63010 2010-04-10  Bruno Haible  <bruno@clisp.org>
63012         Don't override improved macro from newer autoconf.
63013         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
63014         autoconf >= 2.62.
63015         Reported by Joel E. Denny <jdenny@clemson.edu>.
63017 2010-04-10  Jim Meyering  <meyering@redhat.com>
63019         maint.mk: new syntax-check rule: prohibit empty lines at end of file
63020         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
63022         maint.mk: correct a diagnostic
63023         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
63024         in diagnostic; now use $prohibit.
63026 2010-04-10  Bruno Haible  <address@hidden>
63028         fchownat: Fix a C++ test error on Solaris 8.
63029         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
63030         the function does not exist.
63032 2010-04-10  Bruno Haible  <bruno@clisp.org>
63034         vasnprintf: Add more tests.
63035         * tests/test-vasnprintf-posix.c: Include <errno.h>.
63036         (test_function): Test converting an invalid wide string.
63038         vasnprintf: Correct handling of unconvertible wide string arguments.
63039         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
63040         VASNPRINTF.
63041         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
63042         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
63043         smaller than the expected maximum need for the directive. Set errno to
63044         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
63045         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
63046         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
63047         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
63048         * modules/vasnprintf (Files): Add m4/printf.m4.
63049         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
63051 2010-04-10  Bruno Haible  <bruno@clisp.org>
63053         vasnprintf: Fix crash in %ls directive.
63054         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
63055         string is passed as argument to %ls, with no precision and no width.
63056         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
63058 2010-04-10  Bruno Haible  <bruno@clisp.org>
63060         vasnprintf: Fix multiple test failures on mingw.
63061         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
63062         _snprintf, or snwprintf, not _snwprintf.
63064 2010-04-10  Bruno Haible  <bruno@clisp.org>
63066         write: Fix a C++ test error on mingw.
63067         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
63069 2010-04-10  Bruno Haible  <bruno@clisp.org>
63071         vasnprintf test: Reduce code duplication.
63072         * tests/test-vasnprintf.c (test_function): New function, extracted from
63073         test_vasnprintf.
63074         (test_vasnprintf, test_asnprintf): Invoke it.
63076 2010-04-10  Bruno Haible  <bruno@clisp.org>
63078         strnlen: Fix warning in C++ mode on MacOS X.
63079         * lib/string.in.h (strnlen): Use the modern idiom.
63080         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
63081         defining strnlen as a macro already in <config.h>.
63082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63083         REPLACE_STRNLEN.
63084         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
63085         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
63087 2010-04-08  James Youngman  <jay@gnu.org>
63089         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
63090         the example.
63092 2010-04-09  Jim Meyering  <meyering@redhat.com>
63094         maint.mk: print better diagnostic when there is no $(_hv_file)
63095         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
63096         announce that when $(_hv_file) (aka help-version) does not exist.
63098         init.sh: run tr in the "C" locale to avoid multibyte interpretation
63099         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
63100         not try to interpret its random input bytes.  Jarno Rajahalme reported
63101         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
63102         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
63103         (mktempd_): Likewise, just in case.
63105         ftruncate: add two years to projected module removal date: 2012
63106         * m4/ftruncate.m4: Adjust comments.
63108         ftruncate: mark module as obsolete; even MinGW provides it, now
63109         * modules/ftruncate (Status): Obsolete.
63110         (Notice): Say that.
63111         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
63112         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
63114 2010-04-08  Bruno Haible  <bruno@clisp.org>
63116         Fix side effects from tests-related modules.
63117         * modules/dprintf-posix (Comment): New section.
63118         * modules/fprintf-posix (Comment): Likewise.
63119         * modules/obstack-printf-posix (Comment): Likewise.
63120         * modules/printf-posix (Comment): Likewise.
63121         * modules/snprintf-posix (Comment): Likewise.
63122         * modules/sprintf-posix (Comment): Likewise.
63123         * modules/vasnprintf-posix (Comment): Likewise.
63124         * modules/vasprintf-posix (Comment): Likewise.
63125         * modules/vdprintf-posix (Comment): Likewise.
63126         * modules/vfprintf-posix (Comment): Likewise.
63127         * modules/vprintf-posix (Comment): Likewise.
63128         * modules/vsnprintf-posix (Comment): Likewise.
63129         * modules/vsprintf-posix (Comment): Likewise.
63130         * modules/xprintf-posix (Comment): Likewise.
63131         * modules/xvasprintf-posix (Comment): Likewise.
63132         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
63133         * modules/floorf-tests (Depends-on): Likewise.
63134         * modules/round-tests (Depends-on): Likewise.
63135         * modules/roundf-tests (Depends-on): Likewise.
63136         * modules/trunc-tests (Depends-on): Likewise.
63137         * modules/truncf-tests (Depends-on): Likewise.
63138         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
63139         'fprintf-posix' module is not present.
63140         * tests/test-floorf2.c (check): Likewise.
63141         * tests/test-trunc2.c (check): Likewise.
63142         * tests/test-truncf2.c (check): Likewise.
63143         * tests/test-round2.c (equal): Likewise.
63144         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
63146 2010-04-07  Karl Berry  <karl@gnu.org>
63148         * config/srclist.txt,
63149         * config/srclistvars.sh,
63150         * config/srclist-update: doc fixes.
63152 2010-04-07  Jim Meyering  <meyering@redhat.com>
63154         maint.mk: add a PATH crosschecking syntax-check rule
63155         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
63156         Useful if you use a test like the one in help-version (coreutils,
63157         diffutils, grep, gzip) that ensures $(VERSION) matches what is
63158         printed by prog --version.
63160 2010-04-06  Bruno Haible  <bruno@clisp.org>
63162         Fix link error on mingw.
63163         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
63164         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
63166 2010-04-06  Bruno Haible  <bruno@clisp.org>
63168         Assume rmdir exists.
63169         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
63171 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
63173         doc: update users.txt
63174         * users.txt: Add gcal.
63176 2010-04-06  Jim Meyering  <meyering@redhat.com>
63178         init.sh: simply unset TMPDIR rather than risking env -i
63179         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
63180         although it probably works fine on all Unix-based systems, some
63181         systems (Cygwin?) cannot tolerate a totally cleared environment.
63182         Suggestion from Eric Blake.
63184 2010-04-06  Jim Meyering  <meyering@redhat.com>
63186         init.sh: portability fix: use env's POSIX-specified -i option not -u
63187         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
63188         than unportable env -u.  Solaris 5.11's env lacks support for -u.
63190 2010-04-05  Bruno Haible  <bruno@clisp.org>
63192         btowc: Work around Cygwin 1.7.2 bug.
63193         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
63194         does not map NUL to 0.
63195         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
63197 2010-04-05  Bruno Haible  <bruno@clisp.org>
63199         Make the multithread modules work on Cygwin 1.7.2.
63200         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
63201         imported symbols can be declared weak, so that it returns "no" on
63202         Cygwin 1.7.2.
63204 2010-04-05  Bruno Haible  <bruno@clisp.org>
63206         Use the module 'strncat'.
63207         * modules/unistr/u8-strncat (Depends-on): Add strncat.
63209         Tests for module 'strncat'.
63210         * modules/strncat-tests: New file.
63211         * tests/test-strncat.c: New file.
63213         New module 'strncat'.
63214         * lib/string.in.h (strncat): New declaration.
63215         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
63216         * m4/strncat.m4: New file, based on m4/memchr.m4.
63217         * modules/strncat: New file.
63218         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
63219         is declared.
63220         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
63221         REPLACE_STRNCAT.
63222         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
63223         REPLACE_STRNCAT.
63224         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
63225         module.
63226         * tests/test-string-c++.cc: Check signature of strncat.
63228 2010-04-05  Jim Meyering  <meyering@redhat.com>
63230         xstrtoumax-tests: convert to use init.sh
63231         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
63232         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
63233         Use Exit, not exit.
63234         Remove uses of $EXEEXT and "./" to run a program in the current dir.
63236         xstrtoimax-tests: convert to use init.sh
63237         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
63238         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
63239         Use Exit, not exit.
63240         Remove uses of $EXEEXT and "./" to run a program in the current dir.
63242 2010-04-05  Bruno Haible  <bruno@clisp.org>
63244         sys_socket: Avoid #define replacements in C++ mode.
63245         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
63246         warning to the function if possible, rather than #defining the symbol
63247         to a dysfunctional alias.
63249 2010-04-05  Bruno Haible  <bruno@clisp.org>
63251         fseeko: Fix C++ test error on mingw.
63252         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
63253         gl_FUNC_FSEEKO.
63254         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
63255         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
63256         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
63257         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
63259 2010-04-05  Bruno Haible  <bruno@clisp.org>
63261         duplocale: Improve test output.
63262         * tests/test-duplocale.c (main): Print reason for skipped test.
63264 2010-04-05  Bruno Haible  <bruno@clisp.org>
63266         Assume rmdir exists.
63267         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
63268         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
63270 2010-04-05  Bruno Haible  <bruno@clisp.org>
63272         Fix link error on Solaris 8 with cc.
63273         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
63275 2010-04-05  Bruno Haible  <bruno@clisp.org>
63277         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
63278         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
63280 2010-04-05  Bruno Haible  <bruno@clisp.org>
63282         vasprintf: Update documentation.
63283         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
63285 2010-04-05  Bruno Haible  <bruno@clisp.org>
63287         ptsname: Improve test.
63288         * tests/test-ptsname.c (main): Also try the various master names of BSD
63289         systems.
63291 2010-04-05  Bruno Haible  <bruno@clisp.org>
63293         memchr: Avoid a possible C++ test error.
63294         * lib/string.in.h (memchr): Provide declaration if function is missing.
63295         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
63296         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
63297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
63298         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
63300 2010-04-05  Bruno Haible  <bruno@clisp.org>
63302         strtok_r: Improve idiom.
63303         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
63304         AC_LIBOBJ is used.
63306 2010-04-05  Bruno Haible  <bruno@clisp.org>
63308         strdup: Improve idiom.
63309         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
63310         AC_LIBOBJ is used.
63311         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
63312         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
63313         when AC_LIBOBJ is used.
63315 2010-04-05  Bruno Haible  <bruno@clisp.org>
63317         mbsinit, mbrtowc, wcrtomb: Improve idioms.
63318         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
63319         don't set REPLACE_MBSINIT to 1.
63320         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
63321         don't set REPLACE_MBRTOWC to 1.
63322         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
63323         exist, don't set REPLACE_MBSRTOWCS to 1.
63324         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
63325         exist, don't set REPLACE_MBSNRTOWCS to 1.
63326         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
63327         don't set REPLACE_WCRTOMB to 1.
63328         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
63329         exist, don't set REPLACE_WCSRTOMBS to 1.
63330         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
63331         exist, don't set REPLACE_WCSNRTOMBS to 1.
63333 2010-04-05  Bruno Haible  <bruno@clisp.org>
63335         ldexpl: Improve idiom.
63336         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
63337         make sure to set HAVE_DECL_LDEXPL to 0.
63339 2010-04-05  Jim Meyering  <meyering@redhat.com>
63341         xstrtol-tests: convert to use init.sh
63342         * modules/xstrtol-tests (Files): Add tests/init.sh.
63343         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
63344         Use Exit, not exit.
63345         Remove uses of $EXEEXT and "./" to run a program in the current dir.
63347         atexit-tests: convert to use init.sh
63348         * modules/atexit-tests (Files): Add tests/init.sh.
63349         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
63350         Use Exit, not exit.
63351         Remove uses of $EXEEXT and "./" to run a program in the current dir.
63353         init.sh: fix typo
63354         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
63356         init.sh: make it easier for a test script to write to the tty, ...
63357         when using automake's parallel-tests mode.
63358         * tests/init.sh (stderr_fileno_): Define overridable variable.
63359         (warn_): New function, to use it.
63360         (fail_, skip_, framework_failure_): Use warn_.
63362 2010-04-04  Bruno Haible  <bruno@clisp.org>
63364         btowc: Avoid warning.
63365         * lib/btowc.c: Include <stdlib.h>.
63366         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
63368 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
63369             Bruno Haible  <bruno@clisp.org>
63371         wchar: Port to NetBSD 1.5.
63372         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
63373         * lib/wctype.in.h (WEOF): Likewise.
63375 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
63376             Bruno Haible  <bruno@clisp.org>
63378         Port extended stdio to NetBSD 1.5.
63379         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
63380         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
63381         older.
63383 2010-04-04  Bruno Haible  <bruno@clisp.org>
63385         string: Remove unused substitution.
63386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
63387         HAVE_DECL_STRERROR.
63388         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
63390 2010-04-04  Bruno Haible  <bruno@clisp.org>
63392         strtod: Avoid a possible C++ test error.
63393         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
63394         set REPLACE_STRTOD.
63396 2010-04-04  Bruno Haible  <bruno@clisp.org>
63398         strerror: Update documentation.
63399         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
63401 2010-04-04  Bruno Haible  <bruno@clisp.org>
63403         stdio: Fix some C++ test errors on Solaris 8 with GCC.
63404         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
63405         _GL_CXXALIAS_SYS_CAST.
63407 2010-04-04  Bruno Haible  <bruno@clisp.org>
63409         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
63410         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
63411         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
63412         REPLACE_FREXPL to 1.
63413         * doc/posix-functions/frexpl.texi: Update documentation.
63415 2010-04-04  Bruno Haible  <bruno@clisp.org>
63417         math: Fix some C++ test errors on Solaris 8 and Cygwin.
63418         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
63420 2010-04-04  Bruno Haible  <bruno@clisp.org>
63422         Implement nanosleep for native Windows.
63423         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
63425 2010-04-04  Bruno Haible  <bruno@clisp.org>
63427         math: Fix some C++ test errors on Solaris 8.
63428         * lib/math.in.h (truncf, trunc): Use simpler idiom.
63430 2010-04-04  Bruno Haible  <bruno@clisp.org>
63432         math: Fix some C++ test errors on Cygwin.
63433         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
63434         truncl): Provide declaration if the system does not have it.
63435         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
63436         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
63437         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
63438         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
63439         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
63440         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
63441         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
63442         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
63443         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
63444         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
63445         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
63446         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
63447         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
63448         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
63449         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
63450         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
63451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
63452         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
63453         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
63454         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
63455         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
63456         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
63458 2010-04-04  Bruno Haible  <bruno@clisp.org>
63460         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
63461         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
63462         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
63463         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
63464         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
63465         * m4/isinf.m4 (gl_ISINF): Likewise.
63466         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
63468 2010-04-04  Bruno Haible  <bruno@clisp.org>
63470         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
63471         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
63473 2010-04-04  Bruno Haible  <bruno@clisp.org>
63475         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
63476         * modules/tmpfile (configure.ac): Update.
63478         tmpfile: Fix C++ test error on mingw.
63479         * lib/stdio.in.h (tmpfile): New declaration.
63480         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
63481         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
63482         * modules/tmpfile (Depends-on): Add stdio.
63483         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
63484         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
63485         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
63486         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
63487         REPLACE_TMPFILE.
63488         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
63490 2010-04-04  Bruno Haible  <bruno@clisp.org>
63492         ioctl: Fix C++ test error on mingw.
63493         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
63494         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
63495         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
63497 2010-04-03  Bruno Haible  <bruno@clisp.org>
63499         wcwidth: Fix C++ test error on mingw.
63500         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
63501         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
63502         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
63504 2010-04-03  Bruno Haible  <bruno@clisp.org>
63506         nanosleep: Fix C++ test error on mingw.
63507         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
63508         * lib/time.in.h (nanosleep): Use modern idiom.
63509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
63510         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
63511         REPLACE_NANOSLEEP to 1.
63512         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
63513         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
63515 2010-04-03  Bruno Haible  <bruno@clisp.org>
63517         strptime: Fix C++ test error on mingw.
63518         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
63519         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
63520         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
63521         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
63522         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
63523         not REPLACE_STRPTIME.
63524         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
63525         REPLACE_STRPTIME.
63527 2010-04-03  Bruno Haible  <bruno@clisp.org>
63529         timegm: Fix C++ test error on mingw.
63530         * lib/time.in.h (timegm): Use modern idiom.
63531         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
63532         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
63533         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
63534         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
63536 2010-04-03  Bruno Haible  <bruno@clisp.org>
63538         timegm: Assume declaration if function exists.
63539         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
63540         if it exists. Don't clobber ac_cv_func_timegm.
63542 2010-04-03  Bruno Haible  <bruno@clisp.org>
63544         time_r: Fix C++ test error on mingw.
63545         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
63546         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
63547         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
63548         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
63549         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
63551 2010-04-03  Bruno Haible  <bruno@clisp.org>
63553         time_r: Minor updates.
63554         * modules/time_r (Description): Mention the provided functions.
63555         * lib/time_r.c: Don't include <string.h>.
63556         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
63557         * doc/posix-functions/localtime_r.texi: Likewise.
63559 2010-04-03  Bruno Haible  <bruno@clisp.org>
63561         time: Fix regression introduced on 2010-03-08.
63562         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
63563         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
63565 2010-04-03  Jim Meyering  <meyering@redhat.com>
63567         maint.mk: don't silently disable project-specific syntax-check rules
63568         * top/maint.mk (_prohibit_regexp): Define, to help people realize
63569         that they need to convert their project-specific syntax-check rules
63570         to use the new _sc_search_regexp.
63572 2010-04-03  Bruno Haible  <bruno@clisp.org>
63574         fchdir: Fix regression introduced on 2010-03-08.
63575         * lib/unistd.in.h (fchdir): Fix declaration.
63576         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
63577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
63578         REPLACE_FCHDIR.
63579         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
63580         REPLACE_FCHDIR.
63582 2010-04-03  Bruno Haible  <bruno@clisp.org>
63584         getpagesize: Fix C++ test error on mingw.
63585         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
63586         system does not declare the function.
63587         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
63588         declared.
63589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63590         HAVE_DECL_GETPAGESIZE.
63591         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
63593 2010-04-03  Bruno Haible  <bruno@clisp.org>
63595         stdio: Make C++ tests work on mingw.
63596         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
63597         does not declare the function.
63599 2010-04-03  Bruno Haible  <bruno@clisp.org>
63601         ftello: Fix C++ test error on mingw.
63602         * lib/stdio.in.h (ftello): Use modern idiom.
63603         * lib/ftello.c (ftello): Renamed from rpl_ftello.
63604         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
63605         is missing and that it needs to be replaced.
63606         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
63607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
63608         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
63610 2010-04-03  Bruno Haible  <bruno@clisp.org>
63612         fseeko: Fix C++ test error on mingw.
63613         * lib/stdio.in.h (fseeko): Use modern idiom.
63614         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
63615         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
63616         is missing and that it needs to be replaced.
63617         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
63618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
63619         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
63621 2010-04-03  Bruno Haible  <bruno@clisp.org>
63623         mkstemp: Fix C++ test error on mingw.
63624         * lib/stdlib.in.h (mkstemp): Use modern idiom.
63625         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
63626         function is missing and that it needs to be replaced.
63627         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
63628         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
63630 2010-04-03  Bruno Haible  <bruno@clisp.org>
63632         stpncpy: Fix C++ test error on mingw.
63633         * lib/string.in.h (stpncpy): Use modern idiom.
63634         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
63635         function is missing and that it needs to be replaced.
63636         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63637         REPLACE_STPNCPY.
63638         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
63640 2010-04-03  Bruno Haible  <bruno@clisp.org>
63642         sys_stat: Fix C++ test error on mingw.
63643         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
63644         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
63646 2010-04-03  Bruno Haible  <bruno@clisp.org>
63648         pty: Update doc.
63649         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
63651 2010-04-03  Bruno Haible  <bruno@clisp.org>
63653         unistd: Fix C++ test error on mingw.
63654         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
63656 2010-04-03  Bruno Haible  <bruno@clisp.org>
63658         Update doc regarding mingw.
63659         * doc/glibc-functions/openpty.texi: Update regarding mingw.
63660         * doc/glibc-functions/login_tty.texi: Likewise.
63661         * doc/glibc-functions/forkpty.texi: Likewise.
63663 2010-04-03  Bruno Haible  <bruno@clisp.org>
63665         stdlib: Avoid compilation failure of c-strtold on mingw.
63666         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
63668 2010-04-03  Bruno Haible  <bruno@clisp.org>
63670         locale: Make C++ tests work on Cygwin and mingw.
63671         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
63672         cannot provide the function.
63673         Reported by Simon Josefsson.
63675 2010-04-03  Bruno Haible  <bruno@clisp.org>
63677         localename: Port to MacOS X 10.6.
63678         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
63679         memory layout of the locales in MacOS X 10.6 as well.
63680         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
63682 2010-04-02  Bruno Haible  <bruno@clisp.org>
63684         gnulib-tool: Ensure that long-running tests are executed last.
63685         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
63686         running tests after the one for the other tests.
63688 2010-04-02  Bruno Haible  <bruno@clisp.org>
63690         gnulib-tool: Ensure the tests in the main directory are executed first.
63691         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
63692         start with the current directory.
63694 2010-04-02  Bruno Haible  <bruno@clisp.org>
63696         Tests for module 'havelib', moved here from GNU gettext.
63697         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
63698         modifications.
63699         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
63700         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
63701         with modifications.
63702         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
63703         modifications.
63704         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
63705         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
63706         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
63707         with modifications.
63708         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
63709         with modifications.
63710         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
63711         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
63712         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
63713         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
63714         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
63715         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
63716         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
63717         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
63718         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
63719         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
63720         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
63721         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
63722         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
63723         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
63724         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
63725         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
63726         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
63727         with modifications.
63728         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
63729         with modifications.
63730         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
63731         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
63732         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
63733         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
63734         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
63735         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
63736         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
63737         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
63738         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
63739         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
63740         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
63741         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
63742         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
63743         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
63744         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
63745         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
63746         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
63747         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
63748         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
63749         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
63750         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
63751         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
63752         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
63753         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
63754         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
63755         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
63756         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
63757         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
63758         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
63759         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
63760         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
63761         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
63762         * tests/havelib/rpathx/rpathx.c: New file, from
63763         gettext/autoconf-lib-link.
63764         * tests/havelib/rpathx/Makefile.am: New file, from
63765         gettext/autoconf-lib-link.
63766         * tests/havelib/rpathx/configure.ac: New file, from
63767         gettext/autoconf-lib-link with modifications.
63768         * tests/havelib/rpathy/rpathy.c: New file, from
63769         gettext/autoconf-lib-link.
63770         * tests/havelib/rpathy/Makefile.am: New file, from
63771         gettext/autoconf-lib-link.
63772         * tests/havelib/rpathy/configure.ac: New file, from
63773         gettext/autoconf-lib-link with modifications.
63774         * tests/havelib/rpathz/rpathz.c: New file, from
63775         gettext/autoconf-lib-link.
63776         * tests/havelib/rpathz/Makefile.am: New file, from
63777         gettext/autoconf-lib-link.
63778         * tests/havelib/rpathz/configure.ac: New file, from
63779         gettext/autoconf-lib-link with modifications.
63780         * tests/havelib/rpathlx/usex.c: New file, from
63781         gettext/autoconf-lib-link.
63782         * tests/havelib/rpathlx/Makefile.am: New file, from
63783         gettext/autoconf-lib-link.
63784         * tests/havelib/rpathlx/configure.ac: New file, from
63785         gettext/autoconf-lib-link with modifications.
63786         * tests/havelib/rpathly/usey.c: New file, from
63787         gettext/autoconf-lib-link.
63788         * tests/havelib/rpathly/Makefile.am: New file, from
63789         gettext/autoconf-lib-link.
63790         * tests/havelib/rpathly/configure.ac: New file, from
63791         gettext/autoconf-lib-link with modifications.
63792         * tests/havelib/rpathlz/usez.c: New file, from
63793         gettext/autoconf-lib-link.
63794         * tests/havelib/rpathlz/Makefile.am: New file, from
63795         gettext/autoconf-lib-link.
63796         * tests/havelib/rpathlz/configure.ac: New file, from
63797         gettext/autoconf-lib-link with modifications.
63798         * tests/havelib/rpathlyx/usey.c: New file, from
63799         gettext/autoconf-lib-link.
63800         * tests/havelib/rpathlyx/Makefile.am: New file, from
63801         gettext/autoconf-lib-link.
63802         * tests/havelib/rpathlyx/configure.ac: New file, from
63803         gettext/autoconf-lib-link with modifications.
63804         * tests/havelib/rpathlzyx/usez.c: New file, from
63805         gettext/autoconf-lib-link.
63806         * tests/havelib/rpathlzyx/Makefile.am: New file, from
63807         gettext/autoconf-lib-link.
63808         * tests/havelib/rpathlzyx/configure.ac: New file, from
63809         gettext/autoconf-lib-link with modifications.
63810         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
63811         with modifications.
63813 2010-04-02  Bruno Haible  <bruno@clisp.org>
63815         gnulib-tool: Create distributed built sources also for the tests.
63816         * gnulib-tool (func_create_testdir): Also generate distributed built
63817         sources in the tests directory.
63819 2010-04-02  Bruno Haible  <bruno@clisp.org>
63821         gnulib-tool: Obey user's environment variables.
63822         * gnulib-tool (func_create_testdir): When creating built sources,
63823         respect the environment variables for autoconf, automake, etc. given by
63824         the user.
63826 2010-04-02  Bruno Haible  <bruno@clisp.org>
63828         gnulib-tool: Provide the value of --m4-base to modules.
63829         * gnulib-tool (func_import, func_create_testdir): Emit a definition
63830         of gl_m4_base.
63832 2010-04-02  Eric Blake  <eblake@redhat.com>
63834         maint.mk: fix some fallout
63835         * NEWS: Document the incompatible change, and its effect on cfg.mk.
63836         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
63838 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
63840         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
63841         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
63842         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
63843         (sc_cast_of_x_alloc_return_value): Likewise.
63844         (sc_cast_of_alloca_return_value): Likewise.
63845         (sc_space_tab): Likewise.
63846         (sc_prohibit_atoi_atof): Likewise.
63847         (sc_prohibit_magic_number_exit): Likewise.
63848         (sc_error_exit_success): Likewise.
63849         (sc_file_system): Likewise.
63850         (sc_prohibit_have_config_h): Likewise.
63851         (sc_require_config_h): Likewise.
63852         (sc_prohibit_HAVE_MBRTOWC): Likewise.
63853         (sc_obsolete_symbols): Likewise.
63854         (sc_changelog): Likewise.
63855         (sc_program_name): Likewise.
63856         (sc_the_the): Likewise.
63857         (sc_trailing_blank): Likewise.
63858         (sc_two_space_separator_in_usage): Likewise.
63859         (sc_useless_cpp_parens): Likewise.
63860         (sc_GPL_version): Likewise.
63861         (sc_GFDL_version): Likewise.
63862         (sc_texinfo_acronym): Likewise.
63863         (sc_prohibit_cvs_keyword): Likewise.
63864         (sc_prohibit_stat_st_blocks): Likewise.
63865         (sc_prohibit_S_IS_definition): Likewise.
63866         (sc_redundant_const): Likewise.
63867         (sc_makefile_TAB_only_indentation): Likewise.
63868         (sc_m4_quote_check): Likewise.
63869         (sc_makefile_path_separator_check): Likewise.
63870         (sc_copyright_check): Likewise.
63871         (sc_Wundef_boolean): Likewise.
63872         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
63874         maint.mk: match 0 or more whitespace-before-function-call '('
63875         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
63876         that have zero or two-and-more spaces between the function name
63877         and the open parenthesis.
63878         (sc_error_message_warn_fatal): Likewise.
63879         (sc_error_message_uppercase): Likewise.
63880         (sc_error_message_period): Likewise.
63882 2010-03-31  Eric Blake  <eblake@redhat.com>
63884         maint.mk: check for [ as well as test
63885         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
63886         Based on a libvirt report by Matthias Bolte.
63888         gnumakefile: don't squelch _version output
63889         * top/GNUmakefile (_version): Create one-shot dependency rather
63890         than using $(shell) when version must be regenerated.
63891         (_autoreconf): Run verbosely, by default.
63893         sys_time: avoid compiler warnings
63894         * lib/sys_time.in.h (includes): Ensure gcc pragma is
63895         unconditional, fixing regression from 2010-03-29.
63896         Reported by Simon Josefsson.
63898 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
63900         maint.mk: s/_header_without_use/_sc_header_without_use/
63901         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
63902         (sc_prohibit_assert_without_use): Use the new name.
63903         (sc_prohibit_close_stream_without_use): Likewise.
63904         (sc_prohibit_getopt_without_use): Likewise.
63905         (sc_prohibit_quotearg_without_use): Likewise.
63906         (sc_prohibit_quote_without_use): Likewise.
63907         (sc_prohibit_long_options_without_use): Likewise.
63908         (sc_prohibit_inttostr_without_use): Likewise.
63909         (sc_prohibit_ignore_value_without_use): Likewise.
63910         (sc_prohibit_error_without_use): Likewise.
63911         (sc_prohibit_xalloc_without_use): Likewise.
63912         (sc_prohibit_hash_without_use): Likewise.
63913         (sc_prohibit_hash_pjw_without_use): Likewise.
63914         (sc_prohibit_safe_read_without_use): Likewise.
63915         (sc_prohibit_argmatch_without_use): Likewise.
63916         (sc_prohibit_canonicalize_without_use): Likewise.
63917         (sc_prohibit_root_dev_ino_without_use): Likewise.
63918         (sc_prohibit_openat_without_use): Likewise.
63919         (sc_prohibit_c_ctype_without_use): Likewise.
63920         (sc_prohibit_signal_without_use): Likewise.
63921         (sc_prohibit_intprops_without_use): Likewise.
63923 2010-03-30  Eric Blake  <eblake@redhat.com>
63925         maint: improve module indicators
63926         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
63927         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
63928         columns, and avoid extra macro expansion.
63930         fdopendir: work around FreeBSD bug
63931         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
63932         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
63933         * modules/dirent (Makefile.am): Substitute it.
63934         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
63935         declaration.
63936         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
63937         fix.
63938         Reported by Christian Weisgerber <naddy@mips.inka.de>.
63940 2010-03-29  Bruno Haible  <bruno@clisp.org>
63942         Emit #pragma system_header after the inclusion guard, not before.
63943         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
63944         guard that spans the entire file, not before. This enables an
63945         optimization in GCC's preprocessor.
63946         * lib/ctype.in.h: Likewise.
63947         * lib/dirent.in.h: Likewise.
63948         * lib/errno.in.h: Likewise.
63949         * lib/float.in.h: Likewise.
63950         * lib/getopt.in.h: Likewise.
63951         * lib/iconv.in.h: Likewise.
63952         * lib/langinfo.in.h: Likewise.
63953         * lib/locale.in.h: Likewise.
63954         * lib/math.in.h: Likewise.
63955         * lib/netdb.in.h: Likewise.
63956         * lib/netinet_in.in.h: Likewise.
63957         * lib/pty.in.h: Likewise.
63958         * lib/sched.in.h: Likewise.
63959         * lib/se-selinux.in.h: Likewise.
63960         * lib/search.in.h: Likewise.
63961         * lib/spawn.in.h: Likewise.
63962         * lib/stdarg.in.h: Likewise.
63963         * lib/stdint.in.h: Likewise.
63964         * lib/string.in.h: Likewise.
63965         * lib/strings.in.h: Likewise.
63966         * lib/sys_file.in.h: Likewise.
63967         * lib/sys_ioctl.in.h: Likewise.
63968         * lib/sys_time.in.h: Likewise.
63969         * lib/sys_times.in.h: Likewise.
63970         * lib/sys_utsname.in.h: Likewise.
63971         * lib/sys_wait.in.h: Likewise.
63972         * lib/sysexits.in.h: Likewise.
63973         * lib/wctype.in.h: Likewise.
63975 2010-03-28  James Youngman  <jay@gnu.org>
63977         save-cwd: don't leak a file descriptor when the caller execs.
63978         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
63979         saved file descriptor.
63980         * modules/save-cwd (Depends-on): Depend on cloexec.
63982 2010-03-29  Bruno Haible  <bruno@clisp.org>
63984         Remove vestiges of fts-lgpl module.
63985         * lib/fts_.h: Assume GNULIB_FTS is 1.
63986         * lib/fts.c: Likewise.
63987         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
63989 2010-03-28  Bruno Haible  <bruno@clisp.org>
63991         Fix definition of tests witness macro.
63992         * gnulib-tool (func_import): Fix definition of witness macro.
63994 2010-03-28  Bruno Haible  <bruno@clisp.org>
63996         Fix ioctl's protoype on glibc systems.
63997         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
63998         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
63999         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
64000         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
64001         signature. If not, arrange to replace the ioctl function.
64002         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
64003         REPLACE_IOCTL.
64004         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
64005         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
64006         Reported by Ludovic Courtès <ludo@gnu.org>.
64008 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
64010         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
64011         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
64012         made it so grep -r --include=GLOB* ... did not work.
64014 2010-03-26  Jim Meyering  <meyering@redhat.com>
64015             Eric Blake  <eblake@redhat.com>
64017         maint.mk: prohibit use of test's -o and -a operators
64018         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
64020 2010-03-28  Bruno Haible  <bruno@clisp.org>
64022         Remove unused GNULIB_XYZ macro definitions.
64023         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
64024         invocation.
64026 2010-03-28  Bruno Haible  <bruno@clisp.org>
64028         Mark privileged tests modules.
64029         * modules/idpriv-drop-tests (Status): New section.
64030         * modules/idpriv-droptemp-tests (Status): New section.
64032 2010-03-28  Bruno Haible  <bruno@clisp.org>
64034         Split C++ tests into separate tests modules.
64035         * modules/dirent-c++-tests: New file, extracted from
64036         modules/dirent-tests.
64037         * modules/dirent-tests: Depend on it.
64038         * modules/fcntl-h-c++-tests: New file, extracted from
64039         modules/fcntl-h-tests.
64040         * modules/fcntl-h-tests: Depend on it.
64041         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
64042         * modules/glob-tests: Depend on it.
64043         * modules/iconv-h-c++-tests: New file, extracted from
64044         modules/iconv-h-tests.
64045         * modules/iconv-h-tests: Depend on it.
64046         * modules/langinfo-c++-tests: New file, extracted from
64047         modules/langinfo-tests.
64048         * modules/langinfo-tests: Depend on it.
64049         * modules/locale-c++-tests: New file, extracted from
64050         modules/locale-tests.
64051         * modules/locale-tests: Depend on it.
64052         * modules/math-c++-tests: New file, extracted from modules/math-tests.
64053         * modules/math-tests: Depend on it.
64054         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
64055         * modules/pty-tests: Depend on it.
64056         * modules/search-c++-tests: New file, extracted from
64057         modules/search-tests.
64058         * modules/search-tests: Depend on it.
64059         * modules/signal-c++-tests: New file, extracted from
64060         modules/signal-tests.
64061         * modules/signal-tests: Depend on it.
64062         * modules/spawn-c++-tests: New file, extracted from
64063         modules/spawn-tests.
64064         * modules/spawn-tests: Depend on it.
64065         * modules/stdio-c++-tests: New file, extracted from
64066         modules/stdio-tests.
64067         * modules/stdio-tests: Depend on it.
64068         * modules/stdlib-c++-tests: New file, extracted from
64069         modules/stdlib-tests.
64070         * modules/stdlib-tests: Depend on it.
64071         * modules/string-c++-tests: New file, extracted from
64072         modules/string-tests.
64073         * modules/string-tests: Depend on it.
64074         * modules/sys_ioctl-c++-tests: New file, extracted from
64075         modules/sys_ioctl-tests.
64076         * modules/sys_ioctl-tests: Depend on it.
64077         * modules/sys_select-c++-tests: New file, extracted from
64078         modules/sys_select-tests.
64079         * modules/sys_select-tests: Depend on it.
64080         * modules/sys_socket-c++-tests: New file, extracted from
64081         modules/sys_socket-tests.
64082         * modules/sys_socket-tests: Depend on it.
64083         * modules/sys_stat-c++-tests: New file, extracted from
64084         modules/sys_stat-tests.
64085         * modules/sys_stat-tests: Depend on it.
64086         * modules/sys_time-c++-tests: New file, extracted from
64087         modules/sys_time-tests.
64088         * modules/sys_time-tests: Depend on it.
64089         * modules/time-c++-tests: New file, extracted from modules/time-tests.
64090         * modules/time-tests: Depend on it.
64091         * modules/unistd-c++-tests: New file, extracted from
64092         modules/unistd-tests.
64093         * modules/unistd-tests: Depend on it.
64094         * modules/wchar-c++-tests: New file, extracted from
64095         modules/wchar-tests.
64096         * modules/wchar-tests: Depend on it.
64097         * modules/wctype-c++-tests: New file, extracted from
64098         modules/wctype-tests.
64099         * modules/wctype-tests: Depend on it.
64100         Reported by Simon Josefsson.
64102 2010-03-28  Bruno Haible  <bruno@clisp.org>
64104         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
64105         * gnulib-tool (func_exists_module): New function, extracted from
64106         func_verify_module.
64107         (func_verify_module): Use it.
64108         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
64109         'foo' only if 'foo' exists.
64110         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
64111         module.
64113 2010-03-28  Bruno Haible  <bruno@clisp.org>
64115         gnulib-tool: Add support for special categories of tests.
64116         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
64117         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
64118         (func_usage): Document them.
64119         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
64120         inc_unportable_tests, inc_all_tests): New variables.
64121         (func_acceptable): Consider these variables.
64122         (func_modules_transitive_closure): Make it work when the 'Status' field
64123         consists of multiple words.
64124         (func_import): Store and restore the values of inc_cxx_tests,
64125         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
64126         inc_all_tests in gnulib-comp.m4.
64127         (func_create_testdir): Set inc_all_tests to true.
64128         * doc/gnulib.texi (Extra tests modules): New section.
64129         Suggested by Jim Meyering.
64131 2010-03-28  Bruno Haible  <bruno@clisp.org>
64133         ansi-c++-opt: Allow turning off the C++ build by default.
64134         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
64135         gl_CXX_CHOICE_DEFAULT_NO is defined.
64136         Requested by Eric Blake.
64138 2010-03-28  Bruno Haible  <bruno@clisp.org>
64140         unistd: Avoid #define replacements in C++ mode.
64141         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
64142         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
64143         setsockopt, shutdown, select): In C++, attach a warning to the function
64144         if possible, rather than #defining the symbol to a dysfunctional alias.
64145         Reported by John W. Eaton <jwe@gnu.org>.
64147 2010-03-28  Bruno Haible  <bruno@clisp.org>
64149         Fix link errors on mingw.
64150         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
64151         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
64152         $(LIBSOCKET).
64153         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
64154         $(LIBSOCKET).
64156 2010-03-28  Bruno Haible  <bruno@clisp.org>
64157             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64159         lib-ignore: Determine different options for different compilers.
64160         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
64161         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
64162         Add comments.
64163         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
64164         * NEWS: Mention the change.
64166 2010-03-27  Bruno Haible  <bruno@clisp.org>
64168         Remove unused GNULIB_XYZ macro definitions.
64169         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
64170         * modules/fseek (configure.ac): Likewise.
64171         * modules/ioctl (configure.ac): Likewise.
64172         * modules/open (configure.ac): Likewise.
64173         * modules/stdlib-safer (configure.ac): Likewise.
64175 2010-03-27  Bruno Haible  <bruno@clisp.org>
64177         Add a remark about certain modules.
64178         * modules/malloc (Comment): New section.
64179         * modules/realloc (Comment): Likewise.
64180         * modules/sigpipe (Comment): Likewise.
64182 2010-03-27  Bruno Haible  <bruno@clisp.org>
64184         Resolve conflict between the two kinds of module indicators.
64185         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
64186         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
64187         * modules/canonicalize (configure.ac): Invoke
64188         gl_MODULE_INDICATOR_FOR_TESTS.
64189         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
64190         GNULIB_XYZ.
64191         * tests/test-dirent-c++.cc: Likewise.
64192         * tests/test-dirent-safer.c: Likewise.
64193         * tests/test-dup2.c: Likewise.
64194         * tests/test-fchdir.c: Likewise.
64195         * tests/test-fcntl-h-c++.cc: Likewise.
64196         * tests/test-getopt.c: Likewise.
64197         * tests/test-getopt.h: Likewise.
64198         * tests/test-langinfo-c++.cc: Likewise.
64199         * tests/test-locale-c++.cc: Likewise.
64200         * tests/test-math-c++.cc: Likewise.
64201         * tests/test-pty-c++.cc: Likewise.
64202         * tests/test-search-c++.cc: Likewise.
64203         * tests/test-signal-c++.cc: Likewise.
64204         * tests/test-spawn-c++.cc: Likewise.
64205         * tests/test-stdio-c++.cc: Likewise.
64206         * tests/test-stdlib-c++.cc: Likewise.
64207         * tests/test-string-c++.cc: Likewise.
64208         * tests/test-sys_ioctl-c++.cc: Likewise.
64209         * tests/test-sys_select-c++.cc: Likewise.
64210         * tests/test-sys_socket-c++.cc: Likewise.
64211         * tests/test-sys_stat-c++.cc: Likewise.
64212         * tests/test-sys_time-c++.cc: Likewise.
64213         * tests/test-time-c++.cc: Likewise.
64214         * tests/test-unistd-c++.cc: Likewise.
64215         * tests/test-wchar-c++.cc: Likewise.
64216         * tests/uninorm/test-u8-nfc.c: Likewise.
64217         * tests/uninorm/test-u8-nfd.c: Likewise.
64218         * tests/uninorm/test-u8-nfkc.c: Likewise.
64219         * tests/uninorm/test-u8-nfkd.c: Likewise.
64220         * tests/uninorm/test-u16-nfc.c: Likewise.
64221         * tests/uninorm/test-u16-nfd.c: Likewise.
64222         * tests/uninorm/test-u16-nfkc.c: Likewise.
64223         * tests/uninorm/test-u16-nfkd.c: Likewise.
64224         * tests/uninorm/test-u32-nfc.c: Likewise.
64225         * tests/uninorm/test-u32-nfc-big.c: Likewise.
64226         * tests/uninorm/test-u32-nfd.c: Likewise.
64227         * tests/uninorm/test-u32-nfd-big.c: Likewise.
64228         * tests/uninorm/test-u32-nfkc.c: Likewise.
64229         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
64230         * tests/uninorm/test-u32-nfkd.c: Likewise.
64231         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
64232         * tests/uninorm/test-u32-normalize-big.c: Likewise.
64234 2010-03-27  Bruno Haible  <bruno@clisp.org>
64236         Distinguish two kinds of module indicators.
64237         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
64238         gl_MODULE_INDICATOR.
64239         (gl_MODULE_INDICATOR): New macro.
64240         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
64241         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
64242         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
64243         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
64244         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
64245         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
64246         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
64247         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
64248         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
64249         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
64250         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
64251         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
64252         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
64253         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
64254         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
64255         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
64256         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
64257         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
64258         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
64259         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
64260         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
64261         * modules/cloexec (configure.ac): Likewise.
64262         * modules/getopt-gnu (configure.ac): Likewise.
64263         * modules/uninorm/u8-normalize (configure.ac): Likewise.
64264         * modules/uninorm/u16-normalize (configure.ac): Likewise.
64265         * modules/uninorm/u32-normalize (configure.ac): Likewise.
64266         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
64268 2010-03-27  Bruno Haible  <bruno@clisp.org>
64270         New module description field 'Comment'.
64271         * gnulib-tool: New option --extract-comment.
64272         (func_usage): Document it.
64273         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
64274         (func_get_comment): New function.
64275         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
64277 2010-03-27  Bruno Haible  <bruno@clisp.org>
64279         Addendum to 2010-02-07 commit.
64280         * gnulib-tool (func_usage): Document --extract-applicability option.
64282 2010-03-27  Bruno Haible  <bruno@clisp.org>
64284         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
64285         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
64286         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
64287         rather than link errors.
64289 2010-03-27  Bruno Haible  <bruno@clisp.org>
64291         Avoid side effects from tests-related modules on the compilation of lib.
64292         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
64293         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
64294         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
64295         parameter. Emit into AM_CPPFLAGS a definition of the designated C
64296         macro.
64297         (func_import): Define a witness macro. Assign it a value that depends
64298         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
64299         tests-related modules.
64300         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
64301         Reported by Jim Meyering.
64303 2010-03-27  Bruno Haible  <bruno@clisp.org>
64305         Factorize common .m4 code.
64306         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
64307         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
64308         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
64309         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
64310         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
64311         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
64312         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
64313         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
64314         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
64315         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
64316         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
64317         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
64318         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
64319         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
64320         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
64321         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
64322         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
64323         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
64324         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
64325         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
64326         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
64327         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
64328         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
64329         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
64330         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
64331         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
64332         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
64333         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
64334         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
64335         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
64336         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
64337         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
64339 2010-03-27  Bruno Haible  <bruno@clisp.org>
64341         Fix a compilation error on Cygwin with g++ >= 4.3.
64342         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
64343         if it is undefined or if we alias it to chmod.
64344         (lstat): Don't warn about the use of this function if it is undefined
64345         or if we alias it to stat.
64346         Reported by Simon Josefsson.
64348 2010-03-27  Bruno Haible  <bruno@clisp.org>
64350         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
64351         * modules/getlogin (configure.ac): Update.
64353         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
64354         * modules/getlogin_r (configure.ac): Update.
64356         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
64357         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
64358         * modules/inet_ntop (configure.ac): Update.
64360         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
64361         * modules/inet_pton (configure.ac): Update.
64363         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
64364         * modules/mbslen (configure.ac): Update.
64366         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
64367         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
64368         * modules/forkpty (configure.ac): Update.
64369         * modules/openpty (configure.ac): Update.
64371 2010-03-26  Simon Josefsson  <simon@josefsson.org>
64373         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
64374         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
64376 2010-03-25  Eric Blake  <eblake@redhat.com>
64378         maint: use pragma consistently across replacement headers
64379         * lib/ctype.in.h (system_header): Hoist for consistent placement.
64380         * lib/dirent.in.h (system_header): Likewise.
64381         * lib/errno.in.h (system_header): Likewise.
64382         * lib/float.in.h (system_header): Likewise.
64383         * lib/getopt.in.h (system_header): Likewise.
64384         * lib/iconv.in.h (system_header): Likewise.
64385         * lib/inttypes.in.h (system_header): Likewise.
64386         * lib/langinfo.in.h (system_header): Likewise.
64387         * lib/locale.in.h (system_header): Likewise.
64388         * lib/math.in.h (system_header): Likewise.
64389         * lib/netdb.in.h (system_header): Likewise.
64390         * lib/netinet_in.in.h (system_header): Likewise.
64391         * lib/pty.in.h (system_header): Likewise.
64392         * lib/sched.in.h (system_header): Likewise.
64393         * lib/se-selinux.in.h (system_header): Likewise.
64394         * lib/search.in.h (system_header): Likewise.
64395         * lib/spawn.in.h (system_header): Likewise.
64396         * lib/stdarg.in.h (system_header): Likewise.
64397         * lib/stdint.in.h (system_header): Likewise.
64398         * lib/string.in.h (system_header): Likewise.
64399         * lib/strings.in.h (system_header): Likewise.
64400         * lib/sys_file.in.h (system_header): Likewise.
64401         * lib/sys_ioctl.in.h (system_header): Likewise.
64402         * lib/sys_socket.in.h (system_header): Likewise.
64403         * lib/sys_times.in.h (system_header): Likewise.
64404         * lib/sys_utsname.in.h (system_header): Likewise.
64405         * lib/sys_wait.in.h (system_header): Likewise.
64406         * lib/sysexits.in.h (system_header): Likewise.
64407         * lib/unistd.in.h (system_header): Likewise.
64408         * lib/wctype.in.h (system_header): Likewise.
64410         arpa/inet: fix mingw compilation warning
64411         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
64412         Reported by Matthew Bolte.
64414 2010-03-25  Bruno Haible  <bruno@clisp.org>
64416         Avoid collision between gnulib wrapper and libintl wrapper.
64417         * lib/printf.c (printf): Don't define if a printf wrapper is already
64418         defined in intl/printf.c.
64419         Reported by Michel Boaventura <michel@michelboaventura.com>.
64421 2010-03-25  Bruno Haible  <bruno@clisp.org>
64423         Use ANSI C.
64424         * lib/readutmp.h (getutent): Provide ANSI C prototype.
64426 2010-03-25  Bruno Haible  <bruno@clisp.org>
64428         Minor formatting changes.
64429         * lib/acosl.c: Insert space before function argument list.
64430         * lib/argz.c: Likewise.
64431         * lib/asinl.c: Likewise.
64432         * lib/expl.c: Likewise.
64433         * lib/gen-uni-tables.c: Likewise.
64434         * lib/gettext.h: Likewise.
64435         * lib/glthread/lock.h: Likewise.
64436         * lib/tanl.c: Likewise.
64437         * lib/uniname/uniname.c: Likewise.
64438         * tests/test-idpriv-drop.c: Likewise.
64439         * tests/test-idpriv-droptemp.c: Likewise.
64440         * tests/test-lock.c: Likewise.
64441         * tests/test-tls.c: Likewise.
64442         * lib/argp-help.c: Insert space before function-like macro argument
64443         list.
64444         * lib/memcmp.c: Likewise.
64445         * tests/test-base64.c: Likewise.
64446         * lib/localename.c: Insert space before sizeof's argument list.
64447         * lib/safe-alloc.h: Likewise.
64448         * lib/file-set.h: Insert space before macro argument list.
64449         * tests/test-argp.c: Likewise.
64450         * lib/argp-namefrob.h: Insert space before function parameter list.
64451         * lib/getaddrinfo.c: Likewise.
64452         * lib/netdb.in.h: Likewise.
64453         * lib/parse-duration.h: Likewise.
64454         * lib/parse-duration.c: Likewise.
64455         * lib/poll.c: Likewise.
64456         * lib/select.c: Likewise.
64457         * lib/trim.h: Likewise.
64458         * tests/test-usleep.c: Likewise.
64459         * lib/ldexpl.c: Insert space before function parameter list and before
64460         function argument list.
64461         * lib/logl.c: Likewise.
64462         * lib/sqrtl.c: Likewise.
64463         * lib/trim.c: Likewise.
64464         * lib/cosl.c: Use GNU style indentation. Insert space before function
64465         argument list.
64466         * lib/sinl.c: Likewise.
64467         * lib/tsearch.c: Insert space after 'for'.
64468         Reported by Jim Meyering.
64470 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
64472         * maint.mk (sc_Wundef_boolean): Check for the presence of the
64473         config header before grepping, as it's not present before
64474         autoreconf/configure are run.  Reported by Simon Josefsson.
64476 2010-03-23  Bruno Haible  <bruno@clisp.org>
64478         pt_chown: Make it work with automake < 1.11.
64479         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
64480         Reported by Simon Josefsson.
64482 2010-03-23  Bruno Haible  <bruno@clisp.org>
64484         pt_chown: Don't depend on GPLed modules.
64485         * lib/pt_chown.c: Don't include idpriv.h.
64486         (main): Don't drop privileges.
64487         * modules/pt_chown (Depends-on): Remove idpriv-drop.
64488         Reported by Simon Josefsson.
64490 2010-03-24  Simon Josefsson  <simon@josefsson.org>
64492         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
64493         suggestions from karl@freefriends.org (Karl Berry).
64495 2010-03-22  Eric Blake  <eblake@redhat.com>
64497         gethostname: further tweaks
64498         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
64499         are overriding gethostname.
64500         Suggested by Bruno Haible.
64502 2010-03-21  Bruno Haible  <bruno@clisp.org>
64504         Fix comments.
64505         * lib/forkpty.c (rpl_forkpty): Fix comment.
64506         * lib/openpty.c (rpl_openpty): Likewise.
64507         Reported by Eric Blake.
64509 2010-03-22  Eric Blake  <eblake@redhat.com>
64511         gethostname: fix build on mingw
64512         * lib/unistd.in.h (includes): Work around fact that mingw
64513         <winsock2.h> re-includes <unistd.h>, by avoiding any
64514         redeclarations if we are being included by <winsock2.h>.
64515         Reported by Matthias Bolte.
64517 2010-03-21  Bruno Haible  <bruno@clisp.org>
64519         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
64520         * lib/forkpty.c (forkpty): New replacement function, from glibc with
64521         modifications.
64522         * lib/pty.in.h (forkpty): Update declaration. Add comments.
64523         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
64524         provide the replacement.
64525         * modules/forkpty (Depends-on): Add openpty, login_tty.
64526         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
64527         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
64528         * doc/glibc-functions/forkpty.texi: More supported platforms.
64529         * config/srclist.txt: Add forkpty.c (commented).
64531 2010-03-21  Bruno Haible  <bruno@clisp.org>
64533         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
64534         (Makefile.am): Verify that PTY_LIB is defined.
64536         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
64538 2010-03-21  Bruno Haible  <bruno@clisp.org>
64540         Tests for module 'login_tty'.
64541         * modules/login_tty-tests: New file.
64542         * tests/test-login_tty.c: New file.
64544         New module 'login_tty'.
64545         * lib/login_tty.c: New file.
64546         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
64547         * modules/login_tty: New file.
64548         * doc/glibc-functions/login_tty.texi: Mention the new module.
64550 2010-03-21  Bruno Haible  <bruno@clisp.org>
64552         login_tty: Documentation.
64553         * doc/glibc-functions/login_tty.texi: New file.
64554         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
64556 2010-03-21  Bruno Haible  <bruno@clisp.org>
64558         pty: Consistent macro naming.
64559         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
64560         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
64561         * modules/pty (configure.ac): Update.
64563 2010-03-21  Bruno Haible  <bruno@clisp.org>
64565         Tests for openpty: Make stricter.
64566         * tests/test-openpty.c (main): Add test of canonical processing and
64567         erase.
64568         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
64570         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
64571         * lib/openpty.c (openpty): New replacement function.
64572         * lib/pty.in.h: Include <termios.h>.
64573         (openpty): Update declaration. Add comments.
64574         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
64575         is not declared, arrange to provide the replacement. Check for _getpty
64576         and posix_openpt.
64577         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
64578         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
64579         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
64580         * modules/pty-tests (test_pty_c___LDADD): New variable.
64581         * doc/glibc-functions/openpty.texi: More supported platforms.
64583 2010-03-21  Bruno Haible  <bruno@clisp.org>
64585         setenv: Tweaks.
64586         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
64587         the test program.
64588         * doc/posix-functions/setenv.texi: Update platforms list.
64590 2010-03-21  Bruno Haible  <bruno@clisp.org>
64592         New module 'unlockpt'.
64593         * lib/unlockpt.c: New file, from glibc with modifications.
64594         * m4/unlockpt.m4: New file.
64595         * modules/unlockpt: New file.
64596         * lib/stdlib.in.h (unlockpt): New declaration.
64597         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
64598         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
64599         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
64600         HAVE_UNLOCKPT.
64601         * doc/posix-functions/unlockpt.texi: Mention the new module.
64602         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
64603         * config/srclist.txt: Add unlockpt.c (commented).
64605 2010-03-21  Jim Meyering  <meyering@redhat.com>
64607         maint.mk: prohibit inclusion of "intprops.h" without use
64608         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
64610 2010-03-21  Bruno Haible  <bruno@clisp.org>
64612         New module 'grantpt'.
64613         * lib/grantpt.c: New file, from glibc with modifications.
64614         * m4/grantpt.m4: New file.
64615         * modules/grantpt: New file.
64616         * lib/stdlib.in.h (grantpt): New declaration.
64617         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
64618         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
64619         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
64620         HAVE_GRANTPT.
64621         * doc/posix-functions/grantpt.texi: Mention the new module.
64622         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
64623         * config/srclist.txt: Add grantpt.c (commented).
64625 2010-03-21  Bruno Haible  <bruno@clisp.org>
64627         New module 'pt_chown'.
64628         * lib/pt_chown.c: New file, from glibc with modifications.
64629         * lib/pty-private.h: New file, from glibc with modifications.
64630         * modules/pt_chown: New file.
64631         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
64633 2010-03-21  Bruno Haible  <bruno@clisp.org>
64635         Tests for module 'ptsname'.
64636         * modules/ptsname-tests: New file.
64637         * tests/test-ptsname.c: New file.
64639         New module 'ptsname'.
64640         * lib/ptsname.c: New file, from glibc with modifications.
64641         * m4/ptsname.m4: New file.
64642         * modules/ptsname: New file.
64643         * lib/stdlib.in.h (ptsname): New declaration.
64644         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
64645         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
64646         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
64647         HAVE_PTSNAME.
64648         * doc/posix-functions/ptsname.texi: Mention the new module.
64649         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
64650         * config/srclist.txt: Add ptsname.c (commented).
64652 2010-03-21  Bruno Haible  <bruno@clisp.org>
64654         Tests for module 'ttyname_r'.
64655         * modules/ttyname_r-tests: New file.
64656         * tests/test-ttyname_r.c: New file.
64658         New module 'ttyname_r'.
64659         * lib/ttyname_r.c: New file.
64660         * m4/ttyname_r.m4: New file.
64661         * modules/ttyname_r: New file.
64662         * lib/unistd.in.h (ttyname_r): New declaration.
64663         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
64664         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
64665         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
64666         HAVE_TTYNAME_R.
64667         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
64668         * doc/posix-functions/ttyname_r.texi: Mention the new module.
64670 2010-03-20  Bruno Haible  <bruno@clisp.org>
64672         signal: Undefine macro definitions in C++ mode.
64673         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
64674         sigfillset): Undefine macro definitions from the system header in C++
64675         mode.
64676         Reported by John W. Eaton <jwe@gnu.org>.
64678 2010-03-20  Bruno Haible  <bruno@clisp.org>
64680         Ensure no #include statements inside extern "C" { ... }.
64681         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
64682         contain #include statements.
64683         * lib/time.in.h: Likewise.
64685 2010-03-20  Bruno Haible  <bruno@clisp.org>
64687         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
64688         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
64689         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
64690         Reported by John W. Eaton <jwe@gnu.org>.
64692 2010-03-20  Bruno Haible  <bruno@clisp.org>
64694         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
64695         Reported by Jim Meyering.
64697 2010-03-20  Bruno Haible  <bruno@clisp.org>
64699         pipe: Set errno upon failure.
64700         * lib/pipe.h: Specify that when -1 is returned, errno is set.
64701         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
64702         errno value in error message.
64704 2010-03-20  Bruno Haible  <bruno@clisp.org>
64705             Jim Meyering  <meyering@redhat.com>
64707         lchown: Avoid "unused variable" warning.
64708         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
64710 2010-03-20  Bruno Haible  <bruno@clisp.org>
64712         Work around unlink() bug on MacOS X 10.5.6.
64713         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
64714         attempting to unlink a parent directory.
64715         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
64716         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
64717         activate for the replacement function.
64718         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
64720 2010-03-20  Bruno Haible  <bruno@clisp.org>
64722         Fix link errors on Solaris 8.
64723         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
64724         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
64726 2010-03-19  Jim Meyering  <meyering@redhat.com>
64728         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
64729         The _LIBC implementation of build_range_exp correctly honors the
64730         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
64731         However, the non-_LIBC implementation would ignore that syntax-bit
64732         flag and return REG_ERANGE unconditionally.
64733         This change makes it honor that flag.
64734         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
64735         Make two pointer parameters "const".
64736         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
64737         (parse_bracket_exp): Update caller.
64739         regex.m4: correct the reversed range endpoint ([b-a]) test
64740         * m4/regex.m4: When requiring that [b-a] evoke failure,
64741         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
64742         test pass once again for x86-based systems.
64744 2010-03-19  Bruno Haible  <bruno@clisp.org>
64746         scandir: Fix link error on Solaris 8.
64747         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
64748         macros.
64750 2010-03-19  Bruno Haible  <bruno@clisp.org>
64752         getusershell: Fix documentation.
64753         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
64754         module.
64755         * doc/glibc-functions/setusershell.texi: Likewise.
64757         getusershell: Provide declaration, missing on Solaris 9.
64758         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
64759         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
64760         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
64761         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
64762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
64763         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
64764         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
64765         HAVE_GETUSERSHELL.
64766         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
64768 2010-03-19  Bruno Haible  <bruno@clisp.org>
64770         wctype: Provide iswblank function.
64771         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
64772         exists and is fine.
64773         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
64774         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
64775         * tests/test-wctype.c (main): Re-enable the iswblank tests.
64776         * doc/posix-functions/iswblank.texi: Update.
64778 2010-03-19  Bruno Haible  <bruno@clisp.org>
64780         Tests of module 'pty' in C++ mode.
64781         * modules/pty-tests: New file.
64782         * tests/test-pty-c++.cc: New file.
64783         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
64785 2010-03-19  Eric Blake  <eblake@redhat.com>
64787         logb: fix documentation
64788         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
64789         1.5 declaration bug.
64791         forkpty, openpty: prefer glibc's const-safe prototype
64792         * lib/forkpty.c (rpl_forkpty): New file.
64793         * lib/openpty.c (rpl_openpty): Likewise.
64794         * modules/forkpty (Files): Distribute it.
64795         * modules/openpty (Files): Likewise.
64796         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
64797         check...
64798         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
64799         replacement for non-const BSD signature.
64800         * modules/pty (Makefile.am): Substitute witnesses.
64801         * lib/pty.in.h (forkpty, openpty): Declare replacements.
64802         * tests/test-forkpty.c: Update signature check.
64803         * tests/test-openpty.c: Likewise.
64804         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
64805         * doc/glibc-functions/openpty.texi (openpty): Likewise.
64807         forkpty, openpty: split functions into new modules
64808         * modules/pty (Makefile.am): Substitute new witnesses.
64809         (Libraries): Move library detection...
64810         * modules/forkpty: ...into new module.
64811         * modules/openpty: Another new module.
64812         * modules/pty-tests: Rename and split...
64813         * modules/forkpty-tests: ...to this...
64814         * modules/openpty-tests: ...and this.
64815         * tests/test-pty.c: Rename and split...
64816         * tests/test-forkpty.c: ...to this...
64817         * tests/test-openpty.c: ...and this.
64818         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
64819         (gl_PTY): Split library searching...
64820         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
64821         (gl_FORKPTY, gl_OPENPTY): New macros.
64822         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
64823         * NEWS: Mention the split.
64824         * MODULES.html.sh (Misc): Document the modules.
64825         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
64826         * doc/glibc-functions/openpty.texi (openpty): Likewise.
64828         pty: improve replacement header
64829         * lib/pty.in.h: New file.
64830         * modules/pty (Files): Ship it.
64831         (Makefile.am): Always build replacement.
64832         * m4/pty.m4: Rename...
64833         * m4/pty_h.m4: ...to this.
64834         (gl_PTY): Modernize setting of witness macros; update check of
64835         forkpty to take proper advantage of cache.
64836         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
64838         getopt: avoid compiler warning
64839         * lib/getopt.c (attribute_hidden): Remove unused macro.
64841 2010-03-18  Bruno Haible  <bruno@clisp.org>
64843         Fix link errors on Solaris 8.
64844         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
64845         * modules/search-tests (test_search_c___LDADD): Likewise.
64846         * modules/signal-tests (test_signal_c___LDADD): Likewise.
64847         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
64848         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
64849         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
64850         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
64851         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
64852         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
64854 2010-03-18  Bruno Haible  <bruno@clisp.org>
64856         Fix bug introduced on 2010-03-14.
64857         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
64858         (gl_SPAWN_H): Require it.
64859         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
64860         Reported by Simon Josefsson.
64862 2010-03-18  Bruno Haible  <bruno@clisp.org>
64864         Fix typo introduced on 2009-12-31.
64865         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
64866         posix_spawn_file_actions_adddup2.
64868 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
64869         and Eric Blake  <eblake@redhat.com>
64871         test-vc-list-files-git: make more robust
64872         * tests/test-vc-list-files-git.sh: Unset problematic environment
64873         variables.  Chain commands together.
64875 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
64877         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
64878         `AC_CHECK_DECL' invocation.
64880 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
64882         * lib/inttostr.c (inttostr): Make sure the invocation of verify
64883         appears before executable statements. Suggested by Petr Sumbera
64884         <Petr.Sumbera@Sun.COM>.
64886 2010-03-14  Bruno Haible  <bruno@clisp.org>
64888         * tests/test-flock.c (test_exclusive): Comment out a test that causes
64889         portability problems. Instead use a simpler test.
64890         (main): Check that invalid arguments are rejected only on Linux.
64892 2010-03-14  Bruno Haible  <bruno@clisp.org>
64894         Fix bug introduced on 2009-12-31.
64895         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
64896         gl_PREREQ_SYS_H_WINSOCK2 always.
64897         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
64898         SYS_SOCKET_H variable.
64899         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
64900         Update comments.
64901         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
64902         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
64903         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
64904         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
64905         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
64907 2010-03-14  Bruno Haible  <bruno@clisp.org>
64909         Fix values returned by sinl, cosl.
64910         * lib/trigl.h: Add specification comments.
64911         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
64912         that combines the values from the precomputed table with the values of
64913         the Chebyshev polynomials.
64915 2010-03-14  Bruno Haible  <bruno@clisp.org>
64917         Fix compilation error when modules 'posix_spawn[p]' are not used.
64918         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
64919         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
64921 2010-03-14  Bruno Haible  <bruno@clisp.org>
64923         Fix compilation error on mingw when module 'time_r' is not used.
64924         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
64925         is 1.
64926         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
64927         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
64928         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
64929         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
64931 2010-03-14  Bruno Haible  <bruno@clisp.org>
64933         Fix compilation error with Sun C.
64934         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
64935         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
64936         instead of GCC specific ULONG_LONG_MAX.
64937         * lib/xstrtoll.c: Likewise.
64938         * lib/xstrtoull.c: Likewise.
64940 2010-03-13  Bruno Haible  <bruno@clisp.org>
64942         Allow the user to disable C++ code and tests.
64943         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
64944         (gl_PROG_ANSI_CXX): Require it.
64946 2010-03-13  Bruno Haible  <bruno@clisp.org>
64948         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
64949         cases.
64951 2010-03-13  Bruno Haible  <bruno@clisp.org>
64953         Test that gnulib does not break the standard C++ headers.
64954         * tests/test-locale-c++2.cc: New file.
64955         * modules/locale-tests (Files): Add it.
64956         (Makefile.am): Compile it for test-locale-c++.
64957         * tests/test-math-c++2.cc: New file.
64958         * modules/math-tests (Files): Add it.
64959         (Makefile.am): Compile it for test-math-c++.
64960         * tests/test-signal-c++2.cc: New file.
64961         * modules/signal-tests (Files): Add it.
64962         (Makefile.am): Compile it for test-signal-c++.
64963         * tests/test-stdio-c++2.cc: New file.
64964         * modules/stdio-tests (Files): Add it.
64965         (Makefile.am): Compile it for test-stdio-c++.
64966         * tests/test-stdlib-c++2.cc: New file.
64967         * modules/stdlib-tests (Files): Add it.
64968         (Makefile.am): Compile it for test-stdlib-c++.
64969         * tests/test-string-c++2.cc: New file.
64970         * modules/string-tests (Files): Add it.
64971         (Makefile.am): Compile it for test-string-c++.
64972         * tests/test-time-c++2.cc: New file.
64973         * modules/time-tests (Files): Add it.
64974         (Makefile.am): Compile it for test-time-c++.
64975         Reported by John W. Eaton <jwe@gnu.org>.
64977 2010-03-13  Bruno Haible  <bruno@clisp.org>
64979         * gnulib-tool (func_usage): Clarify which options are available for
64980         --create-testdir and --create-megatestdir.
64982 2010-03-13  Bruno Haible  <bruno@clisp.org>
64984         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
64985         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
64986         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
64987         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
64988         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
64989         when appropriate.
64990         Reported by Jim Meyering.
64992 2010-03-12  Simon Josefsson  <simon@josefsson.org>
64994         * gnulib-tool (func_import): Explain origin of code.
64996 2010-03-12  Bruno Haible  <bruno@clisp.org>
64998         Fix problem with automake's definition of CXXLINK.
64999         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
65000         Reported by Simon Josefsson and Ludovic Courtès.
65002 2010-03-12  Bruno Haible  <bruno@clisp.org>
65004         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
65005         stable releases.
65007 2010-03-11  Bruno Haible  <bruno@clisp.org>
65009         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
65010         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
65011         whether the system provides one variant or multiple variants of the
65012         function.
65013         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
65014         C++ compilers.
65015         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
65016         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
65017         Reported by Jim Meyering.
65019 2010-03-09  Simon Josefsson  <simon@josefsson.org>
65021         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
65023 2010-03-08  Bruno Haible  <bruno@clisp.org>
65025         gnulib-tool: Add support for --libtool in --create-testdir.
65026         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
65027         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
65029 2010-03-08  Eric Blake  <eblake@redhat.com>
65031         gnulib-tool.texi: mention possibility of git submodule
65032         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
65033         submodules.
65034         * doc/.gitignore: Ignore another generated file.
65036 2010-03-08  Karl Berry  <karl@gnu.org>
65038         * doc/gnulib-tool.texi (VCS Issues): Mention third option
65039         of committing gnulib files while skipping others.
65041 2010-03-07  Bruno Haible  <bruno@clisp.org>
65043         Tests of module 'wctype' in C++ mode.
65044         * tests/test-wctype-c++.cc: New file.
65045         * modules/wctype-tests (Files): Add it and tests/signature.h.
65046         (Depends-on): Add ansi-c++-opt.
65047         (Makefile.am): Arrange to compile and run test-wctype-c++.
65049         Tests of module 'wchar' in C++ mode.
65050         * tests/test-wchar-c++.cc: New file.
65051         * modules/wchar-tests (Files): Add it and tests/signature.h.
65052         (Depends-on): Add ansi-c++-opt.
65053         (Makefile.am): Arrange to compile and run test-wchar-c++.
65054         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
65055         gl_MODULE_INDICATOR.
65057         Tests of module 'unistd' in C++ mode.
65058         * tests/test-unistd-c++.cc: New file.
65059         * modules/unistd-tests (Files): Add it and tests/signature.h.
65060         (Depends-on): Add ansi-c++-opt.
65061         (Makefile.am): Arrange to compile and run test-unistd-c++.
65062         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
65063         gl_MODULE_INDICATOR.
65065         Tests of module 'time' in C++ mode.
65066         * tests/test-time-c++.cc: New file.
65067         * modules/time-tests (Files): Add it and tests/signature.h.
65068         (Depends-on): Add ansi-c++-opt.
65069         (Makefile.am): Arrange to compile and run test-time-c++.
65070         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
65072         Tests of module 'sys_time' in C++ mode.
65073         * tests/test-sys_time-c++.cc: New file.
65074         * modules/sys_time-tests (Files): Add it and tests/signature.h.
65075         (Depends-on): Add ansi-c++-opt.
65076         (Makefile.am): Arrange to compile and run test-sys_time-c++.
65077         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
65078         gl_MODULE_INDICATOR.
65080         Tests of module 'sys_stat' in C++ mode.
65081         * tests/test-sys_stat-c++.cc: New file.
65082         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
65083         (Depends-on): Add ansi-c++-opt.
65084         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
65085         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
65086         gl_MODULE_INDICATOR.
65088         Tests of module 'sys_socket' in C++ mode.
65089         * tests/test-sys_socket-c++.cc: New file.
65090         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
65091         (Depends-on): Add ansi-c++-opt.
65092         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
65093         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
65094         gl_MODULE_INDICATOR.
65096         Tests of module 'sys_select' in C++ mode.
65097         * tests/test-sys_select-c++.cc: New file.
65098         * modules/sys_select-tests (Files): Add it and tests/signature.h.
65099         (Depends-on): Add ansi-c++-opt.
65100         (Makefile.am): Arrange to compile and run test-sys_select-c++.
65101         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
65102         gl_MODULE_INDICATOR.
65104         Tests of module 'sys_ioctl' in C++ mode.
65105         * tests/test-sys_ioctl-c++.cc: New file.
65106         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
65107         (Depends-on): Add ansi-c++-opt.
65108         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
65109         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
65110         gl_MODULE_INDICATOR.
65112         Tests of module 'string' in C++ mode.
65113         * tests/test-string-c++.cc: New file.
65114         * modules/string-tests (Files): Add it and tests/signature.h.
65115         (Depends-on): Add ansi-c++-opt.
65116         (Makefile.am): Arrange to compile and run test-string-c++.
65117         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
65118         gl_MODULE_INDICATOR.
65120         Tests of module 'stdlib' in C++ mode.
65121         * tests/test-stdlib-c++.cc: New file.
65122         * modules/stdlib-tests (Files): Add it and tests/signature.h.
65123         (Depends-on): Add ansi-c++-opt.
65124         (Makefile.am): Arrange to compile and run test-stdlib-c++.
65125         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
65126         gl_MODULE_INDICATOR.
65128         Tests of module 'stdio' in C++ mode.
65129         * tests/test-stdio-c++.cc: New file.
65130         * modules/stdio-tests (Files): Add it and tests/signature.h.
65131         (Depends-on): Add ansi-c++-opt.
65132         (Makefile.am): Arrange to compile and run test-stdio-c++.
65133         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
65134         gl_MODULE_INDICATOR.
65136         Tests of module 'spawn' in C++ mode.
65137         * tests/test-spawn-c++.cc: New file.
65138         * modules/spawn-tests (Files): Add it and tests/signature.h.
65139         (Depends-on): Add ansi-c++-opt.
65140         (Makefile.am): Arrange to compile and run test-spawn-c++.
65141         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
65142         gl_MODULE_INDICATOR.
65144         Tests of module 'signal' in C++ mode.
65145         * tests/test-signal-c++.cc: New file.
65146         * modules/signal-tests (Files): Add it and tests/signature.h.
65147         (Depends-on): Add ansi-c++-opt.
65148         (Makefile.am): Arrange to compile and run test-signal-c++.
65149         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
65150         gl_MODULE_INDICATOR.
65152         Tests of module 'search' in C++ mode.
65153         * tests/test-search-c++.cc: New file.
65154         * modules/search-tests (Files): Add it and tests/signature.h.
65155         (Depends-on): Add ansi-c++-opt.
65156         (Makefile.am): Arrange to compile and run test-search-c++.
65157         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
65158         gl_MODULE_INDICATOR.
65160         Tests of module 'math' in C++ mode.
65161         * tests/test-math-c++.cc: New file.
65162         * modules/math-tests (Files): Add it and tests/signature.h.
65163         (Depends-on): Add ansi-c++-opt.
65164         (Makefile.am): Arrange to compile and run test-math-c++.
65165         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
65167         Tests of module 'locale' in C++ mode.
65168         * tests/test-locale-c++.cc: New file.
65169         * modules/locale-tests (Files): Add it and tests/signature.h.
65170         (Depends-on): Add ansi-c++-opt.
65171         (Makefile.am): Arrange to compile and run test-locale-c++.
65172         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
65173         gl_MODULE_INDICATOR.
65175         Tests of module 'langinfo' in C++ mode.
65176         * tests/test-langinfo-c++.cc: New file.
65177         * modules/langinfo-tests (Files): Add it and tests/signature.h.
65178         (Depends-on): Add ansi-c++-opt.
65179         (Makefile.am): Arrange to compile and run test-langinfo-c++.
65180         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
65181         gl_MODULE_INDICATOR.
65183         Tests of module 'iconv-h' in C++ mode.
65184         * tests/test-iconv-h-c++.cc: New file.
65185         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
65186         (Depends-on): Add ansi-c++-opt.
65187         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
65189         Tests of module 'glob' in C++ mode.
65190         * tests/test-glob-c++.cc: New file.
65191         * modules/glob-tests (Files): Add it.
65192         (Depends-on): Add ansi-c++-opt.
65193         (Makefile.am): Arrange to compile and run test-glob-c++.
65195         Tests of module 'fcntl-h' in C++ mode.
65196         * tests/test-fcntl-h-c++.cc: New file.
65197         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
65198         (Depends-on): Add ansi-c++-opt.
65199         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
65200         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
65201         gl_MODULE_INDICATOR.
65203         Tests of module 'dirent' in C++ mode.
65204         * tests/test-dirent-c++.cc: New file.
65205         * modules/dirent-tests (Files): Add it and tests/signature.h.
65206         (Depends-on): Add ansi-c++-opt.
65207         (Makefile.am): Arrange to compile and run test-dirent-c++.
65208         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
65209         gl_MODULE_INDICATOR.
65211         New module 'ansi-c++-opt'.
65212         * modules/ansi-c++-opt: New file.
65213         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
65215         Document C++ namespace mode.
65216         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
65218         wctype: Avoid #define replacements in C++ mode.
65219         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
65220         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
65221         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
65222         In C++, define a namespaced alias symbol.
65223         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
65224         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
65225         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
65226         rule.
65228         wchar: Avoid #define replacements in C++ mode.
65229         * lib/wchar.in.h: Include c++defs.h.
65230         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
65231         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
65232         symbol.
65233         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
65234         * modules/wchar (Depends-on): Add c++defs.
65235         (Makefile.am): Update wchar.h rule.
65237         unistd: Avoid #define replacements in C++ mode.
65238         * lib/unistd.in.h: Include c++defs.h.
65239         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
65240         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
65241         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
65242         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
65243         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
65244         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
65245         symbol.
65246         (environ): Update.
65247         * modules/unistd (Depends-on): Add c++defs.
65248         (Makefile.am): Update unistd.h rule.
65250         time: Avoid #define replacements in C++ mode.
65251         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
65252         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
65253         define a namespaced alias symbol.
65254         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
65255         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
65256         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
65257         * modules/time (Depends-on): Add c++defs, warn-on-use.
65258         (Makefile.am): Update time.h rule.
65259         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
65260         * modules/nanosleep (configure.ac): Likewise.
65261         * modules/strptime (configure.ac): Likewise.
65262         * modules/timegm (configure.ac): Likewise.
65264         sys_time: Avoid #define replacements in C++ mode.
65265         * lib/sys_time.in.h: Include c++defs.h.
65266         (gettimeofday): In C++, define a namespaced alias symbol.
65267         * modules/sys_time (Depends-on): Add c++defs.
65268         (Makefile.am): Update sys/time.h rule.
65270         sys_stat: Avoid #define replacements in C++ mode.
65271         * lib/sys_stat.in.h: Include c++defs.h.
65272         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
65273         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
65274         namespaced alias symbol.
65275         In C++, define a namespaced alias symbol.
65276         * modules/sys_stat (Depends-on): Add c++defs.
65277         (Makefile.am): Update sys/stat.h rule.
65279         sys_socket: Avoid #define replacements in C++ mode.
65280         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
65281         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
65282         definitions also when the system has a <sys/socket.h>.
65283         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
65284         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
65285         In C++, define a namespaced alias symbol.
65286         * modules/sys_socket (Depends-on): Add c++defs.
65287         (Makefile.am): Update sys/socket.h rule.
65289         sys_select: Avoid #define replacements in C++ mode.
65290         * lib/sys_select.in.h: Include c++defs.h. Enable the function
65291         definitions also when the system has a <sys/select.h>.
65292         (select): In C++, define a namespaced alias symbol.
65293         * modules/sys_select (Depends-on): Add c++defs.
65294         (Makefile.am): Update sys/select.h rule.
65296         sys_ioctl: Avoid #define replacements in C++ mode.
65297         * lib/sys_ioctl.in.h: Include c++defs.h.
65298         (ioctl): In C++, define a namespaced alias symbol.
65299         * modules/sys_ioctl (Depends-on): Add c++defs.
65300         (Makefile.am): Update sys/ioctl.h rule.
65302         string: Avoid #define replacements in C++ mode.
65303         * lib/string.in.h: Include c++defs.h.
65304         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
65305         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
65306         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
65307         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
65308         strsignal, strverscmp): In C++, define a namespaced alias symbol.
65309         * modules/string (Depends-on): Add c++defs.
65310         (Makefile.am): Update string.h rule.
65312         stdlib: Avoid #define replacements in C++ mode.
65313         * lib/stdlib.in.h: Include c++defs.h.
65314         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
65315         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
65316         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
65317         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
65318         symbol.
65319         * modules/stdlib (Depends-on): Add c++defs.
65320         (Makefile.am): Update stdlib.h rule.
65322         stdio: Avoid #define replacements in C++ mode.
65323         * lib/stdio.in.h: Include c++defs.h.
65324         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
65325         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
65326         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
65327         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
65328         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
65329         namespaced alias symbol.
65330         * modules/stdio (Depends-on): Add c++defs.
65331         (Makefile.am): Update stdio.h rule.
65333         spawn: Avoid #define replacements in C++ mode.
65334         * lib/spawn.in.h: Include c++defs.h.
65335         (posix_spawn, posix_spawnp, posix_spawnattr_init,
65336         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
65337         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
65338         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
65339         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
65340         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
65341         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
65342         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
65343         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
65344         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
65345         In C++, define a namespaced alias symbol.
65346         * modules/spawn (Depends-on): Add c++defs.
65347         (Makefile.am): Update spawn.h rule.
65349         signal: Avoid #define replacements in C++ mode.
65350         * lib/signal.in.h: Include c++defs.h.
65351         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
65352         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
65353         namespaced alias symbol.
65354         * modules/signal (Depends-on): Add c++defs.
65355         (Makefile.am): Update signal.h rule.
65357         search: Avoid #define replacements in C++ mode.
65358         * lib/search.in.h: Include c++defs.h.
65359         (_gl_search_compar_fn, _gl_search_action_fn): New types.
65360         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
65361         symbol.
65362         * modules/search (Depends-on): Add c++defs.
65363         (Makefile.am): Update search.h rule.
65365         math: Avoid #define replacements in C++ mode.
65366         * lib/math.in.h: Include c++defs.h.
65367         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
65368         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
65369         trunc, truncl): In C++, define a namespaced alias symbol.
65370         * modules/math (Depends-on): Add c++defs.
65371         (Makefile.am): Update math.h rule.
65373         locale: Avoid #define replacements in C++ mode.
65374         * lib/locale.in.h: Include c++defs.h.
65375         (duplocale): In C++, define a namespaced alias symbol.
65376         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
65377         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
65378         * modules/locale (Depends-on): Add c++defs.
65379         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
65381         langinfo: Avoid #define replacements in C++ mode.
65382         * lib/langinfo.in.h: Include c++defs.h.
65383         (nl_langinfo): In C++, define a namespaced alias symbol.
65384         * modules/langinfo (Depends-on): Add c++defs.
65385         (Makefile.am): Update langinfo.h rule.
65387         iconv-h: Avoid #define replacements in C++ mode.
65388         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
65389         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
65390         symbol.
65391         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
65392         whenever iconv is present.
65393         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
65394         (Makefile.am): Update iconv.h rule.
65396         glob: Avoid #define replacements in C++ mode.
65397         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
65398         (_gl_glob_errfunc_fn): New type.
65399         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
65400         symbol.
65401         * modules/glob (Depends-on): Add c++defs, warn-on-use.
65402         (Makefile.am): Update glob.h rule.
65404         fcntl-h: Avoid #define replacements in C++ mode.
65405         * lib/fcntl.in.h: Include c++defs.h.
65406         (fcntl, open, openat): In C++, define a namespaced alias symbol.
65407         * modules/fcntl-h (Depends-on): Add c++defs.
65408         (Makefile.am): Update fcntl.h rule.
65410         dirent: Avoid #define replacements in C++ mode.
65411         * lib/dirent.in.h: Include c++defs.h.
65412         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
65413         namespaced alias symbol.
65414         (dirfd): Update declaration.
65415         * modules/dirent (Depends-on): Add c++defs.
65416         (Makefile.am): Update dirent.h rule.
65418         ctype: Make it usable in C++ code.
65419         * lib/ctype.in.h: Include c++defs.h.
65420         (isblank): Declare as extern "C".
65421         * modules/ctype (Depends-on): Add c++defs.
65422         (Makefile.am): Update ctype.h rule.
65424         New module 'c++defs'.
65425         * modules/c++defs: New file.
65426         * build-aux/c++defs.h: New file.
65427         Reported by John W. Eaton <jwe@gnu.org>.
65429 2010-03-07  Bruno Haible  <bruno@clisp.org>
65431         logb: Provide missing declaration for Cygwin.
65432         * lib/math.in.h (logb): New declaration.
65433         * m4/logb.m4: New file.
65434         * modules/logb (Files): Add m4/logb.m4.
65435         (Depends-on): Add math.
65436         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
65437         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
65438         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
65439         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
65440         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
65442 2010-03-07  Bruno Haible  <bruno@clisp.org>
65444         Fix test-cond link error.
65445         * tests/test-cond.c: Include <stdio.h>.
65447 2010-03-07  Bruno Haible  <bruno@clisp.org>
65449         Fix test-dirent-safer link error.
65450         * modules/dirent-safer-tests (Makefile.am): Define
65451         test_dirent_safer_LDADD.
65453 2010-03-07  Bruno Haible  <bruno@clisp.org>
65455         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
65456         among default module list.
65458 2010-03-07  Bruno Haible  <bruno@clisp.org>
65460         Fix link error on platforms with GNU libiconv.
65461         * modules/unistr/u8-strcoll-tests (Makefile): Define
65462         test_u8_strcoll_LDADD.
65463         * modules/unistr/u16-strcoll-tests (Makefile): Define
65464         test_u16_strcoll_LDADD.
65465         * modules/unistr/u32-strcoll-tests (Makefile): Define
65466         test_u32_strcoll_LDADD.
65468 2010-03-07  Bruno Haible  <bruno@clisp.org>
65470         Use POSIX declarations for socket functions.
65471         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
65472         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
65473         rpl_sendto): Change declaration to match POSIX.
65474         * lib/connect.c (rpl_connect): Likewise.
65475         * lib/accept.c (rpl_accept): Likewise.
65476         * lib/bind.c (rpl_bind): Likewise.
65477         * lib/getpeername.c (rpl_getpeername): Likewise.
65478         * lib/getsockname.c (rpl_getsockname): Likewise.
65479         * lib/recv.c (rpl_recv): Likewise.
65480         * lib/send.c (rpl_send): Likewise.
65481         * lib/recvfrom.c (rpl_recvfrom): Likewise.
65482         * lib/sendto.c (rpl_sendto): Likewise.
65484 2010-03-06  Bruno Haible  <bruno@clisp.org>
65486         Clarify access, euidaccess, faccessat.
65487         * doc/posix-functions/faccessat.texi: Mention security problem under
65488         "Other problems", not "Portability problems".
65489         * doc/posix-functions/access.texi: Likewise. Mention a related security
65490         problem.
65491         * doc/glibc-functions/euidaccess.texi: Mention security problems.
65492         * lib/euidaccess.c: Add comments about platforms.
65493         * lib/unistd.in.h (access, euidaccess): Add warnings.
65495 2010-03-07  Bruno Haible  <bruno@clisp.org>
65497         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
65498         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
65499         (POSIX_SPAWN_SETSCHEDULER): Likewise.
65500         (POSIX_SPAWN_USEVFORK): Define in a way that works when
65501         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
65502         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
65503         declare when POSIX_SPAWN_SETSCHEDULER is zero.
65504         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
65505         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
65506         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
65507         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
65508         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
65509         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
65510         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
65511         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
65512         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
65513         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
65514         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
65515         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
65516         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
65517         Likewise.
65518         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
65519         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
65520         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
65521         Likewise.
65522         * tests/test-spawn.c (main): Make it work when
65523         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
65525 2010-03-07  Bruno Haible  <bruno@clisp.org>
65527         Fix incorrect Makefile.am generation in German locale.
65528         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65529         Execute sed command with character range in C locale.
65531 2010-03-06  Bruno Haible  <bruno@clisp.org>
65533         Tests for module 'iconv-h'.
65534         * modules/iconv-h-tests: New file.
65535         * tests/test-iconv-h.c: New file.
65537         New module 'iconv-h'.
65538         * modules/iconv-h: New file.
65539         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
65540         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
65541         (configure.ac): Remove gl_ICONV_H.
65542         (Makefile.am): Remove rule for iconv.h.
65544 2010-03-06  Bruno Haible  <bruno@clisp.org>
65546         More consistent naming of *.m4 files.
65547         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
65548         * modules/wctype (Files): Update.
65550         More consistent naming of *.m4 files.
65551         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
65552         * modules/wchar (Files): Update.
65554 2010-03-06  Jim Meyering  <meyering@redhat.com>
65556         euidaccess: relax license to LGPLv2+
65557         * modules/euidaccess (License): Relax to LGPLv2+.
65559 2010-03-06  Bruno Haible  <bruno@clisp.org>
65561         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
65562         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
65563         (Makefile.am): Augment lib_SOURCES instead.
65565 2010-03-04  Jim Meyering  <meyering@redhat.com>
65567         utime: remove obsolete module
65568         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
65569         unnecessary for years, and has been marked as obsolete for 10 months.
65570         * modules/utime: Remove file.
65571         * lib/utime.c: Remove file.
65572         * m4/utime.m4: Remove file.
65573         * m4/utimes-null.m4: Remove file.
65574         * doc/posix-functions/utime.texi (utime): Remove reference to
65575         the module.  Move the sole "fixed by gnulib" item into the
65576         "problems not fixed by Gnulib" list.
65577         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
65579 2010-03-05  Simon Josefsson  <simon@josefsson.org>
65581         * modules/exit (License): Relax license to LGPLv2+.
65582         (Status): Mark as obsolete.
65583         * NEWS: Mention deprecated 'exit' module.
65584         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
65585         of now obsolete 'exit'.
65587 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65589         fts-lgpl: remove unused module
65590         * modules/fts-lgpl: Remove.
65591         * MODULES.html.sh (func_all_modules): Adjust.
65592         * check-module (find_included_lib_files): Adjust.
65593         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
65595 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
65597         copy-acl: enhance Solaris ACL error handling
65598         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
65599         * lib/set-mode-acl.c (qset_acl): Likewise.
65601 2010-03-02  Bruno Haible  <bruno@clisp.org>
65603         spawn: Don't override the system defined values on FreeBSD 8.
65604         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
65605         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
65606         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
65607         if HAVE_POSIX_SPAWN is 1.
65608         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
65610 2010-03-01  Bruno Haible  <bruno@clisp.org>
65612         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
65613         regarding Automake.
65615 2010-02-25  Bruno Haible  <bruno@clisp.org>
65617         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
65618         * gnulib-tool: Define 'echo' as a function only before the ksh alias
65619         setting, not afterwards.
65620         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
65622 2010-02-24  Eric Blake  <eblake@redhat.com>
65624         bootstrap, git-version-gen: use timestamp
65625         * build-aux/git-version-gen (scriptversion): Force UTC.
65626         * build-aux/bootstrap (scriptversion): New variable.
65628         bootstrap: allow older git
65629         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
65630         older than 1.6.4.  Requested by the libvirt project.
65632 2010-02-23  Eric Blake  <eblake@redhat.com>
65634         warn-on-use: work with old autoconf
65635         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
65636         AS_VAR semantics of autoconf 2.60.
65637         Reported by Bruno Haible.
65639         bootstrap: improve some comments
65640         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
65641         clarification comments.
65643         gettimeofday: provide correct function
65644         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
65645         when replacement is declared, otherwise provide gettimeofday.
65646         Reported by Michael Goffioul.
65648 2010-02-23  Jim Meyering  <meyering@redhat.com>
65650         lib-ignore: relax license to "unlimited", not LGPLv2+
65651         * modules/lib-ignore (License): Relax to "unlimited".
65653 2010-02-23  Jim Meyering  <meyering@redhat.com>
65655         lib-ignore: relax license to LGPLv2+
65656         * modules/lib-ignore (License): Relax to LGPLv2+.
65658 2010-02-22  Eric Blake  <eblake@redhat.com>
65660         lseek: avoid bash 3.2 broken pipe bug
65661         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
65662         warning from bash 3.2.
65663         Reported by Ben Pfaff, with analysis from Bruno Haible.
65665         bootstrap: support non-FSF copyright holder
65666         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
65667         bootstrap.conf override of COPYRIGHT_HOLDER.
65668         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
65670         bootstrap: interoperate with gettext 0.14.1
65671         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
65673         bootstrap: allow for alternate submodule location
65674         * build-aux/bootstrap (gnulib_path): New variable; use instead of
65675         hardcoding submodule location.
65676         (gnulib_mk): Allow direct use of Makefile.am.
65678         bootstrap: use GNULIB_SRCDIR to reduce disk usage
65679         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
65680         rather than reconfiguring where the submodule points.
65682         gettimeofday: restore support for platforms that lack function
65683         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
65684         replacement if function is missing.
65685         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
65686         * modules/sys_time (Makefile.am): Substitute it.
65687         * lib/sys_time.in.h (gettimeofday): Check it.
65688         Reported by Michael Goffioul.
65690 2010-02-21  Bruno Haible  <bruno@clisp.org>
65692         * lib/stdio.in.h (obstack_printf): Fix typo.
65694 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
65696         vc-list-files: use bzr ls's -R option
65697         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
65698         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
65700 2010-02-21  Jim Meyering  <meyering@redhat.com>
65702         init.sh: fix EXEEXT shims to work also for names like test-prog
65703         * tests/init.sh: Re-exec a better shell, when needed.
65704         If the current shell lacks support for posix $(...), an init.sh-using
65705         test will now try to find a shell that supports that.  If EXEEXT is
65706         nonempty, we also require support for hyphen-in-alias-name and shell
65707         substitutions like ${var#glob}.  Failure to find such a shell results
65708         in a skipped test.
65710 2010-02-21  Bruno Haible  <bruno@clisp.org>
65712         Really work around "broken pipe" error message from bash 3.2.
65713         * gnulib-tool (func_reset_sigpipe): Remove function.
65714         (echo): In bash 3.2, define to a function that uses printf.
65715         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
65717 2010-02-20  Bruno Haible  <bruno@clisp.org>
65719         Restore support for automake 1.9.6 with autoconf 2.61.
65720         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
65721         Reported by James Youngman <jay@gnu.org>.
65723 2010-02-20  Bruno Haible  <bruno@clisp.org>
65725         Improve *printf warning condition.
65726         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
65727         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
65728         and the function is overridden due to SIGPIPE emulation.
65730 2010-02-20  Bruno Haible  <bruno@clisp.org>
65732         * lib/stdio.in.h: Tweak comments.
65734 2010-02-19  Bruno Haible  <bruno@clisp.org>
65736         Make it easier to find modules. New gnulib-tool option '--find'.
65737         * gnulib-tool: New option --find.
65738         (func_usage): Document it.
65739         (func_sanitize_modulelist): New function, extracted from
65740         func_all_modules.
65741         (func_all_modules): Invoke it.
65742         * doc/gnulib-tool.texi (Which modules?): New node.
65744 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
65746         * lib/sys_select.in.h: Provide select replacement even if
65747         sys/select.h exists on a system, for Interix.
65749 2010-02-18  Jim Meyering  <meyering@redhat.com>
65751         init.sh: don't use $(...) just yet
65752         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
65753         to accommodate e.g., Solaris' /bin/sh.
65755 2010-02-17  Bruno Haible  <bruno@clisp.org>
65757         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
65758         Reported by Ludovic Courtès <ludo@gnu.org>.
65760 2010-02-16  Simon Josefsson  <simon@josefsson.org>
65762         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
65763         linking with -lintl.
65765 2010-02-17  Simon Josefsson  <simon@josefsson.org>
65767         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
65768         if not provided by the system's netdb.h.  Reported by
65769         ludo@gnu.org (Ludovic Courtès).
65771 2010-02-15  Jim Meyering  <meyering@redhat.com>
65773         init.sh: improve portability and efficiency
65774         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
65775         "dummy" in a for loop.
65776         Use '!', not '^' to select the complement of a character set used
65777         in a "case" statement.
65778         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
65779         Suggestions from Eric Blake.
65781         init.sh: automatically accommodate programs with the .exe suffix
65782         Automatically arrange for an invocation of "prog" to execute the
65783         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
65784         may use the simpler "prog", yet still work when built on a system
65785         that requires specifying the added suffix.
65786         Do this by constructing a function named "prog" that invokes
65787         "prog.exe" for each .exe file in selected directories.
65788         * tests/init.sh (find_exe_basenames_): New function.
65789         (create_exe_shim_functions_): New function.
65790         (path_prepend_): Use it.
65792         maint.mk: mark syntax-check sc_*.m rules as .PHONY
65793         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
65794         "make -t syntax-check" doesn't create a ton of sc_*.m files.
65796 2010-02-14  Jim Meyering  <meyering@redhat.com>
65798         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
65799         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
65800         (sc_prohibit_hash_pjw_without_use): New rule.
65802         maint.mk: allow the default upload destination dir to be overridden
65803         * top/maint.mk (upload_dest_dir_): Define with a default that
65804         preserves the status quo.
65805         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
65806         Reported by Peter Simons.
65808         maint.mk: prohibit inclusion of "hash.h" without_use
65809         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
65811 2010-02-10  Jim Meyering  <meyering@redhat.com>
65813         maint.mk: prohibit inclusion of "ignore-value.h" without_use
65814         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
65816 2010-02-09  Eric Blake  <ebb9@byu.net>
65817         and Bruno Haible  <bruno@clisp.org>
65819         obstack-printf-posix: ensure declaration
65820         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
65821         extracted from gl_FUNC_OBSTACK_PRINTF.
65822         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
65823         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
65824         Likewise.
65825         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
65826         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
65827         0.
65829 2010-02-08  Bruno Haible  <bruno@clisp.org>
65831         gnulib-tool: Fix typo in 2010-02-07 commit.
65832         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
65833         Reported by Eric Blake.
65835 2010-02-07  Bruno Haible  <bruno@clisp.org>
65837         gnulib-tool: Fix up caching patches.
65838         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
65839         option --no-cache. Use associative arrays when supported by the shell.
65840         (sed_comments): New variable.
65841         (modcache): Renamed from do_cache.
65842         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
65843         abbreviate unnecessarily.
65844         (have_associative): New variable.
65845         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
65846         way also for ksh and zsh.
65847         (func_init_sed_convert_to_cache_statements): New function, extracted
65848         from func_cache_lookup_module. Add support for associative arrays.
65849         Don't set the c_MODULE_cached variable here. Ignore all lines before
65850         the first field header. Remove only the final newline, not all trailing
65851         newlines. Support empty fields correctly. Limit the use of 'eval' to
65852         assignments.
65853         (func_get_description, func_get_status, func_get_notice,
65854         func_get_applicability, func_get_filelist, func_get_dependencies,
65855         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
65856         func_get_automake_snippet, func_get_include_directive,
65857         func_get_link_directive, func_get_license, func_get_maintainer):
65858         Update documentation. List the unoptimized code first. Add support for
65859         associative arrays. Limit the use of 'eval' to assignments.
65860         (func_get_applicability): Undo stylistic pessimisations.
65861         (func_get_automake_snippet, func_get_include_directive): Reduce code
65862         duplication.
65863         (func_modules_transitive_closure, func_modules_add_dummy,
65864         func_modules_notice, func_modules_to_filelist, func_add_file,
65865         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
65866         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
65867         func_create_testdir, func_create_megatestdir): Update documentation.
65869 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65871         * gnulib-tool (func_cache_lookup_module): Store the module name
65872         belonging to the cache variable; error out if two different
65873         module names map to the same cache variable name.
65875 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65877         gnulib-tool: Make caching optional.
65878         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
65879         Update matching short versions of --no-changelog.
65880         (func_usage): Update.
65881         (sed_extract_cache_prog): Renamed from ...
65882         (sed_extract_prog): ... this; revert to old extraction script.
65883         (func_get_description, func_get_status)
65884         (func_get_notice, func_get_applicability, func_get_filelist)
65885         (func_get_dependencies, func_get_autoconf_early_snippet)
65886         (func_get_autoconf_snippet, func_get_automake_snippet)
65887         (func_get_include_directive, func_get_link_directive)
65888         (func_get_license, func_get_maintainer): If $do_cache is false,
65889         use old, non-caching extraction scripts.
65890         Suggestion by Bruno Haible.
65892 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65894         gnulib-tool: cache module metainformation.
65895         * gnulib-tool (sed_extract_prog): Match newline before each
65896         header, and rewrite header to a shell variable suffix.
65897         (func_cache_var, func_cache_lookup_module): New functions,
65898         to turn a module name into a cache variable prefix, and to
65899         look up and cache module metainformation.
65900         (func_get_description, func_get_status)
65901         (func_get_notice, func_get_applicability, func_get_filelist)
65902         (func_get_dependencies, func_get_autoconf_early_snippet)
65903         (func_get_autoconf_snippet, func_get_automake_snippet)
65904         (func_get_include_directive, func_get_link_directive)
65905         (func_get_license, func_get_maintainer): Use
65906         func_cache_lookup_module.
65908 2010-02-07  Bruno Haible  <bruno@clisp.org>
65910         fnctl: Fix missing dependency.
65911         * modules/fcntl (Depends-on): Add getdtablesize.
65912         Reported by John W. Eaton <jwe@gnu.org>.
65914 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65916         Argp: fix recognition of short alias options.
65918         * lib/argp-parse.c (convert_options): Fix improper use of
65919         `|' between character values.
65920         * tests/test-argp.c (group1_option): New alias option
65921         --read (-r).
65922         (group1_parser): Special handling for 'r'.
65923         (test15): New test case.
65924         (test_fun): Add test15.
65925         * tests/test-argp-2.sh: Update expected --help and --usage
65926         outputs.
65928 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65930         * tests/test-argp.c: Fix indentation.
65932 2010-02-04  Eric Blake  <ebb9@byu.net>
65934         gettimeofday: expose type of second argument
65935         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
65936         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
65937         * tests/test-gettimeofday.c: Use it to silence warning.
65938         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
65939         the issue.
65941 2010-02-03  Jim Meyering  <meyering@redhat.com>
65943         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
65944         * lib/regcomp.c (TYPE_SIGNED): Define.
65945         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
65947         regcomp.c: avoid a new -Wshadow warning
65948         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
65950 2010-02-01  Jim Meyering  <meyering@redhat.com>
65952         removing useless parentheses in cpp #define directives
65953         For motivation, see commit c0221df4, "define STREQ(a,b)
65954         consistently, removing useless parentheses"
65955         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
65956         * lib/mountlist.c (MNT_IGNORE): Likewise.
65957         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
65959 2010-02-01  Eric Blake  <ebb9@byu.net>
65961         sys_time: use link-warning
65962         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
65963         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
65964         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
65965         * modules/sys_time (Depends-on): Add warn-on-use.
65966         (Makefile.am): Always build replacement.
65967         (configure.ac): Update substitutions.
65968         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
65969         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
65970         bother with SYS_TIME_H.
65971         * modules/gettimeofday (configure.ac): Declare indicator.
65972         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
65973         in use.
65975         closein-tests: silence compiler warning
65976         * tests/test-closein.c (main): Ignore fread result.
65977         * modules/closein-tests (Depends-on): Add ignore-value.
65979         tests: silence warning about system return
65980         * tests/test-areadlink-with-size.c (main): Ignore system result.
65981         * tests/test-areadlink.c (main): Likewise.
65982         * tests/test-areadlinkat-with-size.c (main): Likewise.
65983         * tests/test-areadlinkat.c (main): Likewise.
65984         * tests/test-canonicalize-lgpl.c (main): Likewise.
65985         * tests/test-canonicalize.c (main): Likewise.
65986         * tests/test-chown.c (main): Likewise.
65987         * tests/test-fchownat.c (main): Likewise.
65988         * tests/test-fdutimensat.c (main): Likewise.
65989         * tests/test-fstatat.c (main): Likewise.
65990         * tests/test-futimens.c (main): Likewise.
65991         * tests/test-lchown.c (main): Likewise.
65992         * tests/test-link.c (main): Likewise.
65993         * tests/test-linkat.c (main): Likewise.
65994         * tests/test-lstat.c (main): Likewise.
65995         * tests/test-mkdir.c (main): Likewise.
65996         * tests/test-mkdirat.c (main): Likewise.
65997         * tests/test-mkfifo.c (main): Likewise.
65998         * tests/test-mkfifoat.c (main): Likewise.
65999         * tests/test-mknod.c (main): Likewise.
66000         * tests/test-readlink.c (main): Likewise.
66001         * tests/test-remove.c (main): Likewise.
66002         * tests/test-rename.c (main): Likewise.
66003         * tests/test-renameat.c (main): Likewise.
66004         * tests/test-rmdir.c (main): Likewise.
66005         * tests/test-symlink.c (main): Likewise.
66006         * tests/test-symlinkat.c (main): Likewise.
66007         * tests/test-unlink.c (main): Likewise.
66008         * tests/test-unlinkat.c (main): Likewise.
66009         * tests/test-utimens.c (main): Likewise.
66010         * tests/test-utimensat.c (main): Likewise.
66011         * modules/areadlink-tests (Depends-on): Add ignore-value.
66012         * modules/areadlink-with-size-tests (Depends-on): Likewise.
66013         * modules/areadlinkat-tests (Depends-on): Likewise.
66014         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
66015         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
66016         * modules/canonicalize-tests (Depends-on): Likewise.
66017         * modules/chown-tests (Depends-on): Likewise.
66018         * modules/fdutimensat-tests (Depends-on): Likewise.
66019         * modules/futimens-tests (Depends-on): Likewise.
66020         * modules/lchown-tests (Depends-on): Likewise.
66021         * modules/link-tests (Depends-on): Likewise.
66022         * modules/linkat-tests (Depends-on): Likewise.
66023         * modules/lstat-tests (Depends-on): Likewise.
66024         * modules/mkdir-tests (Depends-on): Likewise.
66025         * modules/mkfifo-tests (Depends-on): Likewise.
66026         * modules/mkfifoat-tests (Depends-on): Likewise.
66027         * modules/mknod-tests (Depends-on): Likewise.
66028         * modules/openat-tests (Depends-on): Likewise.
66029         * modules/readlink-tests (Depends-on): Likewise.
66030         * modules/remove-tests (Depends-on): Likewise.
66031         * modules/rename-tests (Depends-on): Likewise.
66032         * modules/renameat-tests (Depends-on): Likewise.
66033         * modules/rmdir-tests (Depends-on): Likewise.
66034         * modules/symlink-tests (Depends-on): Likewise.
66035         * modules/symlinkat-tests (Depends-on): Likewise.
66036         * modules/unlink-tests (Depends-on): Likewise.
66037         * modules/utimens-tests (Depends-on): Likewise.
66038         * modules/utimensat-tests (Depends-on): Likewise.
66040 2010-01-31  Bruno Haible  <bruno@clisp.org>
66042         Perform the same test for many <math.h> functions.
66043         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
66044         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
66045         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
66046         of gl_MATHFUNC.
66047         * modules/acos (configure.ac): Likewise.
66048         * modules/asin (configure.ac): Likewise.
66049         * modules/atan (configure.ac): Likewise.
66050         * modules/atan2 (configure.ac): Likewise.
66051         * modules/cbrt (configure.ac): Likewise.
66052         * modules/copysign (configure.ac): Likewise.
66053         * modules/cos (configure.ac): Likewise.
66054         * modules/cosh (configure.ac): Likewise.
66055         * modules/erf (configure.ac): Likewise.
66056         * modules/erfc (configure.ac): Likewise.
66057         * modules/exp (configure.ac): Likewise.
66058         * modules/fmod (configure.ac): Likewise.
66059         * modules/hypot (configure.ac): Likewise.
66060         * modules/j0 (configure.ac): Likewise.
66061         * modules/j1 (configure.ac): Likewise.
66062         * modules/jn (configure.ac): Likewise.
66063         * modules/lgamma (configure.ac): Likewise.
66064         * modules/log (configure.ac): Likewise.
66065         * modules/log10 (configure.ac): Likewise.
66066         * modules/log1p (configure.ac): Likewise.
66067         * modules/pow (configure.ac): Likewise.
66068         * modules/remainder (configure.ac): Likewise.
66069         * modules/sin (configure.ac): Likewise.
66070         * modules/sinh (configure.ac): Likewise.
66071         * modules/tan (configure.ac): Likewise.
66072         * modules/tanh (configure.ac): Likewise.
66073         * modules/y0 (configure.ac): Likewise.
66074         * modules/y1 (configure.ac): Likewise.
66075         * modules/yn (configure.ac): Likewise.
66076         Suggested by Paolo Bonzini.
66078 2010-01-31  Bruno Haible  <bruno@clisp.org>
66080         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
66082 2010-01-31  Bruno Haible  <bruno@clisp.org>
66084         Work around getdelim() bug on FreeBSD 8.0.
66085         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
66086         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
66087         not work.
66088         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
66089         is 1.
66090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
66091         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
66092         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
66093         a non-zero size.
66094         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
66096 2010-01-31  Bruno Haible  <bruno@clisp.org>
66098         Work around getline() bug on FreeBSD 8.0.
66099         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
66100         and a non-zero size.
66101         * tests/test-getline.c (main): Likewise.
66102         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
66103         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
66105 2010-01-28  Eric Blake  <ebb9@byu.net>
66107         regex: fix build failure
66108         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
66109         platforms.
66111 2010-01-28  Jim Meyering  <meyering@redhat.com>
66113         regex: do not ignore memory allocation failure
66114         * lib/regex_internal.c (create_cd_newstate): Detect
66115         re_node_set_init_copy failure.   Extracted from glibc commit
66116         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
66118         regex: sync more white-space changes from libc
66119         * lib/regex_internal.c: White-space only changes.
66120         * lib/regexec.c: Likewise.
66122         regex: add many uses of __attribute_warn_unused_result__
66123         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
66124         * lib/regexec.c: Likewise.
66125         Extracted from a messy glibc commit.
66127         regcomp.c: spelling and merge-artifact from glibc
66128         * lib/regcomp.c: Merge remainder of glibc's
66129         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
66131         regcomp.c: sync white-space changes from glibc
66132         * lib/regcomp.c: Merge to accommodate white space
66133         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
66135         regcomp.c: do not ignore internal return values
66136         * lib/regcomp.c: Do not ignore internal return values.
66137         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
66138         but without its white-space changes and spelling fixes.
66140         regex_internal.h: define __attribute_warn_unused_result__
66141         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
66143         maint: add a syntax-check rule to check for vulnerable Makefile.in
66144         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
66146 2010-01-27  Jim Meyering  <meyering@redhat.com>
66148         ncftpput-ftp: clean up spaces
66149         * build-aux/ncftpput-ftp: Make Copyright line consistent.
66150         Remove trailing blanks.
66152 2010-01-27  Simon Josefsson  <simon@josefsson.org>
66154         * build-aux/git-version-gen: Fix copyright statement.
66155         * build-aux/gnupload: Likewise.
66156         * tests/test-arcfour.c: Likewise.
66157         * tests/test-arctwo.c: Likewise.
66158         * tests/test-count-one-bits.c: Likewise.
66159         * tests/test-crc.c: Likewise.
66160         * tests/test-des.c: Likewise.
66161         * tests/test-gc-arcfour.c: Likewise.
66162         * tests/test-gc-arctwo.c: Likewise.
66163         * tests/test-gc-des.c: Likewise.
66164         * tests/test-gc-hmac-md5.c: Likewise.
66165         * tests/test-gc-hmac-sha1.c: Likewise.
66166         * tests/test-gc-md2.c: Likewise.
66167         * tests/test-gc-md4.c: Likewise.
66168         * tests/test-gc-md5.c: Likewise.
66169         * tests/test-gc-pbkdf2-sha1.c: Likewise.
66170         * tests/test-gc-rijndael.c: Likewise.
66171         * tests/test-gc-sha1.c: Likewise.
66172         * tests/test-gc.c: Likewise.
66173         * tests/test-gethostname.c: Likewise.
66174         * tests/test-gettimeofday.c: Likewise.
66175         * tests/test-hash.c: Likewise.
66176         * tests/test-hmac-md5.c: Likewise.
66177         * tests/test-hmac-sha1.c: Likewise.
66178         * tests/test-md2.c: Likewise.
66179         * tests/test-md4.c: Likewise.
66180         * tests/test-md5.c: Likewise.
66181         * tests/test-memchr.c: Likewise.
66182         * tests/test-memchr2.c: Likewise.
66183         * tests/test-memcmp.c: Likewise.
66184         * tests/test-memmem.c: Likewise.
66185         * tests/test-memrchr.c: Likewise.
66186         * tests/test-rawmemchr.c: Likewise.
66187         * tests/test-read-file.c: Likewise.
66188         * tests/test-rijndael.c: Likewise.
66189         * tests/test-sockets.c: Likewise.
66190         * tests/test-strchrnul.c: Likewise.
66191         * tests/test-strstr.c: Likewise.
66192         * tests/test-strtod.c: Likewise.
66193         * build-aux/ncftpput-ftp: Likewise.
66195 2010-01-26  Eric Blake  <ebb9@byu.net>
66197         ignore-value: update recommended header name
66198         * modules/ignore-value (Include): Only use <> for headers that
66199         exist in glibc.
66201 2010-01-26  Jim Meyering  <meyering@redhat.com>
66203         test-userspec.c: avoid compiler warnings
66204         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
66205         and "initialization discards qualifiers..." warnings.
66206         Put the first "uid" in its own scope, and make char* members "const".
66208 2010-01-25  Bruno Haible  <bruno@clisp.org>
66210         gnulib-tool: Make warning diagnostics consistent.
66211         * gnulib-tool (func_warning): New function.
66212         Use it everywhere where gnulib-tool produces output to stderr and it is
66213         not a fatal error.
66215 2010-01-25  Bruno Haible  <bruno@clisp.org>
66217         Fix test dependencies.
66218         * modules/xstrtol-tests (Depends-on): Add inttypes.
66219         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
66221 2010-01-25  Pádraig Brady  <P@draigBrady.com>
66223         syntax-check: detect incorrect boolean macro values in config.h
66224         * modules/maintainer-makefile (configure.ac): Parameterize the location
66225         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
66226         The logic is from Eric Blake and the location indicated by Jim Meyering.
66227         Note the more natural CONFIG_HEADER name is prohibited by automake
66228         for backwards compatibility reasons.
66229         * top/maint.mk (sc_Wundef_boolean): New rule.
66231 2010-01-25  Jim Meyering  <meyering@redhat.com>
66233         bootstrap: detect MacOS 10.6's shasum, too
66234         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
66235         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
66237 2010-01-23  Jim Meyering  <meyering@redhat.com>
66239         xstrtoll: new module
66240         * modules/xstrtoll: New file.
66241         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
66242         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
66243         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
66244         ./configure fails if you use this module and lack "long long".
66245         * modules/xstrtoll-tests: New module.
66246         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
66247         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
66248         new init.sh-based test framework.
66250 2010-01-24  Bruno Haible  <bruno@clisp.org>
66252         Tests for module 'yn'.
66253         * modules/yn-tests: New file.
66254         * tests/test-yn.c: New file.
66256         Tests for module 'y1'.
66257         * modules/y1-tests: New file.
66258         * tests/test-y1.c: New file.
66260         Tests for module 'y0'.
66261         * modules/y0-tests: New file.
66262         * tests/test-y0.c: New file.
66264         Tests for module 'tanh'.
66265         * modules/tanh-tests: New file.
66266         * tests/test-tanh.c: New file.
66268         Tests for module 'tan'.
66269         * modules/tan-tests: New file.
66270         * tests/test-tan.c: New file.
66272         Tests for module 'sqrt'.
66273         * modules/sqrt-tests: New file.
66274         * tests/test-sqrt.c: New file.
66276         Tests for module 'sinh'.
66277         * modules/sinh-tests: New file.
66278         * tests/test-sinh.c: New file.
66280         Tests for module 'sin'.
66281         * modules/sin-tests: New file.
66282         * tests/test-sin.c: New file.
66284         Tests for module 'rint'.
66285         * modules/rint-tests: New file.
66286         * tests/test-rint.c: New file.
66288         Tests for module 'remainder'.
66289         * modules/remainder-tests: New file.
66290         * tests/test-remainder.c: New file.
66292         Tests for module 'pow'.
66293         * modules/pow-tests: New file.
66294         * tests/test-pow.c: New file.
66296         Tests for module 'nextafter'.
66297         * modules/nextafter-tests: New file.
66298         * tests/test-nextafter.c: New file.
66300         Tests for module 'modf'.
66301         * modules/modf-tests: New file.
66302         * tests/test-modf.c: New file.
66304         Tests for module 'logb'.
66305         * modules/logb-tests: New file.
66306         * tests/test-logb.c: New file.
66308         Tests for module 'log1p'.
66309         * modules/log1p-tests: New file.
66310         * tests/test-log1p.c: New file.
66312         Tests for module 'log10'.
66313         * modules/log10-tests: New file.
66314         * tests/test-log10.c: New file.
66316         Tests for module 'log'.
66317         * modules/log-tests: New file.
66318         * tests/test-log.c: New file.
66320         Tests for module 'lgamma'.
66321         * modules/lgamma-tests: New file.
66322         * tests/test-lgamma.c: New file.
66324         Tests for module 'ldexp'.
66325         * modules/ldexp-tests: New file.
66326         * tests/test-ldexp.c: New file.
66328         Tests for module 'jn'.
66329         * modules/jn-tests: New file.
66330         * tests/test-jn.c: New file.
66332         Tests for module 'j1'.
66333         * modules/j1-tests: New file.
66334         * tests/test-j1.c: New file.
66336         Tests for module 'j0'.
66337         * modules/j0-tests: New file.
66338         * tests/test-j0.c: New file.
66340         Tests for module 'hypot'.
66341         * modules/hypot-tests: New file.
66342         * tests/test-hypot.c: New file.
66344         Tests for module 'fmod'.
66345         * modules/fmod-tests: New file.
66346         * tests/test-fmod.c: New file.
66348         Tests for module 'fabs'.
66349         * modules/fabs-tests: New file.
66350         * tests/test-fabs.c: New file.
66352         Tests for module 'exp'.
66353         * modules/exp-tests: New file.
66354         * tests/test-exp.c: New file.
66356         Tests for module 'erfc'.
66357         * modules/erfc-tests: New file.
66358         * tests/test-erfc.c: New file.
66360         Tests for module 'erf'.
66361         * modules/erf-tests: New file.
66362         * tests/test-erf.c: New file.
66364         Tests for module 'cosh'.
66365         * modules/cosh-tests: New file.
66366         * tests/test-cosh.c: New file.
66368         Tests for module 'cos'.
66369         * modules/cos-tests: New file.
66370         * tests/test-cos.c: New file.
66372         Tests for module 'copysign'.
66373         * modules/copysign-tests: New file.
66374         * tests/test-copysign.c: New file.
66376         Tests for module 'cbrt'.
66377         * modules/cbrt-tests: New file.
66378         * tests/test-cbrt.c: New file.
66380         Tests for module 'atan2'.
66381         * modules/atan2-tests: New file.
66382         * tests/test-atan2.c: New file.
66384         Tests for module 'atan'.
66385         * modules/atan-tests: New file.
66386         * tests/test-atan.c: New file.
66388         Tests for module 'asin'.
66389         * modules/asin-tests: New file.
66390         * tests/test-asin.c: New file.
66392         Tests for module 'acos'.
66393         * modules/acos-tests: New file.
66394         * tests/test-acos.c: New file.
66396 2010-01-24  Bruno Haible  <bruno@clisp.org>
66398         Fix tests for common <math.h> functions.
66399         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
66400         code snippet that references the function pointer, rather than merely
66401         calling the function. Substitute the FUNC_LIBM variable.
66402         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
66403         * modules/acos (configure.ac): Likewise.
66404         * modules/asin (configure.ac): Likewise.
66405         * modules/atan (configure.ac): Likewise.
66406         * modules/atan2 (configure.ac): Likewise.
66407         * modules/cbrt (configure.ac): Likewise.
66408         * modules/copysign (configure.ac): Likewise.
66409         * modules/cos (configure.ac): Likewise.
66410         * modules/cosh (configure.ac): Likewise.
66411         * modules/erf (configure.ac): Likewise.
66412         * modules/erfc (configure.ac): Likewise.
66413         * modules/exp (configure.ac): Likewise.
66414         * modules/fabs (configure.ac): Likewise.
66415         * modules/fmod (configure.ac): Likewise.
66416         * modules/hypot (configure.ac): Likewise.
66417         * modules/j0 (configure.ac): Likewise.
66418         * modules/j1 (configure.ac): Likewise.
66419         * modules/jn (configure.ac): Likewise.
66420         * modules/ldexp (configure.ac): Likewise.
66421         * modules/lgamma (configure.ac): Likewise.
66422         * modules/log (configure.ac): Likewise.
66423         * modules/log10 (configure.ac): Likewise.
66424         * modules/log1p (configure.ac): Likewise.
66425         * modules/logb (configure.ac): Likewise.
66426         * modules/modf (configure.ac): Likewise.
66427         * modules/nextafter (configure.ac): Likewise.
66428         * modules/pow (configure.ac): Likewise.
66429         * modules/remainder (configure.ac): Likewise.
66430         * modules/rint (configure.ac): Likewise.
66431         * modules/sin (configure.ac): Likewise.
66432         * modules/sinh (configure.ac): Likewise.
66433         * modules/tan (configure.ac): Likewise.
66434         * modules/tanh (configure.ac): Likewise.
66435         * modules/y0 (configure.ac): Likewise.
66436         * modules/y1 (configure.ac): Likewise.
66437         * modules/yn (configure.ac): Likewise.
66439 2010-01-24  Bruno Haible  <bruno@clisp.org>
66441         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
66442         * tests/test-acosl.c (x): New variable.
66443         (main): Store argument in x and fetch it from x.
66444         * tests/test-asinl.c (x): New variable.
66445         (main): Store argument in x and fetch it from x.
66446         * tests/test-atanl.c (x): New variable.
66447         (main): Store argument in x and fetch it from x.
66448         * tests/test-cosl.c (x): New variable.
66449         (main): Store argument in x and fetch it from x.
66450         * tests/test-expl.c (x): New variable.
66451         (main): Store argument in x and fetch it from x.
66452         * tests/test-logl.c (x): New variable.
66453         (main): Store argument in x and fetch it from x.
66454         * tests/test-sinl.c (x): New variable.
66455         (main): Store argument in x and fetch it from x.
66456         * tests/test-sqrtl.c (x): New variable.
66457         (main): Store argument in x and fetch it from x.
66458         * tests/test-tanl.c (x): New variable.
66459         (main): Store argument in x and fetch it from x.
66461 2010-01-24  Bruno Haible  <bruno@clisp.org>
66463         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
66464         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
66465         assignments to the initial TESTS_ENVIRONMENT.
66466         * doc/gnulib.texi (Unit test modules): Document it.
66467         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
66468         TESTS_ENVIRONMENT.
66469         * modules/btowc-tests (Makefile.am): Likewise.
66470         * modules/c-stack-tests (Makefile.am): Likewise.
66471         * modules/c-strcase-tests (Makefile.am): Likewise.
66472         * modules/copy-file-tests (Makefile.am): Likewise.
66473         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
66474         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
66475         * modules/mbrtowc-tests (Makefile.am): Likewise.
66476         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66477         * modules/mbscasestr-tests (Makefile.am): Likewise.
66478         * modules/mbschr-tests (Makefile.am): Likewise.
66479         * modules/mbscspn-tests (Makefile.am): Likewise.
66480         * modules/mbsinit-tests (Makefile.am): Likewise.
66481         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66482         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
66483         * modules/mbspbrk-tests (Makefile.am): Likewise.
66484         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66485         * modules/mbsrchr-tests (Makefile.am): Likewise.
66486         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
66487         * modules/mbsspn-tests (Makefile.am): Likewise.
66488         * modules/mbsstr-tests (Makefile.am): Likewise.
66489         * modules/nl_langinfo-tests (Makefile.am): Likewise.
66490         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
66491         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66492         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66493         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66494         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66495         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
66496         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66497         * modules/wcrtomb-tests (Makefile.am): Likewise.
66498         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
66499         * modules/wcsrtombs-tests (Makefile.am): Likewise.
66500         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
66501         assignments from TESTS_ENVIRONMENT.
66502         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
66503         augmentation.
66504         * modules/argp-version-etc-tests (Makefile.am): Likewise.
66505         * modules/atexit-tests (Makefile.am): Likewise.
66506         * modules/binary-io-tests (Makefile.am): Likewise.
66507         * modules/closein-tests (Makefile.am): Likewise.
66508         * modules/dprintf-posix-tests (Makefile.am): Likewise.
66509         * modules/exclude-tests (Makefile.am): Likewise.
66510         * modules/fflush-tests (Makefile.am): Likewise.
66511         * modules/fpending-tests (Makefile.am): Likewise.
66512         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66513         * modules/freadahead-tests (Makefile.am): Likewise.
66514         * modules/freadptr-tests (Makefile.am): Likewise.
66515         * modules/freadseek-tests (Makefile.am): Likewise.
66516         * modules/fseek-tests (Makefile.am): Likewise.
66517         * modules/fseeko-tests (Makefile.am): Likewise.
66518         * modules/ftell-tests (Makefile.am): Likewise.
66519         * modules/ftello-tests (Makefile.am): Likewise.
66520         * modules/idpriv-drop-tests (Makefile.am): Likewise.
66521         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
66522         * modules/lseek-tests (Makefile.am): Likewise.
66523         * modules/parse-duration-tests (Makefile.am): Likewise.
66524         * modules/perror-tests (Makefile.am): Likewise.
66525         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
66526         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
66527         * modules/pipe-tests (Makefile.am): Likewise.
66528         * modules/pread-tests (Makefile.am): Likewise.
66529         * modules/printf-posix-tests (Makefile.am): Likewise.
66530         * modules/select-tests (Makefile.am): Likewise.
66531         * modules/sigpipe-tests (Makefile.am): Likewise.
66532         * modules/tsearch-tests (Makefile.am): Likewise.
66533         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
66534         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
66535         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66536         * modules/uniwidth/width-tests (Makefile.am): Likewise.
66537         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
66538         * modules/version-etc-tests (Makefile.am): Likewise.
66539         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66540         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66541         * modules/xalloc-die-tests (Makefile.am): Likewise.
66542         * modules/xprintf-posix-tests (Makefile.am): Likewise.
66543         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66544         * modules/xstrtol-tests (Makefile.am): Likewise.
66545         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66546         * modules/yesno-tests (Makefile.am): Likewise.
66547         Suggested by Jim Meyering.
66549 2010-01-24  Bruno Haible  <bruno@clisp.org>
66551         More documentation.
66552         * doc/gnulib.texi (Writing modules): New chapter.
66553         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
66554         the new chapter.
66556 2010-01-24  Jim Meyering  <meyering@redhat.com>
66558         maint.mk: do not prepend "./" after filtering
66559         * top/maint.mk (_prepend_srcdir_prefix): New variable
66560         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
66561         "./" when $(srcdir) is ".".
66563         define STREQ(a,b) consistently, removing useless parentheses
66564         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
66565         since the only risk is that "a" or "b" contains an unparenthesized
66566         comma, but if either did that, STREQ would have 3 or more arguments.
66567         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
66568         * lib/fts.c (STREQ): Remove unnecessary parentheses.
66569         * lib/hash-triple.c (STREQ): Likewise.
66570         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
66571         * lib/getugroups.c (STREQ): Likewise.
66573 2010-01-23  Jim Meyering  <meyering@redhat.com>
66575         maint.mk: fix syntax-check in a non-srcdir build directory
66576         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
66577         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
66579 2010-01-22  Jim Meyering  <meyering@redhat.com>
66581         userspec: add unit tests
66582         * tests/test-userspec.c: New file.
66583         * modules/userspec-tests: Likewise.
66585 2010-01-21  Jim Meyering  <meyering@redhat.com>
66587         maint.mk: handle source file names containing "." robustly
66588         * top/maint.mk (_dot_escaped_srcdir): Define.
66589         (VC_LIST): Use it in LHS of sed substitution.
66591 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
66593         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
66594         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
66595         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
66596         from a non-srcdir build.
66598 2010-01-20  Eric Blake  <ebb9@byu.net>
66600         warn-on-use: use instead of link-warning
66601         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
66602         * modules/unistd (Depends-on, Makefile.am): Likewise.
66603         * modules/arpa_inet (Depends-on): Replace link-warning with
66604         warn-on-use.
66605         (Makefile.am): Update rules accordingly.
66606         * modules/ctype (Depends-on, Makefile.am): Likewise.
66607         * modules/dirent (Depends-on, Makefile.am): Likewise.
66608         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
66609         * modules/inttypes (Depends-on, Makefile.am): Likewise.
66610         * modules/langinfo (Depends-on, Makefile.am): Likewise.
66611         * modules/locale (Depends-on, Makefile.am): Likewise.
66612         * modules/math (Depends-on, Makefile.am): Likewise.
66613         * modules/search (Depends-on, Makefile.am): Likewise.
66614         * modules/signal (Depends-on, Makefile.am): Likewise.
66615         * modules/spawn (Depends-on, Makefile.am): Likewise.
66616         * modules/stdlib (Depends-on, Makefile.am): Likewise.
66617         * modules/string (Depends-on, Makefile.am): Likewise.
66618         * modules/strings (Depends-on, Makefile.am): Likewise.
66619         * modules/sys_file (Depends-on, Makefile.am): Likewise.
66620         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
66621         * modules/sys_select (Depends-on, Makefile.am): Likewise.
66622         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
66623         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
66624         * modules/sys_times (Depends-on, Makefile.am): Likewise.
66625         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
66626         * modules/wchar (Depends-on, Makefile.am): Likewise.
66627         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
66628         should be poisoned.
66629         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
66630         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
66631         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
66632         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
66633         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
66634         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66635         * m4/math_h.m4 (gl_MATH_H): Likewise.
66636         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
66637         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
66638         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
66639         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
66640         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
66641         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
66642         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
66643         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
66644         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
66645         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
66646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
66647         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
66648         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
66649         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
66650         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
66651         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
66652         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
66653         GL_LINK_WARNING.
66654         * lib/ctype.in.h: Likewise.
66655         * lib/dirent.in.h: Likewise.
66656         * lib/fcntl.in.h: Likewise.
66657         * lib/inttypes.in.h: Likewise.
66658         * lib/langinfo.in.h: Likewise.
66659         * lib/locale.in.h: Likewise.
66660         * lib/math.in.h: Likewise.
66661         * lib/search.in.h: Likewise.
66662         * lib/signal.in.h: Likewise.
66663         * lib/spawn.in.h: Likewise.
66664         * lib/stdio.in.h: Likewise.
66665         * lib/stdlib.in.h: Likewise.
66666         * lib/string.in.h: Likewise.
66667         * lib/strings.in.h: Likewise.
66668         * lib/sys_file.in.h: Likewise.
66669         * lib/sys_ioctl.in.h: Likewise.
66670         * lib/sys_select.in.h: Likewise.
66671         * lib/sys_socket.in.h: Likewise.
66672         * lib/sys_stat.in.h: Likewise.
66673         * lib/sys_times.in.h: Likewise.
66674         * lib/sys_utsname.in.h: Likewise.
66675         * lib/unistd.in.h: Likewise.
66676         * lib/wchar.in.h: Likewise.
66678 2010-01-20  Bruno Haible  <bruno@clisp.org>
66680         Avoid duplicate -lm.
66681         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
66682         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
66683         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
66684         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
66685         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
66686         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
66687         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
66688         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
66689         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
66690         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
66691         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
66692         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
66693         Reported by Paolo Bonzini.
66695 2010-01-19  Bruno Haible  <bruno@clisp.org>
66697         langinfo, nl_langinfo: Relicense under LGPLv2+.
66698         * modules/langinfo (License): Change to LGPLv2+.
66699         * modules/nl_langinfo (License): Likewise.
66700         Patch by David Lutterkort <lutter@redhat.com>.
66702 2010-01-19  Bruno Haible  <bruno@clisp.org>
66704         Avoid compilation error with cc on OSF/1 5.1.
66705         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
66706         statement, not before.
66707         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66709 2010-01-18  Bruno Haible  <bruno@clisp.org>
66711         Avoid a link error due to the __printf__ symbol.
66712         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
66713         and 2.6.x.
66714         (__format__, __printf__): Remove definitions.
66715         * lib/argp-fmtstream.h: Likewise.
66716         * lib/argp.h: Likewise.
66717         * lib/error.h: Likewise.
66718         * lib/vasnprintf.h: Likewise.
66719         * lib/xprintf.h: Likewise.
66720         * lib/xvasprintf.h: Likewise.
66721         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66723 2010-01-18  Bruno Haible  <bruno@clisp.org>
66725         Tests for module 'tanl'.
66726         * modules/tanl-tests: New file.
66727         * tests/test-tanl.c: New file.
66729         Tests for module 'sqrtl'.
66730         * modules/sqrtl-tests: New file.
66731         * tests/test-sqrtl.c: New file.
66733         Tests for module 'sinl'.
66734         * modules/sinl-tests: New file.
66735         * tests/test-sinl.c: New file.
66737         Tests for module 'logl'.
66738         * modules/logl-tests: New file.
66739         * tests/test-logl.c: New file.
66741         Tests for module 'expl'.
66742         * modules/expl-tests: New file.
66743         * tests/test-expl.c: New file.
66745         Tests for module 'cosl'.
66746         * modules/cosl-tests: New file.
66747         * tests/test-cosl.c: New file.
66749         Tests for module 'atanl'.
66750         * modules/atanl-tests: New file.
66751         * tests/test-atanl.c: New file.
66753         Tests for module 'asinl'.
66754         * modules/asinl-tests: New file.
66755         * tests/test-asinl.c: New file.
66757         Tests for module 'acosl'.
66758         * modules/acosl-tests: New file.
66759         * tests/test-acosl.c: New file.
66761         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
66762         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
66763         tanl): Use the standard gnulib idiom.
66764         * lib/cosl.c: Don't include trigl.c and sincosl.c.
66765         * lib/sinl.c: Likewise.
66766         * lib/tanl.c: Don't include trigl.c.
66767         (kernel_tanl): Make static.
66768         * lib/sincosl.c: Include trigl.h first.
66769         * lib/trigl.c: Likewise.
66770         * m4/acosl.m4: New file.
66771         * m4/asinl.m4: New file.
66772         * m4/atanl.m4: New file.
66773         * m4/cosl.m4: New file.
66774         * m4/expl.m4: New file.
66775         * m4/logl.m4: New file.
66776         * m4/sinl.m4: New file.
66777         * m4/sqrtl.m4: New file.
66778         * m4/tanl.m4: New file.
66779         * m4/mathl.m4: Remove file.
66780         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
66781         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
66782         Don't initialize GNULIB_MATHL.
66783         * modules/acosl: New file.
66784         * modules/asinl: New file.
66785         * modules/atanl: New file.
66786         * modules/cosl: New file.
66787         * modules/expl: New file.
66788         * modules/logl: New file.
66789         * modules/sinl: New file.
66790         * modules/sqrtl: New file.
66791         * modules/tanl: New file.
66792         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
66793         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
66794         substitute GNULIB_MATHL.
66795         * modules/mathl: Rewritten.
66796         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
66797         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
66798         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
66799         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
66800         * doc/posix-functions/expl.texi: Mention the 'expl' module.
66801         * doc/posix-functions/logl.texi: Mention the 'logl' module.
66802         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
66803         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
66804         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
66806 2010-01-18  Bruno Haible  <bruno@clisp.org>
66808         sqrt: Make gl_FUNC_SQRT requirable.
66809         * m4/sqrt.m4: New file.
66810         * modules/sqrt (Files): Add it.
66811         (configure.ac): Invoke gl_FUNC_SQRT.
66813 2010-01-18  Bruno Haible  <bruno@clisp.org>
66815         New modules for common <math.h> functions.
66816         * m4/mathfunc.m4: New file.
66817         * modules/acos: New file.
66818         * modules/asin: New file.
66819         * modules/atan: New file.
66820         * modules/atan2: New file.
66821         * modules/cbrt: New file.
66822         * modules/copysign: New file.
66823         * modules/cos: New file.
66824         * modules/cosh: New file.
66825         * modules/erf: New file.
66826         * modules/erfc: New file.
66827         * modules/exp: New file.
66828         * modules/fabs: New file.
66829         * modules/fmod: New file.
66830         * modules/hypot: New file.
66831         * modules/j0: New file.
66832         * modules/j1: New file.
66833         * modules/jn: New file.
66834         * modules/ldexp: New file.
66835         * modules/lgamma: New file.
66836         * modules/log: New file.
66837         * modules/log10: New file.
66838         * modules/log1p: New file.
66839         * modules/logb: New file.
66840         * modules/modf: New file.
66841         * modules/nextafter: New file.
66842         * modules/pow: New file.
66843         * modules/remainder: New file.
66844         * modules/rint: New file.
66845         * modules/sin: New file.
66846         * modules/sinh: New file.
66847         * modules/sqrt: New file.
66848         * modules/tan: New file.
66849         * modules/tanh: New file.
66850         * modules/y0: New file.
66851         * modules/y1: New file.
66852         * modules/yn: New file.
66853         * doc/posix-functions/acos.texi: Mention the 'acos' module.
66854         * doc/posix-functions/asin.texi: Mention the 'asin' module.
66855         * doc/posix-functions/atan.texi: Mention the 'atan' module.
66856         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
66857         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
66858         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
66859         * doc/posix-functions/cos.texi: Mention the 'cos' module.
66860         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
66861         * doc/posix-functions/erf.texi: Mention the 'erf' module.
66862         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
66863         * doc/posix-functions/exp.texi: Mention the 'exp' module.
66864         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
66865         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
66866         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
66867         * doc/posix-functions/j0.texi: Mention the 'j0' module.
66868         * doc/posix-functions/j1.texi: Mention the 'j1' module.
66869         * doc/posix-functions/jn.texi: Mention the 'jn' module.
66870         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
66871         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
66872         * doc/posix-functions/log.texi: Mention the 'log' module.
66873         * doc/posix-functions/log10.texi: Mention the 'log10' module.
66874         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
66875         * doc/posix-functions/logb.texi: Mention the 'logb' module.
66876         * doc/posix-functions/modf.texi: Mention the 'modf' module.
66877         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
66878         * doc/posix-functions/pow.texi: Mention the 'pow' module.
66879         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
66880         * doc/posix-functions/rint.texi: Mention the 'rint' module.
66881         * doc/posix-functions/sin.texi: Mention the 'sin' module.
66882         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
66883         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
66884         * doc/posix-functions/tan.texi: Mention the 'tan' module.
66885         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
66886         * doc/posix-functions/y0.texi: Mention the 'y0' module.
66887         * doc/posix-functions/y1.texi: Mention the 'y1' module.
66888         * doc/posix-functions/yn.texi: Mention the 'yn' module.
66890 2010-01-18  Jim Meyering  <meyering@redhat.com>
66892         ignore-value: relax license to LGPLv2+
66893         * modules/ignore-value (License): Relax to LGPLv2+.
66895         getdate: don't leak when TZ contains two or more '"'s
66896         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
66897         double quote in TZ after the first one.
66899         readtokens: do not leak internal token_lengths buffer
66900         * lib/readtokens.c (readtokens): Free the local, lengths,
66901         when the supplied "token_lengths" parameter is NULL.
66903 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66905         Fix a couple of missing LIBTHREAD link failures on AIX.
66906         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
66907         $(LIBTHREAD).
66908         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
66910         Link test-poll against INET_PTON_LIB.
66911         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
66912         for inet_pton on Solaris 10.
66914 2010-01-17  Bruno Haible  <bruno@clisp.org>
66916         unistdio/*-sprintf: Fix typo in module description.
66917         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
66918         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
66919         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
66920         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
66921         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
66922         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
66923         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
66924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66926 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66928         gnulib-tool: fix filelist for AIX, HP-UX ksh.
66929         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
66930         variables in shell case patterns, for AIX and HP-UX ksh.
66932         Split large sed scripts, for HP-UX sed.
66933         * modules/stdio: Split sed scripts around 50 sed commands,
66934         to avoid HP-UX limit of 99 commands, in the near future.
66935         * modules/string: Likewise.
66936         * modules/unistd: Likewise.
66938         gnulib-tool: avoid writing in the current directory.
66939         * gnulib-tool (func_emit_lib_Makefile_am)
66940         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
66941         not in the current directory, so concurrent gnulib-tool
66942         instances do not interfere.
66944 2010-01-16  Jim Meyering  <meyering@redhat.com>
66946         doc: update users.txt
66947         * users.txt: Add grep.
66948         (diffutils, gzip): Update URLs.
66950 2010-01-12  Bruno Haible  <bruno@clisp.org>
66952         posix_spawn: Avoid test failure on Cygwin.
66953         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
66954         characters.
66955         Reported by Simon Josefsson.
66957 2010-01-12  Bruno Haible  <bruno@clisp.org>
66959         * tests/test-cond.c (main): When skipping the test, show the reason.
66961 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66963         * lib/striconv.c (str_cd_iconv): Avoid if before free.
66965 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66967         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
66968         VC_LIST_ALWAYS_EXCLUDE_REGEX.
66970 2010-01-12  Eric Blake  <ebb9@byu.net>
66972         build: guarantee AS_VAR_IF
66973         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
66974         (gl_AS_VAR_IF): Move...
66975         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
66976         Reported by Simon Josefsson.
66978 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66980         * lib/stdio.in.h: Fix typo.
66982 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66984         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
66985         libgpg-error.
66987 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66989         * tests/test-xalloc-die.sh: Use $EXEEXT.
66991 2010-01-12  Simon Josefsson  <simon@josefsson.org>
66992             Bruno Haible  <bruno@clisp.org>
66994         getlogin, getlogin_r: Avoid test failure.
66995         * tests/test-getlogin.c: Include <stdio.h>.
66996         (main): Skip the test when the function fails because stdin is not a
66997         tty.
66998         * tests/test-getlogin_r.c: Include <stdio.h>.
66999         (main): Skip the test when the function fails because stdin is not a
67000         tty.
67002 2010-01-11  Eric Blake  <ebb9@byu.net>
67004         tests: avoid more large file warnings
67005         * tests/test-fflush.c: Avoid warning about ftell use.
67006         * tests/test-fseek.c: Avoid warning about fseek use.
67008 2010-01-10  Bruno Haible  <bruno@clisp.org>
67010         nproc: Work better on Linux when /proc and /sys are not mounted.
67011         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
67012         as lower bound when, on glibc/Linux systems,
67013         sysconf (_SC_NPROCESSORS_CONF) returns 1.
67014         Suggested by Pádraig Brady <P@draigbrady.com>.
67015         Reported by Dmitry V. Levin <ldv@altlinux.org>.
67017         nproc: Refactor.
67018         * lib/nproc.c (num_processors_via_affinity_mask): New function,
67019         extracted from num_processors.
67020         (num_processors): Call it.
67022 2010-01-11  Jim Meyering  <meyering@redhat.com>
67024         utimecmp: avoid new warning from upcoming gcc-4.5.0
67025         * lib/utimecmp.c (BILLION): Define using #define rather than an
67026         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
67028 2010-01-11  Eric Blake  <ebb9@byu.net>
67030         math: add portability warnings for classification macros
67031         * modules/math (Depends-on): Add warn-on-use.
67032         (Makefile.am): Provide new substitutions.
67033         * m4/math_h.m4 (gl_MATH_H): Require inline.
67034         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
67035         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
67036         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
67037         implement warnings.
67039         unistd: warn on use of environ without module
67040         * modules/unistd (Depends-on): Add warn-on-use.
67041         (Makefile.am): Provide new substitutions.
67042         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
67043         * lib/unistd.in.h (environ): Wrap with a warning helper function.
67045         stdio: warn on suspicious uses
67046         * modules/stdio (Depends-on): Add warn-on-use.
67047         (Makefile.am): Provide new substitutions.
67048         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
67049         fseeko.
67050         * lib/stdio.in.h (gets): Always warn on use.
67051         (fseek, ftell): Adjust when warnings are issued, and honor
67052         _GL_NO_LARGE_FILES as a way to silence the warning.
67053         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
67054         any warning about large file offsets.
67055         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
67056         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
67057         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
67058         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
67059         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
67060         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
67061         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
67062         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
67064         warn-on-use: new module
67065         * modules/warn-on-use: New file.
67066         * build-aux/warn-on-use.h: Likewise.
67067         * m4/warn-on-use.m4: Likewise.
67068         * MODULES.html.sh (Support for building): Mention it.
67070 2010-01-10  Bruno Haible  <bruno@clisp.org>
67072         Tests for module 'unistr/u32-strdup'.
67073         * modules/unistr/u32-strdup-tests: New file.
67074         * tests/unistr/test-u32-strdup.c: New file.
67076         Tests for module 'unistr/u16-strdup'.
67077         * modules/unistr/u16-strdup-tests: New file.
67078         * tests/unistr/test-u16-strdup.c: New file.
67080         Tests for module 'unistr/u8-strdup'.
67081         * modules/unistr/u8-strdup-tests: New file.
67082         * tests/unistr/test-u8-strdup.c: New file.
67083         * tests/unistr/test-strdup.h: New file.
67085         Tests for module 'unistr/u32-strncmp'.
67086         * modules/unistr/u32-strncmp-tests: New file.
67087         * tests/unistr/test-u32-strncmp.c: New file.
67089         Tests for module 'unistr/u16-strncmp'.
67090         * modules/unistr/u16-strncmp-tests: New file.
67091         * tests/unistr/test-u16-strncmp.c: New file.
67093         Tests for module 'unistr/u8-strncmp'.
67094         * modules/unistr/u8-strncmp-tests: New file.
67095         * tests/unistr/test-u8-strncmp.c: New file.
67096         * tests/unistr/test-strncmp.h: New file.
67098         Tests for module 'unistr/u32-strcoll'.
67099         * modules/unistr/u32-strcoll-tests: New file.
67100         * tests/unistr/test-u32-strcoll.c: New file.
67102         Tests for module 'unistr/u16-strcoll'.
67103         * modules/unistr/u16-strcoll-tests: New file.
67104         * tests/unistr/test-u16-strcoll.c: New file.
67106         Tests for module 'unistr/u8-strcoll'.
67107         * modules/unistr/u8-strcoll-tests: New file.
67108         * tests/unistr/test-u8-strcoll.c: New file.
67110         Tests for module 'unistr/u32-strcmp'.
67111         * modules/unistr/u32-strcmp-tests: New file.
67112         * tests/unistr/test-u32-strcmp.c: New file.
67113         * tests/unistr/test-u32-strcmp.h: New file.
67115         Tests for module 'unistr/u16-strcmp'.
67116         * modules/unistr/u16-strcmp-tests: New file.
67117         * tests/unistr/test-u16-strcmp.c: New file.
67118         * tests/unistr/test-u16-strcmp.h: New file.
67120         Tests for module 'unistr/u8-strcmp'.
67121         * modules/unistr/u8-strcmp-tests: New file.
67122         * tests/unistr/test-u8-strcmp.c: New file.
67123         * tests/unistr/test-u8-strcmp.h: New file.
67124         * tests/unistr/test-strcmp.h: New file.
67126         Tests for module 'unistr/u32-strncat'.
67127         * modules/unistr/u32-strncat-tests: New file.
67128         * tests/unistr/test-u32-strncat.c: New file.
67130         Tests for module 'unistr/u16-strncat'.
67131         * modules/unistr/u16-strncat-tests: New file.
67132         * tests/unistr/test-u16-strncat.c: New file.
67134         Tests for module 'unistr/u8-strncat'.
67135         * modules/unistr/u8-strncat-tests: New file.
67136         * tests/unistr/test-u8-strncat.c: New file.
67137         * tests/unistr/test-strncat.h: New file.
67139         Tests for module 'unistr/u32-strcat'.
67140         * modules/unistr/u32-strcat-tests: New file.
67141         * tests/unistr/test-u32-strcat.c: New file.
67143         Tests for module 'unistr/u16-strcat'.
67144         * modules/unistr/u16-strcat-tests: New file.
67145         * tests/unistr/test-u16-strcat.c: New file.
67147         Tests for module 'unistr/u8-strcat'.
67148         * modules/unistr/u8-strcat-tests: New file.
67149         * tests/unistr/test-u8-strcat.c: New file.
67150         * tests/unistr/test-strcat.h: New file.
67152         Tests for module 'unistr/u32-stpncpy'.
67153         * modules/unistr/u32-stpncpy-tests: New file.
67154         * tests/unistr/test-u32-stpncpy.c: New file.
67156         Tests for module 'unistr/u16-stpncpy'.
67157         * modules/unistr/u16-stpncpy-tests: New file.
67158         * tests/unistr/test-u16-stpncpy.c: New file.
67160         Tests for module 'unistr/u8-stpncpy'.
67161         * modules/unistr/u8-stpncpy-tests: New file.
67162         * tests/unistr/test-u8-stpncpy.c: New file.
67163         * tests/unistr/test-stpncpy.h: New file.
67165         Tests for module 'unistr/u32-strncpy'.
67166         * modules/unistr/u32-strncpy-tests: New file.
67167         * tests/unistr/test-u32-strncpy.c: New file.
67169         Tests for module 'unistr/u16-strncpy'.
67170         * modules/unistr/u16-strncpy-tests: New file.
67171         * tests/unistr/test-u16-strncpy.c: New file.
67173         Tests for module 'unistr/u8-strncpy'.
67174         * modules/unistr/u8-strncpy-tests: New file.
67175         * tests/unistr/test-u8-strncpy.c: New file.
67176         * tests/unistr/test-strncpy.h: New file.
67178         Tests for module 'unistr/u32-stpcpy'.
67179         * modules/unistr/u32-stpcpy-tests: New file.
67180         * tests/unistr/test-u32-stpcpy.c: New file.
67182         Tests for module 'unistr/u16-stpcpy'.
67183         * modules/unistr/u16-stpcpy-tests: New file.
67184         * tests/unistr/test-u16-stpcpy.c: New file.
67186         Tests for module 'unistr/u8-stpcpy'.
67187         * modules/unistr/u8-stpcpy-tests: New file.
67188         * tests/unistr/test-u8-stpcpy.c: New file.
67189         * tests/unistr/test-stpcpy.h: New file.
67191         Tests for module 'unistr/u32-strcpy'.
67192         * modules/unistr/u32-strcpy-tests: New file.
67193         * tests/unistr/test-u32-strcpy.c: New file.
67195         Tests for module 'unistr/u16-strcpy'.
67196         * modules/unistr/u16-strcpy-tests: New file.
67197         * tests/unistr/test-u16-strcpy.c: New file.
67199         Tests for module 'unistr/u8-strcpy'.
67200         * modules/unistr/u8-strcpy-tests: New file.
67201         * tests/unistr/test-u8-strcpy.c: New file.
67202         * tests/unistr/test-strcpy.h: New file.
67204         Tests for module 'unistr/u32-strnlen'.
67205         * modules/unistr/u32-strnlen-tests: New file.
67206         * tests/unistr/test-u32-strnlen.c: New file.
67208         Tests for module 'unistr/u16-strnlen'.
67209         * modules/unistr/u16-strnlen-tests: New file.
67210         * tests/unistr/test-u16-strnlen.c: New file.
67212         Tests for module 'unistr/u8-strnlen'.
67213         * modules/unistr/u8-strnlen-tests: New file.
67214         * tests/unistr/test-u8-strnlen.c: New file.
67215         * tests/unistr/test-strnlen.h: New file.
67217         Tests for module 'unistr/u32-strlen'.
67218         * modules/unistr/u32-strlen-tests: New file.
67219         * tests/unistr/test-u32-strlen.c: New file.
67221         Tests for module 'unistr/u16-strlen'.
67222         * modules/unistr/u16-strlen-tests: New file.
67223         * tests/unistr/test-u16-strlen.c: New file.
67225         Tests for module 'unistr/u8-strlen'.
67226         * modules/unistr/u8-strlen-tests: New file.
67227         * tests/unistr/test-u8-strlen.c: New file.
67229         Tests for module 'unistr/u32-prev'.
67230         * modules/unistr/u32-prev-tests: New file.
67231         * tests/unistr/test-u32-prev.c: New file.
67233         Tests for module 'unistr/u16-prev'.
67234         * modules/unistr/u16-prev-tests: New file.
67235         * tests/unistr/test-u16-prev.c: New file.
67237         Tests for module 'unistr/u8-prev'.
67238         * modules/unistr/u8-prev-tests: New file.
67239         * tests/unistr/test-u8-prev.c: New file.
67241         Tests for module 'unistr/u32-next'.
67242         * modules/unistr/u32-next-tests: New file.
67243         * tests/unistr/test-u32-next.c: New file.
67245         Tests for module 'unistr/u16-next'.
67246         * modules/unistr/u16-next-tests: New file.
67247         * tests/unistr/test-u16-next.c: New file.
67249         Tests for module 'unistr/u8-next'.
67250         * modules/unistr/u8-next-tests: New file.
67251         * tests/unistr/test-u8-next.c: New file.
67253         Tests for module 'unistr/u32-strmbtouc'.
67254         * modules/unistr/u32-strmbtouc-tests: New file.
67255         * tests/unistr/test-u32-strmbtouc.c: New file.
67257         Tests for module 'unistr/u16-strmbtouc'.
67258         * modules/unistr/u16-strmbtouc-tests: New file.
67259         * tests/unistr/test-u16-strmbtouc.c: New file.
67261         Tests for module 'unistr/u8-strmbtouc'.
67262         * modules/unistr/u8-strmbtouc-tests: New file.
67263         * tests/unistr/test-u8-strmbtouc.c: New file.
67265         Tests for module 'unistr/u32-strmblen'.
67266         * modules/unistr/u32-strmblen-tests: New file.
67267         * tests/unistr/test-u32-strmblen.c: New file.
67269         Tests for module 'unistr/u16-strmblen'.
67270         * modules/unistr/u16-strmblen-tests: New file.
67271         * tests/unistr/test-u16-strmblen.c: New file.
67273         Tests for module 'unistr/u8-strmblen'.
67274         * modules/unistr/u8-strmblen-tests: New file.
67275         * tests/unistr/test-u8-strmblen.c: New file.
67277         Tests for module 'unistr/u32-cpy-alloc'.
67278         * modules/unistr/u32-cpy-alloc-tests: New file.
67279         * tests/unistr/test-u32-cpy-alloc.c: New file.
67281         Tests for module 'unistr/u16-cpy-alloc'.
67282         * modules/unistr/u16-cpy-alloc-tests: New file.
67283         * tests/unistr/test-u16-cpy-alloc.c: New file.
67285         Tests for module 'unistr/u8-cpy-alloc'.
67286         * modules/unistr/u8-cpy-alloc-tests: New file.
67287         * tests/unistr/test-u8-cpy-alloc.c: New file.
67288         * tests/unistr/test-cpy-alloc.h: New file.
67290         Tests for module 'unistr/u32-mbsnlen'.
67291         * modules/unistr/u32-mbsnlen-tests: New file.
67292         * tests/unistr/test-u32-mbsnlen.c: New file.
67294         Tests for module 'unistr/u16-mbsnlen'.
67295         * modules/unistr/u16-mbsnlen-tests: New file.
67296         * tests/unistr/test-u16-mbsnlen.c: New file.
67298         Tests for module 'unistr/u8-mbsnlen'.
67299         * modules/unistr/u8-mbsnlen-tests: New file.
67300         * tests/unistr/test-u8-mbsnlen.c: New file.
67302         Tests for module 'unistr/u32-chr'.
67303         * modules/unistr/u32-chr-tests: New file.
67304         * tests/unistr/test-u32-chr.c: New file.
67306         Tests for module 'unistr/u16-chr'.
67307         * modules/unistr/u16-chr-tests: New file.
67308         * tests/unistr/test-u16-chr.c: New file.
67310         Tests for module 'unistr/u8-chr'.
67311         * modules/unistr/u8-chr-tests: New file.
67312         * tests/unistr/test-u8-chr.c: New file.
67313         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
67315         Tests for module 'unistr/u32-cmp2'.
67316         * modules/unistr/u32-cmp2-tests: New file.
67317         * tests/unistr/test-u32-cmp2.c: New file.
67319         Tests for module 'unistr/u16-cmp2'.
67320         * modules/unistr/u16-cmp2-tests: New file.
67321         * tests/unistr/test-u16-cmp2.c: New file.
67323         Tests for module 'unistr/u8-cmp2'.
67324         * modules/unistr/u8-cmp2-tests: New file.
67325         * tests/unistr/test-u8-cmp2.c: New file.
67326         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
67328         Tests for module 'unistr/u32-cmp'.
67329         * modules/unistr/u32-cmp-tests: New file.
67330         * tests/unistr/test-u32-cmp.c: New file.
67332         Tests for module 'unistr/u16-cmp'.
67333         * modules/unistr/u16-cmp-tests: New file.
67334         * tests/unistr/test-u16-cmp.c: New file.
67336         Tests for module 'unistr/u8-cmp'.
67337         * modules/unistr/u8-cmp-tests: New file.
67338         * tests/unistr/test-u8-cmp.c: New file.
67339         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
67341         Tests for module 'unistr/u32-set'.
67342         * modules/unistr/u32-set-tests: New file.
67343         * tests/unistr/test-u32-set.c: New file.
67345         Tests for module 'unistr/u16-set'.
67346         * modules/unistr/u16-set-tests: New file.
67347         * tests/unistr/test-u16-set.c: New file.
67349         Tests for module 'unistr/u8-set'.
67350         * modules/unistr/u8-set-tests: New file.
67351         * tests/unistr/test-u8-set.c: New file.
67352         * tests/unistr/test-set.h: New file.
67354         Tests for module 'unistr/u32-move'.
67355         * modules/unistr/u32-move-tests: New file.
67356         * tests/unistr/test-u32-move.c: New file.
67358         Tests for module 'unistr/u16-move'.
67359         * modules/unistr/u16-move-tests: New file.
67360         * tests/unistr/test-u16-move.c: New file.
67362         Tests for module 'unistr/u8-move'.
67363         * modules/unistr/u8-move-tests: New file.
67364         * tests/unistr/test-u8-move.c: New file.
67365         * tests/unistr/test-move.h: New file.
67367         Tests for module 'unistr/u32-cpy'.
67368         * modules/unistr/u32-cpy-tests: New file.
67369         * tests/unistr/test-u32-cpy.c: New file.
67371         Tests for module 'unistr/u16-cpy'.
67372         * modules/unistr/u16-cpy-tests: New file.
67373         * tests/unistr/test-u16-cpy.c: New file.
67375         Tests for module 'unistr/u8-cpy'.
67376         * modules/unistr/u8-cpy-tests: New file.
67377         * tests/unistr/test-u8-cpy.c: New file.
67378         * tests/unistr/test-cpy.h: New file.
67380 2010-01-09  Bruno Haible  <bruno@clisp.org>
67382         Tests for module 'unistr/u32-uctomb'.
67383         * modules/unistr/u32-uctomb-tests: New file.
67384         * tests/unistr/test-u32-uctomb.c: New file.
67386         Tests for module 'unistr/u16-uctomb'.
67387         * modules/unistr/u16-uctomb-tests: New file.
67388         * tests/unistr/test-u16-uctomb.c: New file.
67390         Tests for module 'unistr/u8-uctomb'.
67391         * modules/unistr/u8-uctomb-tests: New file.
67392         * tests/unistr/test-u8-uctomb.c: New file.
67394         Tests for module 'unistr/u32-mbtoucr'.
67395         * modules/unistr/u32-mbtoucr-tests: New file.
67396         * tests/unistr/test-u32-mbtoucr.c: New file.
67398         Tests for module 'unistr/u16-mbtoucr'.
67399         * modules/unistr/u16-mbtoucr-tests: New file.
67400         * tests/unistr/test-u16-mbtoucr.c: New file.
67402         Tests for module 'unistr/u8-mbtoucr'.
67403         * modules/unistr/u8-mbtoucr-tests: New file.
67404         * tests/unistr/test-u8-mbtoucr.c: New file.
67406         Tests for module 'unistr/u32-mbtouc'.
67407         * modules/unistr/u32-mbtouc-tests: New file.
67408         * tests/unistr/test-u32-mbtouc.c: New file.
67410         Tests for module 'unistr/u16-mbtouc'.
67411         * modules/unistr/u16-mbtouc-tests: New file.
67412         * tests/unistr/test-u16-mbtouc.c: New file.
67414         Tests for module 'unistr/u8-mbtouc'.
67415         * modules/unistr/u8-mbtouc-tests: New file.
67416         * tests/unistr/test-u8-mbtouc.c: New file.
67418         Tests for module 'unistr/u32-mbtouc-unsafe'.
67419         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
67420         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
67421         * tests/unistr/test-u32-mbtouc.h: New file.
67423         Tests for module 'unistr/u16-mbtouc-unsafe'.
67424         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
67425         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
67426         * tests/unistr/test-u16-mbtouc.h: New file.
67428         Tests for module 'unistr/u8-mbtouc-unsafe'.
67429         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
67430         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
67431         * tests/unistr/test-u8-mbtouc.h: New file.
67433         Tests for module 'unistr/u32-mblen'.
67434         * modules/unistr/u32-mblen-tests: New file.
67435         * tests/unistr/test-u32-mblen.c: New file.
67437         Tests for module 'unistr/u16-mblen'.
67438         * modules/unistr/u16-mblen-tests: New file.
67439         * tests/unistr/test-u16-mblen.c: New file.
67441         Tests for module 'unistr/u8-mblen'.
67442         * modules/unistr/u8-mblen-tests: New file.
67443         * tests/unistr/test-u8-mblen.c: New file.
67445         Tests for module 'unistr/u32-to-u16'.
67446         * modules/unistr/u32-to-u16-tests: New file.
67447         * tests/unistr/test-u32-to-u16.c: New file.
67449         Tests for module 'unistr/u32-to-u8'.
67450         * modules/unistr/u32-to-u8-tests: New file.
67451         * tests/unistr/test-u32-to-u8.c: New file.
67453         Tests for module 'unistr/u16-to-u32'.
67454         * modules/unistr/u16-to-u32-tests: New file.
67455         * tests/unistr/test-u16-to-u32.c: New file.
67457         Tests for module 'unistr/u16-to-u8'.
67458         * modules/unistr/u16-to-u8-tests: New file.
67459         * tests/unistr/test-u16-to-u8.c: New file.
67461         Tests for module 'unistr/u8-to-u32'.
67462         * modules/unistr/u8-to-u32-tests: New file.
67463         * tests/unistr/test-u8-to-u32.c: New file.
67465         Tests for module 'unistr/u8-to-u16'.
67466         * modules/unistr/u8-to-u16-tests: New file.
67467         * tests/unistr/test-u8-to-u16.c: New file.
67469         Tests for module 'unistr/u32-check'.
67470         * modules/unistr/u32-check-tests: New file.
67471         * tests/unistr/test-u32-check.c: New file.
67473         Tests for module 'unistr/u16-check'.
67474         * modules/unistr/u16-check-tests: New file.
67475         * tests/unistr/test-u16-check.c: New file.
67477         Tests for module 'unistr/u8-check'.
67478         * modules/unistr/u8-check-tests: New file.
67479         * tests/unistr/test-u8-check.c: New file.
67481         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
67482         (category_equals): New function.
67483         (main): Add more tests.
67484         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
67486         * tests/unictype/test-bidi_byname.c (main): Add more tests.
67488 2010-01-10  Bruno Haible  <bruno@clisp.org>
67490         unistr/u*-strcoll: Try harder to distinguish different strings.
67491         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
67492         compare s1 and s2 to see if they are different.
67494 2010-01-10  Bruno Haible  <bruno@clisp.org>
67496         unistr/u*-stpncpy: Fix the return value.
67497         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
67498         description of the return value consistent with stpncpy in glibc.
67499         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
67500         written non-NUL unit.
67502 2010-01-10  Bruno Haible  <bruno@clisp.org>
67504         unistr/u*-next: Add missing dependencies.
67505         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
67506         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
67507         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
67509 2010-01-10  Bruno Haible  <bruno@clisp.org>
67511         unistr/u8-mbsnlen: Fix return value for incomplete character.
67512         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
67513         u8_mblen.
67514         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
67515         Remove unistr/u8-mblen.
67516         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
67517         u16_mblen.
67518         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
67519         Remove unistr/u16-mblen.
67521 2010-01-10  Bruno Haible  <bruno@clisp.org>
67523         wchar: Fix compilation error when <wchar.h> is used from coreutils.
67524         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
67525         Reported by Brian Gough <bjg@gnu.org> and
67526         Chris Clayton <chris2553@googlemail.com> via
67527         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
67529 2010-01-09  Bruno Haible  <bruno@clisp.org>
67531         unistr/u16-to-u32: Reject invalid input.
67532         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
67533         u16_mbtouc.
67534         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
67535         Remove unistr/u16-mbtouc.
67537         unistr/u16-to-u8: Reject invalid input.
67538         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
67539         u16_mbtouc.
67540         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
67541         Remove unistr/u16-mbtouc.
67543         unistr/u8-to-u32: Reject invalid input.
67544         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
67545         u8_mbtouc.
67546         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
67547         Remove unistr/u8-mbtouc.
67549         unistr/u8-to-u16: Reject invalid input.
67550         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
67551         u8_mbtouc.
67552         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
67553         Remove unistr/u8-mbtouc.
67555 2010-01-09  Bruno Haible  <bruno@clisp.org>
67557         Tests for module 'getlogin'.
67558         * modules/getlogin-tests: New file.
67559         * tests/test-getlogin.c: New file.
67561         New module 'getlogin'.
67562         * lib/unistd.in.h (getlogin): New declaration.
67563         * lib/getlogin.c: New file.
67564         * m4/getlogin.m4: New file.
67565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
67566         HAVE_GETLOGIN.
67567         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
67568         HAVE_GETLOGIN.
67569         * modules/getlogin: New file.
67570         * doc/posix-functions/getlogin.texi: Mention the new module.
67571         Reported by John W. Eaton <jwe@gnu.org>.
67573 2010-01-09  Bruno Haible  <bruno@clisp.org>
67575         getlogin_r: Support for native Windows.
67576         * lib/getlogin_r.c: Include <windows.h>
67577         (getlogin_r): Implement for native Windows.
67578         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
67579         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
67580         via John W. Eaton <jwe@gnu.org>.
67582 2010-01-09  Bruno Haible  <bruno@clisp.org>
67584         getlogin_r: Small fixes.
67585         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
67586         succeeds.
67587         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
67588         before testing whether getlogin_r is declared. No need to set
67589         HAVE_DECL_GETLOGIN_R to 1.
67590         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
67592 2010-01-09  Bruno Haible  <bruno@clisp.org>
67594         * lib/unistd.in.h (getlogin_r): Add comment.
67596 2010-01-09  Bruno Haible  <bruno@clisp.org>
67598         Tests for module 'getlogin_r'.
67599         * modules/getlogin_r-tests: New file.
67600         * tests/test-getlogin_r.c: New file.
67602 2010-01-09  Jim Meyering  <meyering@redhat.com>
67604         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
67605         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
67606         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
67608 2010-01-08  Simon Josefsson  <simon@josefsson.org>
67610         * lib/dup2.c (rpl_dup2): Improve comment.
67612 2010-01-08  Eric Blake  <ebb9@byu.net>
67614         maint.mk: allow packages to add makefile @@ exceptions
67615         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
67616         (sc_makefile_check): Rename...
67617         (sc_makefile_at_at_check): ...to this, and use hook.
67619         dup2: work around mingw bug
67620         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
67621         Reported by Simon Josefsson.
67623 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
67625         glob: Fix C++ compilation.
67626         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
67627         C++.
67629 2010-01-07  Bruno Haible  <bruno@clisp.org>
67631         Fix indentation of wctype.in.h, broken since 2007-01-06.
67632         * lib/wctype.in.h: Fix indentation of preprocessor directives.
67634 2010-01-07  Bruno Haible  <bruno@clisp.org>
67636         mbslen: Avoid collision with system function.
67637         * lib/string.in.h [MirBSD]: Include <wchar.h>.
67638         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
67639         * m4/mbslen.m4: New file.
67640         * modules/mbslen (Files): Add it.
67641         (configure.ac): Invoke gl_MBSLEN.
67642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
67643         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
67644         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
67645         via Ian Beckwith <ianb@erislabs.net>.
67647 2010-01-07  Bruno Haible  <bruno@clisp.org>
67649         dirent: Document the last fix.
67650         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
67652 2010-01-07  Bruno Haible  <bruno@clisp.org>
67654         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
67655         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
67656         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
67657         va_list are defined.
67658         * doc/posix-headers/stdio.texi: Document the bug of missing types.
67659         Reported by Eric Blake.
67661 2010-01-07  Bruno Haible  <bruno@clisp.org>
67663         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
67664         * modules/xlist (Depends-on): Add 'list',
67665         * modules/xoset (Depends-on): Add 'oset'.
67666         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67668 2010-01-07  Bruno Haible  <bruno@clisp.org>
67670         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
67671         * doc/posix-functions/strncasecmp.texi: Likewise.
67673 2010-01-07  Bruno Haible  <bruno@clisp.org>
67675         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
67677 2010-01-07  John W. Eaton  <jwe@octave.org>
67679         wctype: allow C++ use
67680         * lib/wctype.in.h: Add extern "C" block for C++.
67682 2010-01-06  Eric Blake  <ebb9@byu.net>
67684         maint.mk: detect incorrect GFDL usage
67685         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
67687 2010-01-06  Jim Meyering  <meyering@redhat.com>
67688         and Eric Blake  <ebb9@byu.net>
67690         maint.mk: ignore multi-line copyright in NEWS
67691         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
67693 2010-01-06  Eric Blake  <ebb9@byu.net>
67695         select: add missing dependency
67696         * modules/select-tests (Depends-on): Move sockets dependency...
67697         * modules/select (Depends-on): ...here.
67698         Reported by Ian Beckwith.
67700         doc: regenerate INSTALL
67701         * doc/INSTALL: Reflect recent autoconf update.
67702         * doc/INSTALL.ISO: Likewise.
67703         * doc/INSTALL.UTF-8: Likewise.
67705         pread: fix compilation on glibc
67706         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
67707         Reported by Ralf Wildenhues.
67709         dirent: fix test failure
67710         * lib/dirent.in.h (includes): Guarantee ino_t.
67711         Reported by Ralf Wildenhues.
67713 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
67715         linkat, renameat: avoid bad free
67716         * lib/at-func2.c (at_func2): Fix typo.
67717         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
67719 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67721         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
67722         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
67723         to avoid failure of symlink test later.
67725 2010-01-06  Eric Blake  <ebb9@byu.net>
67727         stdio, unistd: guarantee ssize_t
67728         * lib/unistd.in.h (includes): Ensure that types required by POSIX
67729         2008 are exposed when needed.
67730         * lib/stdio.in.h (includes): Likewise.
67731         Reported by Ralf Wildenhues.
67733 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
67735         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
67736         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
67737         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
67739 2010-01-06  Jim Meyering  <meyering@redhat.com>
67741         readtokens: this module *does* require xalloc.h
67742         It uses only functions that were omitted by the old syntax-check rule.
67743         * lib/readtokens.c: Include "xalloc.h" once again.
67744         * modules/readtokens (Depends-on): Add xalloc.
67745         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
67747 2010-01-05  Eric Blake  <ebb9@byu.net>
67749         maint: support 'make announcement' from a VPATH build
67750         * top/maint.mk (announcement): Look for correct NEWS file.
67752 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
67754         utimens (fdutimens): ignore a negative FD, per contract
67755         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
67756         when we have a valid file descriptor.  Otherwise, using a brand
67757         new glibc (with just-patched futimens that now fails with EBADF)
67758         would cause this function to fail with ENOSYS.
67759         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
67760         See also http://bugzilla.redhat.com/552320.
67762 2010-01-05  Eric Blake  <ebb9@byu.net>
67764         strcase: document what it provides
67765         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
67766         gnulib module.
67767         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
67768         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
67770 2010-01-05  Jim Meyering  <meyering@redhat.com>
67772         maint: remove useless inclusions of "xalloc.h"
67773         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
67774         * lib/readtokens.c: Likewise.
67775         * lib/same.c: Likewise.
67776         * modules/getloadavg (Depends-on): Remove xalloc.
67777         * modules/readtokens: Likewise.
67778         * modules/same: Likewise.
67780         maint.mk: include 4 more function names in alloca.h-checking regexp
67781         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
67782         regexp.  Before, we would give a false-positive (saying alloca.h
67783         is included unnecessarily) when the only uses involved omitted symbols.
67785         xalloc.h: use consistent formatting
67786         * lib/xalloc.h: Move declarations to start in the first column.
67788 2010-01-05  Eric Blake  <ebb9@byu.net>
67790         mkdir: avoid xalloc
67791         * lib/mkdir.c (includes): Drop unused header.
67792         Reported by John W. Eaton.
67794 2010-01-04  Jim Meyering  <meyering@redhat.com>
67796         nl_langinfo: avoid configure-time syntax error
67797         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
67798         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
67799         the empty string.  Don't let that provoke a shell syntax error.
67801         regcomp, regexec, fnmatch: avoid array bounds read error
67802         * lib/regcomp.c (build_equiv_class): From glibc:
67803         Use only the low 24 bits of a findidx return value as an index
67804         into the weights array.  Patch by Ulrich Drepper:
67805         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
67806         * lib/regexec.c (check_node_accept_bytes): Likewise.
67807         * lib/fnmatch_loop.c (FCT): Likewise.
67809         regcomp: skip collseq lookup when there are no rules
67810         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
67811         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
67813         regcomp: recognize ill-formed { } expressions
67814         * lib/regcomp.c (parse_dup_op): From glibc:
67815         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
67817         regcomp: fix typo in comment
67818         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
67819         s/satisfy/satisfies/.
67821         regcomp: sync from glibc: remove dead store
67822         * lib/regcomp.c (duplicate_node_closure): Remove useless
67823         search_duplicated_node call and dead store.
67825         regcomp: sync from glibc; always use nl_langinfo
67826         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
67827         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
67828         * modules/regex (Depends-on): Add nl_langinfo.
67830 2010-01-04  Eric Blake  <ebb9@byu.net>
67832         fdopendir: fix configure test
67833         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
67835 2010-01-01  Bruno Haible  <bruno@clisp.org>
67837         wchar: Remove unused configure check.
67838         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
67840 2010-01-01  Eric Blake  <ebb9@byu.net>
67842         headers: make check of system header explicit
67843         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
67844         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
67845         ourselves.
67846         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67847         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67848         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
67849         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
67850         internals.
67851         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
67852         missing.
67853         Suggested by Bruno Haible.
67855 2010-01-01  Jim Meyering  <meyering@redhat.com>
67857         ChangeLog: tweak to eliminate unnecessary copyright line
67858         * ChangeLog: Remove a copyright line that was mistakenly updated
67859         by today's update-copyright run.  Reported by Eric Blake.
67861         test-update-copyright: don't let envvar setting cause test failure
67862         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
67864 2010-01-01  Bruno Haible  <bruno@clisp.org>
67866         localename: Avoid gcc warning.
67867         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
67868         function if it is not used.
67870 2010-01-01  Jim Meyering  <meyering@redhat.com>
67872         update nearly all FSF copyright year lists to include 2010
67873         Use the same procedure as for 2009, outlined in
67874         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
67876         version-etc: set COPYRIGHT_YEAR to 2010
67877         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
67879 2009-12-31  Eric Blake  <ebb9@byu.net>
67881         doc: correct availability of cygwin 1.5.x getopt
67882         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
67883         variables.
67884         * doc/posix-functions/opterr.texi (opterr): Likewise.
67885         * doc/posix-functions/optind.texi (optind): Likewise.
67886         * doc/posix-functions/optopt.texi (optopt): Likewise.
67887         * doc/posix-functions/tzname.texi (tzname): Likewise.
67889         openat: update maintainer
67890         * modules/openat (Maintainer): Add myself.
67892         utimens: avoid shadowing warning
67893         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
67894         buffers into one, to avoid shadowing, as well as avoiding a
67895         redundant stat.
67896         Reported by Jim Meyering.
67898         test-dup2: avoid compiler warning
67899         * tests/test-dup2.c (is_inheritable): Only define if used.
67901 2010-01-01  Bruno Haible  <bruno@clisp.org>
67903         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
67904         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
67905         defined, use wctomb instead of wcrtomb.
67907 2010-01-01  Bruno Haible  <bruno@clisp.org>
67909         iconv: Reject native Solaris iconv.
67910         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
67911         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
67913 2009-12-31  Bruno Haible  <bruno@clisp.org>
67915         * tests/test-signal.c (main): Remove test of 'SIG'.
67917 2009-12-31  Bruno Haible  <bruno@clisp.org>
67919         spawn: Fix incomplete fix.
67920         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
67921         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
67922         warnings for GNULIB_POSIXCHECK again.
67923         Reported by Eric Blake.
67925 2009-12-31  Bruno Haible  <bruno@clisp.org>
67927         Avoid namespace pollution on glibc systems.
67928         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
67929         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
67930         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
67931         glibc systems.
67933 2009-12-31  Bruno Haible  <bruno@clisp.org>
67935         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
67936         (gl_REPLACE_WCHAR_H): Turn into a no-op.
67937         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
67938         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
67939         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
67940         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
67941         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
67943 2009-12-31  Bruno Haible  <bruno@clisp.org>
67945         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
67946         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
67947         afterwards.
67949 2009-12-31  Bruno Haible  <bruno@clisp.org>
67951         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
67952         SYS_UTSNAME_H.
67954 2009-12-31  Bruno Haible  <bruno@clisp.org>
67956         spawn: Fix misapplied patch.
67957         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
67958         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
67959         warnings for GNULIB_POSIXCHECK.
67961 2009-12-31  Bruno Haible  <bruno@clisp.org>
67963         times: Update after sys_times changed.
67964         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
67965         * modules/times (Files): Add it.
67966         (configure.ac): Invoke gl_FUNC_TIMES.
67968 2009-12-31  Bruno Haible  <bruno@clisp.org>
67970         Use AC_C_INLINE where necessary.
67971         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
67972         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
67973         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
67974         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67975         * m4/mbfile.m4 (gl_MBFILE): Likewise.
67976         * m4/mbiter.m4 (gl_MBITER): Likewise.
67977         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67978         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
67979         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
67980         * modules/u64 (configure.ac): Likewise.
67982 2009-12-31  Bruno Haible  <bruno@clisp.org>
67984         Use AC_C_INLINE instead of module 'inline' where possible.
67985         * modules/inline (Description): Clarify purpose.
67986         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
67987         * modules/count-one-bits (Depends-on): Remove inline.
67988         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
67989         * modules/openat (Depends-on): Remove inline.
67990         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
67991         instead of depending on module 'inline'.
67992         * modules/filevercmp (Depends-on, configure.ac): Likewise.
67993         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
67994         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
67995         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
67996         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
67997         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
67998         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
67999         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
68000         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
68001         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
68002         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
68003         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
68004         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
68005         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
68006         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
68007         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
68008         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
68009         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
68010         Likewise.
68011         * modules/unictype/property-ascii-hex-digit (Depends-on,
68012         configure.ac): Likewise.
68013         * modules/unictype/property-bidi-arabic-digit (Depends-on,
68014         configure.ac): Likewise.
68015         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
68016         configure.ac): Likewise.
68017         * modules/unictype/property-bidi-block-separator (Depends-on,
68018         configure.ac): Likewise.
68019         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
68020         configure.ac): Likewise.
68021         * modules/unictype/property-bidi-common-separator (Depends-on,
68022         configure.ac): Likewise.
68023         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
68024         Likewise.
68025         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
68026         configure.ac): Likewise.
68027         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
68028         configure.ac): Likewise.
68029         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
68030         configure.ac): Likewise.
68031         * modules/unictype/property-bidi-european-digit (Depends-on,
68032         configure.ac): Likewise.
68033         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
68034         configure.ac): Likewise.
68035         * modules/unictype/property-bidi-left-to-right (Depends-on,
68036         configure.ac): Likewise.
68037         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
68038         configure.ac): Likewise.
68039         * modules/unictype/property-bidi-other-neutral (Depends-on,
68040         configure.ac): Likewise.
68041         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
68042         Likewise.
68043         * modules/unictype/property-bidi-segment-separator (Depends-on,
68044         configure.ac): Likewise.
68045         * modules/unictype/property-bidi-whitespace (Depends-on,
68046         configure.ac): Likewise.
68047         * modules/unictype/property-combining (Depends-on, configure.ac):
68048         Likewise.
68049         * modules/unictype/property-composite (Depends-on, configure.ac):
68050         Likewise.
68051         * modules/unictype/property-currency-symbol (Depends-on,
68052         configure.ac): Likewise.
68053         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
68054         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
68055         Likewise.
68056         * modules/unictype/property-default-ignorable-code-point (Depends-on,
68057         configure.ac): Likewise.
68058         * modules/unictype/property-deprecated (Depends-on, configure.ac):
68059         Likewise.
68060         * modules/unictype/property-diacritic (Depends-on, configure.ac):
68061         Likewise.
68062         * modules/unictype/property-extender (Depends-on, configure.ac):
68063         Likewise.
68064         * modules/unictype/property-format-control (Depends-on, configure.ac):
68065         Likewise.
68066         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
68067         Likewise.
68068         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
68069         Likewise.
68070         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
68071         Likewise.
68072         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
68073         Likewise.
68074         * modules/unictype/property-hyphen (Depends-on, configure.ac):
68075         Likewise.
68076         * modules/unictype/property-id-continue (Depends-on, configure.ac):
68077         Likewise.
68078         * modules/unictype/property-id-start (Depends-on, configure.ac):
68079         Likewise.
68080         * modules/unictype/property-ideographic (Depends-on, configure.ac):
68081         Likewise.
68082         * modules/unictype/property-ids-binary-operator (Depends-on,
68083         configure.ac): Likewise.
68084         * modules/unictype/property-ids-trinary-operator (Depends-on,
68085         configure.ac): Likewise.
68086         * modules/unictype/property-ignorable-control (Depends-on,
68087         configure.ac): Likewise.
68088         * modules/unictype/property-iso-control (Depends-on, configure.ac):
68089         Likewise.
68090         * modules/unictype/property-join-control (Depends-on, configure.ac):
68091         Likewise.
68092         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
68093         Likewise.
68094         * modules/unictype/property-line-separator (Depends-on, configure.ac):
68095         Likewise.
68096         * modules/unictype/property-logical-order-exception (Depends-on,
68097         configure.ac): Likewise.
68098         * modules/unictype/property-lowercase (Depends-on, configure.ac):
68099         Likewise.
68100         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
68101         * modules/unictype/property-non-break (Depends-on, configure.ac):
68102         Likewise.
68103         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
68104         Likewise.
68105         * modules/unictype/property-numeric (Depends-on, configure.ac):
68106         Likewise.
68107         * modules/unictype/property-other-alphabetic (Depends-on,
68108         configure.ac): Likewise.
68109         * modules/unictype/property-other-default-ignorable-code-point
68110         (Depends-on, configure.ac): Likewise.
68111         * modules/unictype/property-other-grapheme-extend (Depends-on,
68112         configure.ac): Likewise.
68113         * modules/unictype/property-other-id-continue (Depends-on,
68114         configure.ac): Likewise.
68115         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
68116         Likewise.
68117         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
68118         Likewise.
68119         * modules/unictype/property-other-math (Depends-on, configure.ac):
68120         Likewise.
68121         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
68122         Likewise.
68123         * modules/unictype/property-paired-punctuation (Depends-on,
68124         configure.ac): Likewise.
68125         * modules/unictype/property-paragraph-separator (Depends-on,
68126         configure.ac): Likewise.
68127         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
68128         Likewise.
68129         * modules/unictype/property-pattern-white-space (Depends-on,
68130         configure.ac): Likewise.
68131         * modules/unictype/property-private-use (Depends-on, configure.ac):
68132         Likewise.
68133         * modules/unictype/property-punctuation (Depends-on, configure.ac):
68134         Likewise.
68135         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
68136         Likewise.
68137         * modules/unictype/property-radical (Depends-on, configure.ac):
68138         Likewise.
68139         * modules/unictype/property-sentence-terminal (Depends-on,
68140         configure.ac): Likewise.
68141         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
68142         Likewise.
68143         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
68144         * modules/unictype/property-terminal-punctuation (Depends-on,
68145         configure.ac): Likewise.
68146         * modules/unictype/property-titlecase (Depends-on, configure.ac):
68147         Likewise.
68148         * modules/unictype/property-unassigned-code-value (Depends-on,
68149         configure.ac): Likewise.
68150         * modules/unictype/property-unified-ideograph (Depends-on,
68151         configure.ac): Likewise.
68152         * modules/unictype/property-uppercase (Depends-on, configure.ac):
68153         Likewise.
68154         * modules/unictype/property-variation-selector (Depends-on,
68155         configure.ac): Likewise.
68156         * modules/unictype/property-white-space (Depends-on, configure.ac):
68157         Likewise.
68158         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
68159         Likewise.
68160         * modules/unictype/property-xid-start (Depends-on, configure.ac):
68161         Likewise.
68162         * modules/unictype/property-zero-width (Depends-on, configure.ac):
68163         Likewise.
68164         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
68165         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
68166         Likewise.
68168 2009-12-31  Bruno Haible  <bruno@clisp.org>
68170         Remove unnecessary AC_C_INLINE invocation.
68171         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
68172         since 2009-08-21.
68174 2009-12-31  Jim Meyering  <meyering@redhat.com>
68176         maint.mk: don't require explicit gpg_key_ID in cfg.mk
68177         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
68178         With this change, we can all remove the gpg_key_ID = ... definition
68179         from our respective cfg.mk files.
68181         maint.mk: create announcement template in ~/, not in /tmp
68182         * top/maint.mk (emit_upload_commands): Adjust.
68183         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
68184         Remove temporary file, .ci-msg.
68186 2009-12-31  Eric Blake  <ebb9@byu.net>
68188         link-warning: always build headers with link warnings
68189         * modules/arpa_inet (Makefile.am): Always build replacement
68190         header.
68191         * modules/ctype (Makefile.am): Likewise.
68192         * modules/dirent (Makefile.am): Likewise.
68193         * modules/inttypes (Makefile.am): Likewise.
68194         * modules/langinfo (Makefile.am): Likewise.
68195         * modules/locale (Makefile.am): Likewise.
68196         * modules/spawn (Makefile.am): Likewise.
68197         * modules/sys_file (Makefile.am): Likewise.
68198         * modules/sys_ioctl (Makefile.am): Likewise.
68199         * modules/sys_select (Makefile.am): Likewise.
68200         * modules/sys_socket (Makefile.am): Likewise.
68201         * modules/sys_times (Makefile.am): Likewise.
68202         * modules/sys_utsname (Makefile.am): Likewise.
68203         * modules/sys_wait (Makefile.am): Likewise.
68204         * modules/wchar (Makefile.am): Likewise.
68205         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
68206         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
68207         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
68208         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
68209         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
68210         Likewise.
68211         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68212         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
68213         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
68214         Likewise.
68215         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
68216         Likewise.
68217         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
68218         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
68219         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
68220         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68221         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
68222         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
68223         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
68224         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
68225         (gl_WCHAR_H_DEFAULTS): Likewise.
68227 2009-12-31  Eric Blake  <ebb9@byu.net>
68229         signal, spawn: use link warnings
68230         * lib/signal.in.h (sigset_t): Make unconditional.
68231         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
68232         (sigpending, sigprocmask, sigaction): Add link warnings.
68233         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
68234         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
68235         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
68236         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
68237         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
68238         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
68239         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
68240         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
68241         (posix_spawn_file_actions_destroy)
68242         (posix_spawn_file_actions_addopen)
68243         (posix_spawn_file_actions_addclose)
68244         (posix_spawn_file_actions_adddup2): Likewise.
68245         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
68246         * tests/test-signal.c (main): Enhance test.
68248         spawn: improve wrapper support
68249         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
68250         (gl_SPAWN_H_DEFAULTS): New defaults.
68251         * modules/spawn (Makefile.am): Substitute them.
68252         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
68253         Only declare if missing or broken.
68255         sys_times, sys_utsname: use include_next
68256         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
68257         header.
68258         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
68259         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
68260         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
68261         * modules/sys_times (Depends-on): Add include_next.
68262         (Makefile.am): Substitute additional values.
68263         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
68264         * lib/sys_times.in.h (includes): Include native header, if
68265         available.
68266         * lib/sys_utsname.in.h (includes): Likewise.
68267         * tests/test-sys_times.c (main): Enhance test.
68269         fdutimensat: revert prior patch
68270         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
68271         utimens.h.
68272         Reported by Bruno Haible.
68274 2009-12-30  Eric Blake  <ebb9@byu.net>
68276         sys_wait: drop link-warning dependency
68277         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
68278         link-warning efforts.
68279         * lib/sys_wait.in.h: Likewise.
68281         fdutimensat: remove bogus dependency
68282         * modules/fdutimensat (Depends-on): Drop inline.
68284         unistd: fix typo
68285         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
68287 2009-12-30  Bruno Haible  <bruno@clisp.org>
68289         Fix compilation error with Solaris cc.
68290         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
68291         * lib/unicase/u16-is-invariant.c: Likewise.
68292         * lib/unicase/u32-is-invariant.c: Likewise.
68293         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68295 2009-12-30  Bruno Haible  <bruno@clisp.org>
68297         Fix test crash.
68298         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
68299         locales.
68300         Reported by Simon Josefsson <simon@josefsson.org>.
68302 2009-12-30  Bruno Haible  <bruno@clisp.org>
68304         Fix compilation error on most platforms.
68305         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
68306         Reported by Simon Josefsson <simon@josefsson.org>
68307         and Nelson H. F. Beebe <beebe@math.utah.edu>.
68309 2009-12-30  Eric Blake  <ebb9@byu.net>
68311         futimens, utimensat: work around ntfs-3g bug
68312         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
68313         a ctime bug is present, and expand workaround to cover ntfs-3g.
68314         * lib/utimens.c (fdutimens, lutimens): Likewise.
68315         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
68316         (validate_timespec): Adjust return value.
68317         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
68318         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
68319         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
68321 2009-12-29  Eric Blake  <ebb9@byu.net>
68323         link-warning: make usage consistent
68324         * modules/ctype (Depends-on): Add link-warning.
68325         (Makefile.am): Update rules accordingly.
68326         * modules/langinfo (Depends-on, Makefile.am): Likewise.
68327         * modules/locale (Depends-on, Makefile.am): Likewise.
68328         * modules/sys_file (Makefile.am): Likewise.
68329         * modules/getopt-posix (Makefile.am): Delete unused link warning
68330         efforts.
68331         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
68332         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
68333         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
68334         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
68336         stdio: remove unused variables
68337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
68338         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
68339         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
68341         tests: test more substitute headers
68342         * modules/ctype-tests: New file.
68343         * modules/dirent-tests: Likewise.
68344         * modules/spawn-tests: Likewise.
68345         * modules/sys_file-tests: Likewise.
68346         * modules/sys_ioctl-tests: Likewise.
68347         * modules/sys_wait-tests: Likewise.
68348         * tests/test-ctype.c: Likewise.
68349         * tests/test-dirent.c: Likewise.
68350         * tests/test-spawn.c: Likewise.
68351         * tests/test-sys_file.c: Likewise.
68352         * tests/test-sys_ioctl.c: Likewise.
68353         * tests/test-sys_wait.c: Likewise.
68354         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
68355         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
68356         whether or not flock is in use.
68358         tests: remove License section from module
68359         * modules/arpa_inet-tests: Remove unneeded section.
68360         * modules/byteswap-tests: Likewise.
68361         * modules/ceilf-tests: Likewise.
68362         * modules/ceill-tests: Likewise.
68363         * modules/crypto/des-tests: Likewise.
68364         * modules/crypto/gc-arcfour-tests: Likewise.
68365         * modules/crypto/gc-arctwo-tests: Likewise.
68366         * modules/crypto/gc-des-tests: Likewise.
68367         * modules/crypto/gc-hmac-md5-tests: Likewise.
68368         * modules/crypto/gc-hmac-sha1-tests: Likewise.
68369         * modules/crypto/gc-md2-tests: Likewise.
68370         * modules/crypto/gc-md4-tests: Likewise.
68371         * modules/crypto/gc-md5-tests: Likewise.
68372         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
68373         * modules/crypto/gc-rijndael-tests: Likewise.
68374         * modules/crypto/gc-sha1-tests: Likewise.
68375         * modules/crypto/gc-tests: Likewise.
68376         * modules/crypto/md2-tests: Likewise.
68377         * modules/crypto/md4-tests: Likewise.
68378         * modules/fcntl-h-tests: Likewise.
68379         * modules/floorf-tests: Likewise.
68380         * modules/floorl-tests: Likewise.
68381         * modules/frexp-nolibm-tests: Likewise.
68382         * modules/frexp-tests: Likewise.
68383         * modules/frexpl-nolibm-tests: Likewise.
68384         * modules/frexpl-tests: Likewise.
68385         * modules/getaddrinfo-tests: Likewise.
68386         * modules/inttypes-tests: Likewise.
68387         * modules/isfinite-tests: Likewise.
68388         * modules/isinf-tests: Likewise.
68389         * modules/ldexpl-tests: Likewise.
68390         * modules/locale-tests: Likewise.
68391         * modules/math-tests: Likewise.
68392         * modules/netdb-tests: Likewise.
68393         * modules/netinet_in-tests: Likewise.
68394         * modules/printf-frexp-tests: Likewise.
68395         * modules/printf-frexpl-tests: Likewise.
68396         * modules/priv-set-tests: Likewise.
68397         * modules/random_r-tests: Likewise.
68398         * modules/round-tests: Likewise.
68399         * modules/roundf-tests: Likewise.
68400         * modules/roundl-tests: Likewise.
68401         * modules/search-tests: Likewise.
68402         * modules/select-tests: Likewise.
68403         * modules/signal-tests: Likewise.
68404         * modules/stdbool-tests: Likewise.
68405         * modules/stddef-tests: Likewise.
68406         * modules/stdint-tests: Likewise.
68407         * modules/stdio-tests: Likewise.
68408         * modules/stdlib-tests: Likewise.
68409         * modules/string-tests: Likewise.
68410         * modules/strings-tests: Likewise.
68411         * modules/sys_select-tests: Likewise.
68412         * modules/sys_socket-tests: Likewise.
68413         * modules/sys_stat-tests: Likewise.
68414         * modules/sys_time-tests: Likewise.
68415         * modules/sys_utsname-tests: Likewise.
68416         * modules/sysexits-tests: Likewise.
68417         * modules/time-tests: Likewise.
68418         * modules/trunc-tests: Likewise.
68419         * modules/truncf-tests: Likewise.
68420         * modules/truncl-tests: Likewise.
68421         * modules/tsearch-tests: Likewise.
68422         * modules/unistd-tests: Likewise.
68423         * modules/wchar-tests: Likewise.
68424         * modules/wctype-tests: Likewise.
68426         tests: fix license on several tests
68427         * tests/test-des.c: Update to GPLv3+.
68428         * tests/test-flock.c: Likewise.
68429         * tests/test-fsync.c: Likewise.
68430         * tests/test-futimens.h: Likewise.
68431         * tests/test-gc-arcfour.c: Likewise.
68432         * tests/test-gc-arctwo.c: Likewise.
68433         * tests/test-gc-des.c: Likewise.
68434         * tests/test-gc-hmac-md5.c: Likewise.
68435         * tests/test-gc-hmac-sha1.c: Likewise.
68436         * tests/test-gc-md2.c: Likewise.
68437         * tests/test-gc-md4.c: Likewise.
68438         * tests/test-gc-md5.c: Likewise.
68439         * tests/test-gc-pbkdf2-sha1.c: Likewise.
68440         * tests/test-gc-rijndael.c: Likewise.
68441         * tests/test-gc-sha1.c: Likewise.
68442         * tests/test-gc.c: Likewise.
68443         * tests/test-getcwd.c: Likewise.
68444         * tests/test-link.c: Likewise.
68445         * tests/test-link.h: Likewise.
68446         * tests/test-lutimens.h: Likewise.
68447         * tests/test-md2.c: Likewise.
68448         * tests/test-md4.c: Likewise.
68449         * tests/test-mkdir.h: Likewise.
68450         * tests/test-rename.c: Likewise.
68451         * tests/test-rename.h: Likewise.
68452         * tests/test-safe-alloc.c: Likewise.
68453         * tests/test-utimens-common.h: Likewise.
68454         * tests/test-utimens.h: Likewise.
68456         maint: sync license texts
68457         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
68458         * doc/gpl-3.0.texi: Revert copyright year update.
68459         * doc/lgpl-3.0.texi: Likewise.
68461 2009-12-29  Jim Meyering  <meyering@redhat.com>
68463         update nearly all FSF copyright year lists to include 2009
68464         The files named by the following are exempted:
68465             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
68466               test -f "$dst" && { echo "$dst"; continue; }
68467               test -d "$dst" || continue
68468               echo "$dst"/$(basename "$src")
68469             done > exempt
68470             git ls-files tests/unictype >> exempt
68471         In the remaining files, convert to all-interval notation if
68472         - there is already at least one year interval like 2000-2003
68473         - the file is maintained by me
68474         - the file is in lib/uni*/, where that style already prevails
68475         Otherwise, use update-copyright's default.
68477 2009-12-29  Simon Josefsson  <simon@josefsson.org>
68478         and Eric Blake  <ebb9@byu.net>
68480         tests: don't require debug system() to pass
68481         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
68482         * tests/test-rmdir.h (test_rmdir_func): Likewise.
68483         * tests/test-unlink.h (test_unlink_func): Likewise.
68484         * tests/test-fstatat.c (main): ...into callers.
68485         * tests/test-lstat.c (main): Likewise.
68486         * tests/test-rmdir.c (main): Likewise.
68487         * tests/test-unlink.c (main): Likewise.
68488         * tests/test-unlinkat.c (main): Likewise.
68489         * tests/test-areadlink-with-size.c (main): Don't require a
68490         debug-only system call to pass, aiding cross-testing to mingw.
68491         * tests/test-areadlink.c (main): Likewise.
68492         * tests/test-areadlinkat-with-size.c (main): Likewise.
68493         * tests/test-areadlinkat.c (main): Likewise.
68494         * tests/test-canonicalize-lgpl.c (main): Likewise.
68495         * tests/test-canonicalize.c (main): Likewise.
68496         * tests/test-chown.c (main): Likewise.
68497         * tests/test-fchownat.c (main): Likewise.
68498         * tests/test-lchown.c (main): Likewise.
68499         * tests/test-fdutimensat.c (main): Likewise.
68500         * tests/test-futimens.c (main): Likewise.
68501         * tests/test-link.c (main): Likewise.
68502         * tests/test-linkat.c (main): Likewise.
68503         * tests/test-mkdir.c (main): Likewise.
68504         * tests/test-mkdirat.c (main): Likewise.
68505         * tests/test-mkfifo.c (main): Likewise.
68506         * tests/test-mkfifoat.c (main): Likewise.
68507         * tests/test-mknod.c (main): Likewise.
68508         * tests/test-readlink.c (main): Likewise.
68509         * tests/test-remove.c (main): Likewise.
68510         * tests/test-rename.c (main): Likewise.
68511         * tests/test-renameat.c (main): Likewise.
68512         * tests/test-symlink.c (main): Likewise.
68513         * tests/test-symlinkat.c (main): Likewise.
68514         * tests/test-utimens.c (main): Likewise.
68515         * tests/test-utimensat.c (main): Likewise.
68517 2009-12-29  Simon Josefsson  <simon@josefsson.org>
68519         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
68520         on $(UNUSED_PARAMETER_H) to avoid build failure.
68522 2009-12-28  Jim Meyering  <meyering@redhat.com>
68524         update-copyright: you may specify a max. line length other than 72
68525         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
68527         maint: use consistent FSF copyright line syntax
68528         * lib/posixtm.c: Add missing comma in FSF copyright line.
68529         * lib/posixtm.h: Likewise.
68530         * lib/getugroups.c: Add missing ", Inc.".
68532         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
68533         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
68534         FSF copyright line.  Remove trailing blanks.
68536 2009-12-28  Eric Blake  <ebb9@byu.net>
68538         test-dup2: reduce dependencies
68539         * modules/cloexec (Configure.ac): Set witness.
68540         * modules/dup2-tests (Depends-on): Drop cloexec.
68541         * tests/test-dup2.c (main): Skip portion of test if cloexec module
68542         not present.
68543         Suggested by Bruno Haible.
68545 2009-12-26  Bruno Haible  <bruno@clisp.org>
68547         Remove an unneeded dependency.
68548         * modules/fseterr (Depends-on): Remove dup2.
68550 2009-12-26  Eric Blake  <ebb9@byu.net>
68552         tests: use macros.h in more places
68553         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
68554         (ASSERT_STREAM): Provide default of stderr.
68555         * tests/test-dirent-safer.c: Include macros.h, using alternate
68556         stream for assertions.
68557         * tests/test-dup-safer.c: Likewise.
68558         * tests/test-freopen-safer.c: Likewise.
68559         * tests/test-getopt.c: Likewise.
68560         * tests/test-openat-safer.c: Likewise.
68561         * tests/test-pipe.c: Likewise.
68562         * tests/test-popen-safer.c: Likewise.
68563         * modules/dirent-safer-tests (Files): Include macros.h.
68564         * modules/unistd-safer-tests (Files): Likewise.
68565         * modules/freopen-safer-tests (Files): Likewise.
68566         * modules/getopt-posix-tests (Files): Likewise.
68567         * modules/openat-safer-tests (Files): Likewise.
68568         * modules/pipe-tests (Files): Likewise.
68570 2009-12-26  Bruno Haible  <bruno@clisp.org>
68572         javacomp-script: Portability fix.
68573         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
68574         that it also works on Solaris.
68576 2009-12-26  Bruno Haible  <bruno@clisp.org>
68578         localename: Fix storage allocation of gl_locale_name_thread's result.
68579         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
68580         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
68581         all platforms that have 'uselocale'.
68582         (gl_locale_name_thread_unsafe): New function, extracted from
68583         gl_locale_name_thread.
68584         (gl_locale_name_thread): Call struniq on all platforms that have
68585         'uselocale'.
68586         * tests/test-localename.c (test_locale_name_thread): Check that the
68587         resulting strings are permanently allocated.
68588         * modules/localename-tests (Depends-on): Add strdup.
68590 2009-12-26  Bruno Haible  <bruno@clisp.org>
68592         * tests/test-localename.c (categories): Fill in the strings.
68594 2009-12-26  Jim Meyering  <meyering@redhat.com>
68596         isdir: complete the removal of m4/isdir.m4
68597         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
68599         isdir: clean up, since at least grep still uses it
68600         * lib/isdir.c: Include "isdir.h".
68601         (S_ISDIR): Remove now-unneeded definition.
68602         * modules/isdir (Files): Add lib/isdir.h.
68603         * lib/isdir.h: New file, with declaration.
68604         * m4/isdir.m4: Remove file -- unneeded.
68606 2009-12-25  Bruno Haible  <bruno@clisp.org>
68608         selinux-h: Make generated .h files standalone.
68609         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
68610         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
68611         * lib/se-selinux.in.h: Likewise.
68612         * modules/selinux-h (Depends-on): Add unused-parameter.
68613         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
68614         selinux/selinux.h and selinux/context.h.
68615         Suggested by Eric Blake.
68617 2009-12-25  Bruno Haible  <bruno@clisp.org>
68619         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
68620         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
68621         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
68622         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
68623         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
68625 2009-12-24  Bruno Haible  <bruno@clisp.org>
68627         openat: Fix warning.
68628         * lib/openat-proc.c: Include <unistd.h>.
68630 2009-12-24  Bruno Haible  <bruno@clisp.org>
68632         New module 'unused-parameter'.
68633         * build-aux/unused-parameter.h: New file, extracted from earlier
68634         gnulib-common.m4.
68635         * modules/unused-parameter: New file.
68636         * lib/unistr.h: Include unused-parameter.h.
68637         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
68638         _GL_UNUSED.
68639         * modules/unistr/base (Depends-on): Add unused-parameter.
68641 2009-12-24  Bruno Haible  <bruno@clisp.org>
68643         Add missing dependencies to 'extensions' module.
68644         * m4/extensions.m4: Add comment.
68645         * modules/accept4 (Depends-on): Add extensions.
68646         * modules/dup3 (Depends-on): Likewise.
68647         * modules/fcntl (Depends-on): Likewise.
68648         * modules/futimens (Depends-on): Likewise.
68649         * modules/mknod (Depends-on): Likewise.
68650         * modules/pipe2 (Depends-on): Likewise.
68651         * modules/stat-time (Depends-on): Likewise.
68652         * modules/strcasestr-simple (Depends-on): Likewise.
68653         * modules/strsignal (Depends-on): Likewise.
68654         * modules/utimensat (Depends-on): Likewise.
68655         * modules/localcharset (Depends-on): Likewise. Needed because of
68656         gl_FCNTL_O_FLAGS.
68657         * modules/wcrtomb (Depends-on): Likewise. Needed because of
68658         AC_TYPE_MBSTATE_T.
68659         * modules/wcsnrtombs (Depends-on): Likewise.
68660         * modules/wcsrtombs (Depends-on): Likewise.
68662 2009-12-24  Bruno Haible  <bruno@clisp.org>
68664         binary-io: Avoid gcc warning due to SET_BINARY.
68665         * lib/binary-io.h (SET_BINARY): Cast the result to void.
68666         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
68668 2009-12-24  Bruno Haible  <bruno@clisp.org>
68670         Avoid future namespace pollution on glibc systems.
68671         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
68672         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
68673         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
68674         glibc systems.
68676 2009-12-24  Bruno Haible  <bruno@clisp.org>
68678         Refactor common macros used in tests.
68679         * tests/macros.h: New file.
68680         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
68681         and/or <stdlib.h>, if appropriate.
68682         (ASSERT, SIZEOF): Remove macros.
68683         * tests/test-areadlink-with-size.c: Likewise.
68684         * tests/test-areadlinkat.c: Likewise.
68685         * tests/test-areadlinkat-with-size.c: Likewise.
68686         * tests/test-argmatch.c: Likewise.
68687         * tests/test-argv-iter.c: Likewise.
68688         * tests/test-array-mergesort.c: Likewise.
68689         * tests/test-array_list.c: Likewise.
68690         * tests/test-array_oset.c: Likewise.
68691         * tests/test-avltree_list.c: Likewise.
68692         * tests/test-avltree_oset.c: Likewise.
68693         * tests/test-avltreehash_list.c: Likewise.
68694         * tests/test-base64.c: Likewise.
68695         * tests/test-binary-io.c: Likewise.
68696         * tests/test-bitrotate.c: Likewise.
68697         * tests/test-btowc.c: Likewise.
68698         * tests/test-byteswap.c: Likewise.
68699         * tests/test-c-ctype.c: Likewise.
68700         * tests/test-c-stack.c: Likewise.
68701         * tests/test-c-strcasecmp.c: Likewise.
68702         * tests/test-c-strcasestr.c: Likewise.
68703         * tests/test-c-strncasecmp.c: Likewise.
68704         * tests/test-c-strstr.c: Likewise.
68705         * tests/test-canonicalize-lgpl.c: Likewise.
68706         * tests/test-canonicalize.c: Likewise.
68707         * tests/test-carray_list.c: Likewise.
68708         * tests/test-ceilf1.c: Likewise.
68709         * tests/test-ceilf2.c: Likewise.
68710         * tests/test-ceill.c: Likewise.
68711         * tests/test-chown.c: Likewise.
68712         * tests/test-cloexec.c: Likewise.
68713         * tests/test-copy-acl.c: Likewise.
68714         * tests/test-copy-file.c: Likewise.
68715         * tests/test-count-one-bits.c: Likewise.
68716         * tests/test-dprintf-posix.c: Likewise.
68717         * tests/test-dup2.c: Likewise.
68718         * tests/test-dup3.c: Likewise.
68719         * tests/test-duplocale.c: Likewise.
68720         * tests/test-fbufmode.c: Likewise.
68721         * tests/test-fchdir.c: Likewise.
68722         * tests/test-fchownat.c: Likewise.
68723         * tests/test-fcntl-safer.c: Likewise.
68724         * tests/test-fcntl.c: Likewise.
68725         * tests/test-fdopendir.c: Likewise.
68726         * tests/test-fdutimensat.c: Likewise.
68727         * tests/test-fflush2.c: Likewise.
68728         * tests/test-file-has-acl.c: Likewise.
68729         * tests/test-filevercmp.c: Likewise.
68730         * tests/test-flock.c: Likewise.
68731         * tests/test-floorf1.c: Likewise.
68732         * tests/test-floorf2.c: Likewise.
68733         * tests/test-floorl.c: Likewise.
68734         * tests/test-fnmatch.c: Likewise.
68735         * tests/test-fopen.h: Likewise.
68736         * tests/test-fpending.c: Likewise.
68737         * tests/test-fprintf-posix.c: Likewise.
68738         * tests/test-fpurge.c: Likewise.
68739         * tests/test-freadable.c: Likewise.
68740         * tests/test-freadahead.c: Likewise.
68741         * tests/test-freading.c: Likewise.
68742         * tests/test-freadptr.c: Likewise.
68743         * tests/test-freadptr2.c: Likewise.
68744         * tests/test-freadseek.c: Likewise.
68745         * tests/test-freopen.c: Likewise.
68746         * tests/test-frexp.c: Likewise.
68747         * tests/test-frexpl.c: Likewise.
68748         * tests/test-fseek.c: Likewise.
68749         * tests/test-fseeko.c: Likewise.
68750         * tests/test-fstatat.c: Likewise.
68751         * tests/test-fstrcmp.c: Likewise.
68752         * tests/test-fsync.c: Likewise.
68753         * tests/test-ftell.c: Likewise.
68754         * tests/test-ftello.c: Likewise.
68755         * tests/test-func.c: Likewise.
68756         * tests/test-futimens.c: Likewise.
68757         * tests/test-fwritable.c: Likewise.
68758         * tests/test-fwriting.c: Likewise.
68759         * tests/test-getcwd.c: Likewise.
68760         * tests/test-getdate.c: Likewise.
68761         * tests/test-getdelim.c: Likewise.
68762         * tests/test-getdtablesize.c: Likewise.
68763         * tests/test-getgroups.c: Likewise.
68764         * tests/test-getline.c: Likewise.
68765         * tests/test-getndelim2.c: Likewise.
68766         * tests/test-glob.c: Likewise.
68767         * tests/test-hash.c: Likewise.
68768         * tests/test-i-ring.c: Likewise.
68769         * tests/test-iconv-utf.c: Likewise.
68770         * tests/test-iconv.c: Likewise.
68771         * tests/test-idpriv-drop.c: Likewise.
68772         * tests/test-idpriv-droptemp.c: Likewise.
68773         * tests/test-inet_ntop.c: Likewise.
68774         * tests/test-inet_pton.c: Likewise.
68775         * tests/test-isblank.c: Likewise.
68776         * tests/test-isfinite.c: Likewise.
68777         * tests/test-isinf.c: Likewise.
68778         * tests/test-isnan.c: Likewise.
68779         * tests/test-isnand.h: Likewise.
68780         * tests/test-isnanf.h: Likewise.
68781         * tests/test-isnanl.h: Likewise.
68782         * tests/test-lchown.c: Likewise.
68783         * tests/test-ldexpl.c: Likewise.
68784         * tests/test-link.c: Likewise.
68785         * tests/test-linkat.c: Likewise.
68786         * tests/test-linked_list.c: Likewise.
68787         * tests/test-linkedhash_list.c: Likewise.
68788         * tests/test-localename.c: Likewise.
68789         * tests/test-lseek.c: Likewise.
68790         * tests/test-lstat.c: Likewise.
68791         * tests/test-mbmemcasecmp.c: Likewise.
68792         * tests/test-mbmemcasecoll.c: Likewise.
68793         * tests/test-mbrtowc.c: Likewise.
68794         * tests/test-mbscasecmp.c: Likewise.
68795         * tests/test-mbscasestr1.c: Likewise.
68796         * tests/test-mbscasestr2.c: Likewise.
68797         * tests/test-mbscasestr3.c: Likewise.
68798         * tests/test-mbscasestr4.c: Likewise.
68799         * tests/test-mbschr.c: Likewise.
68800         * tests/test-mbscspn.c: Likewise.
68801         * tests/test-mbsinit.c: Likewise.
68802         * tests/test-mbsncasecmp.c: Likewise.
68803         * tests/test-mbsnrtowcs.c: Likewise.
68804         * tests/test-mbspbrk.c: Likewise.
68805         * tests/test-mbspcasecmp.c: Likewise.
68806         * tests/test-mbsrchr.c: Likewise.
68807         * tests/test-mbsrtowcs.c: Likewise.
68808         * tests/test-mbsspn.c: Likewise.
68809         * tests/test-mbsstr1.c: Likewise.
68810         * tests/test-mbsstr2.c: Likewise.
68811         * tests/test-mbsstr3.c: Likewise.
68812         * tests/test-memchr.c: Likewise.
68813         * tests/test-memchr2.c: Likewise.
68814         * tests/test-memcmp.c: Likewise.
68815         * tests/test-memmem.c: Likewise.
68816         * tests/test-memrchr.c: Likewise.
68817         * tests/test-mkdir.c: Likewise.
68818         * tests/test-mkdirat.c: Likewise.
68819         * tests/test-mkfifo.c: Likewise.
68820         * tests/test-mkfifoat.c: Likewise.
68821         * tests/test-mknod.c: Likewise.
68822         * tests/test-nanosleep.c: Likewise.
68823         * tests/test-nl_langinfo.c: Likewise.
68824         * tests/test-obstack-printf.c: Likewise.
68825         * tests/test-open.c: Likewise.
68826         * tests/test-openat.c: Likewise.
68827         * tests/test-pipe-filter-gi1.c: Likewise.
68828         * tests/test-pipe-filter-gi2-main.c: Likewise.
68829         * tests/test-pipe-filter-ii1.c: Likewise.
68830         * tests/test-pipe-filter-ii2-main.c: Likewise.
68831         * tests/test-pipe2.c: Likewise.
68832         * tests/test-popen.h: Likewise.
68833         * tests/test-posixtm.c: Likewise.
68834         * tests/test-pread.c: Likewise.
68835         * tests/test-printf-frexp.c: Likewise.
68836         * tests/test-printf-frexpl.c: Likewise.
68837         * tests/test-printf-posix.c: Likewise.
68838         * tests/test-priv-set.c: Likewise.
68839         * tests/test-quotearg.c: Likewise.
68840         * tests/test-random_r.c: Likewise.
68841         * tests/test-rawmemchr.c: Likewise.
68842         * tests/test-rbtree_list.c: Likewise.
68843         * tests/test-rbtree_oset.c: Likewise.
68844         * tests/test-rbtreehash_list.c: Likewise.
68845         * tests/test-readlink.c: Likewise.
68846         * tests/test-remove.c: Likewise.
68847         * tests/test-rename.c: Likewise.
68848         * tests/test-renameat.c: Likewise.
68849         * tests/test-rmdir.c: Likewise.
68850         * tests/test-round1.c: Likewise.
68851         * tests/test-roundf1.c: Likewise.
68852         * tests/test-roundl.c: Likewise.
68853         * tests/test-safe-alloc.c: Likewise.
68854         * tests/test-sameacls.c: Likewise.
68855         * tests/test-set-mode-acl.c: Likewise.
68856         * tests/test-setenv.c: Likewise.
68857         * tests/test-sigaction.c: Likewise.
68858         * tests/test-signbit.c: Likewise.
68859         * tests/test-sleep.c: Likewise.
68860         * tests/test-snprintf-posix.c: Likewise.
68861         * tests/test-snprintf.c: Likewise.
68862         * tests/test-sprintf-posix.c: Likewise.
68863         * tests/test-stat-time.c: Likewise.
68864         * tests/test-stat.c: Likewise.
68865         * tests/test-strcasestr.c: Likewise.
68866         * tests/test-strchrnul.c: Likewise.
68867         * tests/test-strerror.c: Likewise.
68868         * tests/test-striconv.c: Likewise.
68869         * tests/test-striconveh.c: Likewise.
68870         * tests/test-striconveha.c: Likewise.
68871         * tests/test-strsignal.c: Likewise.
68872         * tests/test-strstr.c: Likewise.
68873         * tests/test-strtod.c: Likewise.
68874         * tests/test-strverscmp.c: Likewise.
68875         * tests/test-symlink.c: Likewise.
68876         * tests/test-symlinkat.c: Likewise.
68877         * tests/test-trunc1.c: Likewise.
68878         * tests/test-trunc2.c: Likewise.
68879         * tests/test-truncf1.c: Likewise.
68880         * tests/test-truncf2.c: Likewise.
68881         * tests/test-truncl.c: Likewise.
68882         * tests/test-uname.c: Likewise.
68883         * tests/test-unlink.c: Likewise.
68884         * tests/test-unlinkat.c: Likewise.
68885         * tests/test-unsetenv.c: Likewise.
68886         * tests/test-usleep.c: Likewise.
68887         * tests/test-utimens.c: Likewise.
68888         * tests/test-utimensat.c: Likewise.
68889         * tests/test-vasnprintf-posix.c: Likewise.
68890         * tests/test-vasnprintf-posix2.c: Likewise.
68891         * tests/test-vasnprintf.c: Likewise.
68892         * tests/test-vasprintf-posix.c: Likewise.
68893         * tests/test-vasprintf.c: Likewise.
68894         * tests/test-vdprintf-posix.c: Likewise.
68895         * tests/test-vfprintf-posix.c: Likewise.
68896         * tests/test-vprintf-posix.c: Likewise.
68897         * tests/test-vsnprintf-posix.c: Likewise.
68898         * tests/test-vsnprintf.c: Likewise.
68899         * tests/test-vsprintf-posix.c: Likewise.
68900         * tests/test-wcrtomb.c: Likewise.
68901         * tests/test-wcsnrtombs.c: Likewise.
68902         * tests/test-wcsrtombs.c: Likewise.
68903         * tests/test-wctype.c: Likewise.
68904         * tests/test-wcwidth.c: Likewise.
68905         * tests/test-xfprintf-posix.c: Likewise.
68906         * tests/test-xmemdup0.c: Likewise.
68907         * tests/test-xprintf-posix.c: Likewise.
68908         * tests/test-xvasprintf.c: Likewise.
68909         * tests/unicase/test-locale-language.c: Likewise.
68910         * tests/unicase/test-mapping-part1.h: Likewise.
68911         * tests/unicase/test-predicate-part1.h: Likewise.
68912         * tests/unicase/test-u8-casecmp.c: Likewise.
68913         * tests/unicase/test-u8-casecoll.c: Likewise.
68914         * tests/unicase/test-u8-casefold.c: Likewise.
68915         * tests/unicase/test-u8-is-cased.c: Likewise.
68916         * tests/unicase/test-u8-is-casefolded.c: Likewise.
68917         * tests/unicase/test-u8-is-lowercase.c: Likewise.
68918         * tests/unicase/test-u8-is-titlecase.c: Likewise.
68919         * tests/unicase/test-u8-is-uppercase.c: Likewise.
68920         * tests/unicase/test-u8-tolower.c: Likewise.
68921         * tests/unicase/test-u8-totitle.c: Likewise.
68922         * tests/unicase/test-u8-toupper.c: Likewise.
68923         * tests/unicase/test-u16-casecmp.c: Likewise.
68924         * tests/unicase/test-u16-casecoll.c: Likewise.
68925         * tests/unicase/test-u16-casefold.c: Likewise.
68926         * tests/unicase/test-u16-is-cased.c: Likewise.
68927         * tests/unicase/test-u16-is-casefolded.c: Likewise.
68928         * tests/unicase/test-u16-is-lowercase.c: Likewise.
68929         * tests/unicase/test-u16-is-titlecase.c: Likewise.
68930         * tests/unicase/test-u16-is-uppercase.c: Likewise.
68931         * tests/unicase/test-u16-tolower.c: Likewise.
68932         * tests/unicase/test-u16-totitle.c: Likewise.
68933         * tests/unicase/test-u16-toupper.c: Likewise.
68934         * tests/unicase/test-u32-casecmp.c: Likewise.
68935         * tests/unicase/test-u32-casecoll.c: Likewise.
68936         * tests/unicase/test-u32-casefold.c: Likewise.
68937         * tests/unicase/test-u32-is-cased.c: Likewise.
68938         * tests/unicase/test-u32-is-casefolded.c: Likewise.
68939         * tests/unicase/test-u32-is-lowercase.c: Likewise.
68940         * tests/unicase/test-u32-is-titlecase.c: Likewise.
68941         * tests/unicase/test-u32-is-uppercase.c: Likewise.
68942         * tests/unicase/test-u32-tolower.c: Likewise.
68943         * tests/unicase/test-u32-totitle.c: Likewise.
68944         * tests/unicase/test-u32-toupper.c: Likewise.
68945         * tests/unicase/test-ulc-casecmp.c: Likewise.
68946         * tests/unicase/test-ulc-casecoll.c: Likewise.
68947         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68948         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
68949         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68950         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68951         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
68952         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
68953         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68954         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68955         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68956         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
68957         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68958         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68959         * tests/unictype/test-bidi_byname.c: Likewise.
68960         * tests/unictype/test-bidi_name.c: Likewise.
68961         * tests/unictype/test-bidi_of.c: Likewise.
68962         * tests/unictype/test-bidi_test.c: Likewise.
68963         * tests/unictype/test-block_list.c: Likewise.
68964         * tests/unictype/test-block_of.c: Likewise.
68965         * tests/unictype/test-block_test.c: Likewise.
68966         * tests/unictype/test-categ_and.c: Likewise.
68967         * tests/unictype/test-categ_and_not.c: Likewise.
68968         * tests/unictype/test-categ_byname.c: Likewise.
68969         * tests/unictype/test-categ_name.c: Likewise.
68970         * tests/unictype/test-categ_none.c: Likewise.
68971         * tests/unictype/test-categ_of.c: Likewise.
68972         * tests/unictype/test-categ_or.c: Likewise.
68973         * tests/unictype/test-categ_test_withtable.c: Likewise.
68974         * tests/unictype/test-combining.c: Likewise.
68975         * tests/unictype/test-decdigit.c: Likewise.
68976         * tests/unictype/test-digit.c: Likewise.
68977         * tests/unictype/test-mirror.c: Likewise.
68978         * tests/unictype/test-numeric.c: Likewise.
68979         * tests/unictype/test-pr_byname.c: Likewise.
68980         * tests/unictype/test-pr_test.c: Likewise.
68981         * tests/unictype/test-predicate-part1.h: Likewise.
68982         * tests/unictype/test-scripts.c: Likewise.
68983         * tests/unictype/test-sy_c_ident.c: Likewise.
68984         * tests/unictype/test-sy_java_ident.c: Likewise.
68985         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
68986         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
68987         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
68988         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
68989         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
68990         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
68991         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
68992         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
68993         * tests/uninorm/test-canonical-decomposition.c: Likewise.
68994         * tests/uninorm/test-compat-decomposition.c: Likewise.
68995         * tests/uninorm/test-composition.c: Likewise.
68996         * tests/uninorm/test-decomposing-form.c: Likewise.
68997         * tests/uninorm/test-decomposition.c: Likewise.
68998         * tests/uninorm/test-u8-nfc.c: Likewise.
68999         * tests/uninorm/test-u8-nfd.c: Likewise.
69000         * tests/uninorm/test-u8-nfkc.c: Likewise.
69001         * tests/uninorm/test-u8-nfkd.c: Likewise.
69002         * tests/uninorm/test-u8-normcmp.c: Likewise.
69003         * tests/uninorm/test-u8-normcoll.c: Likewise.
69004         * tests/uninorm/test-u16-nfc.c: Likewise.
69005         * tests/uninorm/test-u16-nfd.c: Likewise.
69006         * tests/uninorm/test-u16-nfkc.c: Likewise.
69007         * tests/uninorm/test-u16-nfkd.c: Likewise.
69008         * tests/uninorm/test-u16-normcmp.c: Likewise.
69009         * tests/uninorm/test-u16-normcoll.c: Likewise.
69010         * tests/uninorm/test-u32-nfc.c: Likewise.
69011         * tests/uninorm/test-u32-nfd.c: Likewise.
69012         * tests/uninorm/test-u32-nfkc.c: Likewise.
69013         * tests/uninorm/test-u32-nfkd.c: Likewise.
69014         * tests/uninorm/test-u32-normalize-big.c: Likewise.
69015         * tests/uninorm/test-u32-normcmp.c: Likewise.
69016         * tests/uninorm/test-u32-normcoll.c: Likewise.
69017         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
69018         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
69019         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
69020         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
69021         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
69022         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
69023         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
69024         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
69025         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
69026         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
69027         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
69028         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
69029         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
69030         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
69031         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
69032         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
69033         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
69034         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
69035         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
69036         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
69037         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
69038         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
69039         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
69040         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
69041         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
69042         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
69043         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
69044         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
69045         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
69046         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
69047         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
69048         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
69049         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
69050         * tests/uniwidth/test-u8-strwidth.c: Likewise.
69051         * tests/uniwidth/test-u8-width.c: Likewise.
69052         * tests/uniwidth/test-u16-strwidth.c: Likewise.
69053         * tests/uniwidth/test-u16-width.c: Likewise.
69054         * tests/uniwidth/test-u32-strwidth.c: Likewise.
69055         * tests/uniwidth/test-u32-width.c: Likewise.
69056         * tests/uniwidth/test-uc_width.c: Likewise.
69057         * tests/uniwidth/test-uc_width2.c: Likewise.
69058         * modules/acl-tests (Files): Add tests/macros.h.
69059         * modules/areadlink-tests (Files): Likewise.
69060         * modules/areadlink-with-size-tests (Files): Likewise.
69061         * modules/areadlinkat-tests (Files): Likewise.
69062         * modules/areadlinkat-with-size-tests (Files): Likewise.
69063         * modules/argmatch-tests (Files): Likewise.
69064         * modules/argv-iter-tests (Files): Likewise.
69065         * modules/array-list-tests (Files): Likewise.
69066         * modules/array-mergesort-tests (Files): Likewise.
69067         * modules/array-oset-tests (Files): Likewise.
69068         * modules/avltree-list-tests (Files): Likewise.
69069         * modules/avltree-oset-tests (Files): Likewise.
69070         * modules/avltreehash-list-tests (Files): Likewise.
69071         * modules/base64-tests (Files): Likewise.
69072         * modules/binary-io-tests (Files): Likewise.
69073         * modules/bitrotate-tests (Files): Likewise.
69074         * modules/btowc-tests (Files): Likewise.
69075         * modules/byteswap-tests (Files): Likewise.
69076         * modules/c-ctype-tests (Files): Likewise.
69077         * modules/c-stack-tests (Files): Likewise.
69078         * modules/c-strcase-tests (Files): Likewise.
69079         * modules/c-strcasestr-tests (Files): Likewise.
69080         * modules/c-strstr-tests (Files): Likewise.
69081         * modules/canonicalize-lgpl-tests (Files): Likewise.
69082         * modules/canonicalize-tests (Files): Likewise.
69083         * modules/carray-list-tests (Files): Likewise.
69084         * modules/ceilf-tests (Files): Likewise.
69085         * modules/ceill-tests (Files): Likewise.
69086         * modules/chown-tests (Files): Likewise.
69087         * modules/cloexec-tests (Files): Likewise.
69088         * modules/copy-file-tests (Files): Likewise.
69089         * modules/count-one-bits-tests (Files): Likewise.
69090         * modules/dprintf-posix-tests (Files): Likewise.
69091         * modules/dup2-tests (Files): Likewise.
69092         * modules/dup3-tests (Files): Likewise.
69093         * modules/duplocale-tests (Files): Likewise.
69094         * modules/fbufmode-tests (Files): Likewise.
69095         * modules/fchdir-tests (Files): Likewise.
69096         * modules/fcntl-safer-tests (Files): Likewise.
69097         * modules/fcntl-tests (Files): Likewise.
69098         * modules/fdopendir-tests (Files): Likewise.
69099         * modules/fdutimensat-tests (Files): Likewise.
69100         * modules/fflush-tests (Files): Likewise.
69101         * modules/filevercmp-tests (Files): Likewise.
69102         * modules/flock-tests (Files): Likewise.
69103         * modules/floorf-tests (Files): Likewise.
69104         * modules/floorl-tests (Files): Likewise.
69105         * modules/fnmatch-tests (Files): Likewise.
69106         * modules/fopen-safer-tests (Files): Likewise.
69107         * modules/fopen-tests (Files): Likewise.
69108         * modules/fpending-tests (Files): Likewise.
69109         * modules/fprintf-posix-tests (Files): Likewise.
69110         * modules/fpurge-tests (Files): Likewise.
69111         * modules/freadable-tests (Files): Likewise.
69112         * modules/freadahead-tests (Files): Likewise.
69113         * modules/freading-tests (Files): Likewise.
69114         * modules/freadptr-tests (Files): Likewise.
69115         * modules/freadseek-tests (Files): Likewise.
69116         * modules/freopen-tests (Files): Likewise.
69117         * modules/frexp-nolibm-tests (Files): Likewise.
69118         * modules/frexp-tests (Files): Likewise.
69119         * modules/frexpl-nolibm-tests (Files): Likewise.
69120         * modules/frexpl-tests (Files): Likewise.
69121         * modules/fseek-tests (Files): Likewise.
69122         * modules/fseeko-tests (Files): Likewise.
69123         * modules/fstrcmp-tests (Files): Likewise.
69124         * modules/fsync-tests (Files): Likewise.
69125         * modules/ftell-tests (Files): Likewise.
69126         * modules/ftello-tests (Files): Likewise.
69127         * modules/func-tests (Files): Likewise.
69128         * modules/futimens-tests (Files): Likewise.
69129         * modules/fwritable-tests (Files): Likewise.
69130         * modules/fwriting-tests (Files): Likewise.
69131         * modules/getcwd-tests (Files): Likewise.
69132         * modules/getdate-tests (Files): Likewise.
69133         * modules/getdelim-tests (Files): Likewise.
69134         * modules/getdtablesize-tests (Files): Likewise.
69135         * modules/getgroups-tests (Files): Likewise.
69136         * modules/getline-tests (Files): Likewise.
69137         * modules/getndelim2-tests (Files): Likewise.
69138         * modules/glob-tests (Files): Likewise.
69139         * modules/hash-tests (Files): Likewise.
69140         * modules/i-ring-tests (Files): Likewise.
69141         * modules/iconv-tests (Files): Likewise.
69142         * modules/iconv_open-utf-tests (Files): Likewise.
69143         * modules/idpriv-drop-tests (Files): Likewise.
69144         * modules/idpriv-droptemp-tests (Files): Likewise.
69145         * modules/inet_ntop-tests (Files): Likewise.
69146         * modules/inet_pton-tests (Files): Likewise.
69147         * modules/isblank-tests (Files): Likewise.
69148         * modules/isfinite-tests (Files): Likewise.
69149         * modules/isinf-tests (Files): Likewise.
69150         * modules/isnan-tests (Files): Likewise.
69151         * modules/isnand-nolibm-tests (Files): Likewise.
69152         * modules/isnand-tests (Files): Likewise.
69153         * modules/isnanf-nolibm-tests (Files): Likewise.
69154         * modules/isnanf-tests (Files): Likewise.
69155         * modules/isnanl-nolibm-tests (Files): Likewise.
69156         * modules/isnanl-tests (Files): Likewise.
69157         * modules/lchown-tests (Files): Likewise.
69158         * modules/ldexpl-tests (Files): Likewise.
69159         * modules/link-tests (Files): Likewise.
69160         * modules/linkat-tests (Files): Likewise.
69161         * modules/linked-list-tests (Files): Likewise.
69162         * modules/linkedhash-list-tests (Files): Likewise.
69163         * modules/localename-tests (Files): Likewise.
69164         * modules/lseek-tests (Files): Likewise.
69165         * modules/lstat-tests (Files): Likewise.
69166         * modules/mbmemcasecmp-tests (Files): Likewise.
69167         * modules/mbmemcasecoll-tests (Files): Likewise.
69168         * modules/mbrtowc-tests (Files): Likewise.
69169         * modules/mbscasecmp-tests (Files): Likewise.
69170         * modules/mbscasestr-tests (Files): Likewise.
69171         * modules/mbschr-tests (Files): Likewise.
69172         * modules/mbscspn-tests (Files): Likewise.
69173         * modules/mbsinit-tests (Files): Likewise.
69174         * modules/mbsncasecmp-tests (Files): Likewise.
69175         * modules/mbsnrtowcs-tests (Files): Likewise.
69176         * modules/mbspbrk-tests (Files): Likewise.
69177         * modules/mbspcasecmp-tests (Files): Likewise.
69178         * modules/mbsrchr-tests (Files): Likewise.
69179         * modules/mbsrtowcs-tests (Files): Likewise.
69180         * modules/mbsspn-tests (Files): Likewise.
69181         * modules/mbsstr-tests (Files): Likewise.
69182         * modules/memchr-tests (Files): Likewise.
69183         * modules/memchr2-tests (Files): Likewise.
69184         * modules/memcmp-tests (Files): Likewise.
69185         * modules/memmem-tests (Files): Likewise.
69186         * modules/memrchr-tests (Files): Likewise.
69187         * modules/mkdir-tests (Files): Likewise.
69188         * modules/mkfifo-tests (Files): Likewise.
69189         * modules/mkfifoat-tests (Files): Likewise.
69190         * modules/mknod-tests (Files): Likewise.
69191         * modules/nanosleep-tests (Files): Likewise.
69192         * modules/nl_langinfo-tests (Files): Likewise.
69193         * modules/obstack-printf-tests (Files): Likewise.
69194         * modules/open-tests (Files): Likewise.
69195         * modules/openat-tests (Files): Likewise.
69196         * modules/pipe-filter-gi-tests (Files): Likewise.
69197         * modules/pipe-filter-ii-tests (Files): Likewise.
69198         * modules/pipe2-tests (Files): Likewise.
69199         * modules/popen-safer-tests (Files): Likewise.
69200         * modules/popen-tests (Files): Likewise.
69201         * modules/posixtm-tests (Files): Likewise.
69202         * modules/pread-tests (Files): Likewise.
69203         * modules/printf-frexp-tests (Files): Likewise.
69204         * modules/printf-frexpl-tests (Files): Likewise.
69205         * modules/printf-posix-tests (Files): Likewise.
69206         * modules/priv-set-tests (Files): Likewise.
69207         * modules/quotearg-tests (Files): Likewise.
69208         * modules/random_r-tests (Files): Likewise.
69209         * modules/rawmemchr-tests (Files): Likewise.
69210         * modules/rbtree-list-tests (Files): Likewise.
69211         * modules/rbtree-oset-tests (Files): Likewise.
69212         * modules/rbtreehash-list-tests (Files): Likewise.
69213         * modules/readlink-tests (Files): Likewise.
69214         * modules/remove-tests (Files): Likewise.
69215         * modules/rename-tests (Files): Likewise.
69216         * modules/renameat-tests (Files): Likewise.
69217         * modules/rmdir-tests (Files): Likewise.
69218         * modules/round-tests (Files): Likewise.
69219         * modules/roundf-tests (Files): Likewise.
69220         * modules/roundl-tests (Files): Likewise.
69221         * modules/safe-alloc-tests (Files): Likewise.
69222         * modules/setenv-tests (Files): Likewise.
69223         * modules/sigaction-tests (Files): Likewise.
69224         * modules/signbit-tests (Files): Likewise.
69225         * modules/sleep-tests (Files): Likewise.
69226         * modules/snprintf-posix-tests (Files): Likewise.
69227         * modules/snprintf-tests (Files): Likewise.
69228         * modules/sprintf-posix-tests (Files): Likewise.
69229         * modules/stat-tests (Files): Likewise.
69230         * modules/stat-time-tests (Files): Likewise.
69231         * modules/strcasestr-tests (Files): Likewise.
69232         * modules/strchrnul-tests (Files): Likewise.
69233         * modules/strerror-tests (Files): Likewise.
69234         * modules/striconv-tests (Files): Likewise.
69235         * modules/striconveh-tests (Files): Likewise.
69236         * modules/striconveha-tests (Files): Likewise.
69237         * modules/strsignal-tests (Files): Likewise.
69238         * modules/strstr-tests (Files): Likewise.
69239         * modules/strtod-tests (Files): Likewise.
69240         * modules/strverscmp-tests (Files): Likewise.
69241         * modules/symlink-tests (Files): Likewise.
69242         * modules/symlinkat-tests (Files): Likewise.
69243         * modules/trunc-tests (Files): Likewise.
69244         * modules/truncf-tests (Files): Likewise.
69245         * modules/truncl-tests (Files): Likewise.
69246         * modules/uname-tests (Files): Likewise.
69247         * modules/unicase/cased-tests (Files): Likewise.
69248         * modules/unicase/ignorable-tests (Files): Likewise.
69249         * modules/unicase/locale-language-tests (Files): Likewise.
69250         * modules/unicase/tolower-tests (Files): Likewise.
69251         * modules/unicase/totitle-tests (Files): Likewise.
69252         * modules/unicase/toupper-tests (Files): Likewise.
69253         * modules/unicase/u8-casecmp-tests (Files): Likewise.
69254         * modules/unicase/u8-casecoll-tests (Files): Likewise.
69255         * modules/unicase/u8-casefold-tests (Files): Likewise.
69256         * modules/unicase/u8-is-cased-tests (Files): Likewise.
69257         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
69258         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
69259         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
69260         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
69261         * modules/unicase/u8-tolower-tests (Files): Likewise.
69262         * modules/unicase/u8-totitle-tests (Files): Likewise.
69263         * modules/unicase/u8-toupper-tests (Files): Likewise.
69264         * modules/unicase/u16-casecmp-tests (Files): Likewise.
69265         * modules/unicase/u16-casecoll-tests (Files): Likewise.
69266         * modules/unicase/u16-casefold-tests (Files): Likewise.
69267         * modules/unicase/u16-is-cased-tests (Files): Likewise.
69268         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
69269         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
69270         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
69271         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
69272         * modules/unicase/u16-tolower-tests (Files): Likewise.
69273         * modules/unicase/u16-totitle-tests (Files): Likewise.
69274         * modules/unicase/u16-toupper-tests (Files): Likewise.
69275         * modules/unicase/u32-casecmp-tests (Files): Likewise.
69276         * modules/unicase/u32-casecoll-tests (Files): Likewise.
69277         * modules/unicase/u32-casefold-tests (Files): Likewise.
69278         * modules/unicase/u32-is-cased-tests (Files): Likewise.
69279         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
69280         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
69281         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
69282         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
69283         * modules/unicase/u32-tolower-tests (Files): Likewise.
69284         * modules/unicase/u32-totitle-tests (Files): Likewise.
69285         * modules/unicase/u32-toupper-tests (Files): Likewise.
69286         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
69287         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
69288         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
69289         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
69290         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
69291         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
69292         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
69293         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
69294         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
69295         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
69296         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
69297         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
69298         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
69299         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
69300         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
69301         * modules/unictype/bidicategory-name-tests (Files): Likewise.
69302         * modules/unictype/bidicategory-of-tests (Files): Likewise.
69303         * modules/unictype/bidicategory-test-tests (Files): Likewise.
69304         * modules/unictype/block-list-tests (Files): Likewise.
69305         * modules/unictype/block-of-tests (Files): Likewise.
69306         * modules/unictype/block-test-tests (Files): Likewise.
69307         * modules/unictype/category-C-tests (Files): Likewise.
69308         * modules/unictype/category-Cc-tests (Files): Likewise.
69309         * modules/unictype/category-Cf-tests (Files): Likewise.
69310         * modules/unictype/category-Cn-tests (Files): Likewise.
69311         * modules/unictype/category-Co-tests (Files): Likewise.
69312         * modules/unictype/category-Cs-tests (Files): Likewise.
69313         * modules/unictype/category-L-tests (Files): Likewise.
69314         * modules/unictype/category-Ll-tests (Files): Likewise.
69315         * modules/unictype/category-Lm-tests (Files): Likewise.
69316         * modules/unictype/category-Lo-tests (Files): Likewise.
69317         * modules/unictype/category-Lt-tests (Files): Likewise.
69318         * modules/unictype/category-Lu-tests (Files): Likewise.
69319         * modules/unictype/category-M-tests (Files): Likewise.
69320         * modules/unictype/category-Mc-tests (Files): Likewise.
69321         * modules/unictype/category-Me-tests (Files): Likewise.
69322         * modules/unictype/category-Mn-tests (Files): Likewise.
69323         * modules/unictype/category-N-tests (Files): Likewise.
69324         * modules/unictype/category-Nd-tests (Files): Likewise.
69325         * modules/unictype/category-Nl-tests (Files): Likewise.
69326         * modules/unictype/category-No-tests (Files): Likewise.
69327         * modules/unictype/category-P-tests (Files): Likewise.
69328         * modules/unictype/category-Pc-tests (Files): Likewise.
69329         * modules/unictype/category-Pd-tests (Files): Likewise.
69330         * modules/unictype/category-Pe-tests (Files): Likewise.
69331         * modules/unictype/category-Pf-tests (Files): Likewise.
69332         * modules/unictype/category-Pi-tests (Files): Likewise.
69333         * modules/unictype/category-Po-tests (Files): Likewise.
69334         * modules/unictype/category-Ps-tests (Files): Likewise.
69335         * modules/unictype/category-S-tests (Files): Likewise.
69336         * modules/unictype/category-Sc-tests (Files): Likewise.
69337         * modules/unictype/category-Sk-tests (Files): Likewise.
69338         * modules/unictype/category-Sm-tests (Files): Likewise.
69339         * modules/unictype/category-So-tests (Files): Likewise.
69340         * modules/unictype/category-Z-tests (Files): Likewise.
69341         * modules/unictype/category-Zl-tests (Files): Likewise.
69342         * modules/unictype/category-Zp-tests (Files): Likewise.
69343         * modules/unictype/category-Zs-tests (Files): Likewise.
69344         * modules/unictype/category-and-not-tests (Files): Likewise.
69345         * modules/unictype/category-and-tests (Files): Likewise.
69346         * modules/unictype/category-byname-tests (Files): Likewise.
69347         * modules/unictype/category-name-tests (Files): Likewise.
69348         * modules/unictype/category-none-tests (Files): Likewise.
69349         * modules/unictype/category-of-tests (Files): Likewise.
69350         * modules/unictype/category-or-tests (Files): Likewise.
69351         * modules/unictype/category-test-withtable-tests (Files): Likewise.
69352         * modules/unictype/combining-class-tests (Files): Likewise.
69353         * modules/unictype/ctype-alnum-tests (Files): Likewise.
69354         * modules/unictype/ctype-alpha-tests (Files): Likewise.
69355         * modules/unictype/ctype-blank-tests (Files): Likewise.
69356         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
69357         * modules/unictype/ctype-digit-tests (Files): Likewise.
69358         * modules/unictype/ctype-graph-tests (Files): Likewise.
69359         * modules/unictype/ctype-lower-tests (Files): Likewise.
69360         * modules/unictype/ctype-print-tests (Files): Likewise.
69361         * modules/unictype/ctype-punct-tests (Files): Likewise.
69362         * modules/unictype/ctype-space-tests (Files): Likewise.
69363         * modules/unictype/ctype-upper-tests (Files): Likewise.
69364         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
69365         * modules/unictype/decimal-digit-tests (Files): Likewise.
69366         * modules/unictype/digit-tests (Files): Likewise.
69367         * modules/unictype/mirror-tests (Files): Likewise.
69368         * modules/unictype/numeric-tests (Files): Likewise.
69369         * modules/unictype/property-alphabetic-tests (Files): Likewise.
69370         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
69371         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
69372         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
69373         Likewise.
69374         * modules/unictype/property-bidi-block-separator-tests (Files):
69375         Likewise.
69376         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
69377         Likewise.
69378         * modules/unictype/property-bidi-common-separator-tests (Files):
69379         Likewise.
69380         * modules/unictype/property-bidi-control-tests (Files): Likewise.
69381         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
69382         Likewise.
69383         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
69384         Likewise.
69385         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
69386         Likewise.
69387         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
69388         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
69389         Likewise.
69390         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
69391         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
69392         Likewise.
69393         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
69394         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
69395         * modules/unictype/property-bidi-segment-separator-tests (Files):
69396         Likewise.
69397         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
69398         * modules/unictype/property-byname-tests (Files): Likewise.
69399         * modules/unictype/property-combining-tests (Files): Likewise.
69400         * modules/unictype/property-composite-tests (Files): Likewise.
69401         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
69402         * modules/unictype/property-dash-tests (Files): Likewise.
69403         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
69404         * modules/unictype/property-default-ignorable-code-point-tests (Files):
69405         Likewise.
69406         * modules/unictype/property-deprecated-tests (Files): Likewise.
69407         * modules/unictype/property-diacritic-tests (Files): Likewise.
69408         * modules/unictype/property-extender-tests (Files): Likewise.
69409         * modules/unictype/property-format-control-tests (Files): Likewise.
69410         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
69411         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
69412         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
69413         * modules/unictype/property-hex-digit-tests (Files): Likewise.
69414         * modules/unictype/property-hyphen-tests (Files): Likewise.
69415         * modules/unictype/property-id-continue-tests (Files): Likewise.
69416         * modules/unictype/property-id-start-tests (Files): Likewise.
69417         * modules/unictype/property-ideographic-tests (Files): Likewise.
69418         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
69419         * modules/unictype/property-ids-trinary-operator-tests (Files):
69420         Likewise.
69421         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
69422         * modules/unictype/property-iso-control-tests (Files): Likewise.
69423         * modules/unictype/property-join-control-tests (Files): Likewise.
69424         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
69425         * modules/unictype/property-line-separator-tests (Files): Likewise.
69426         * modules/unictype/property-logical-order-exception-tests (Files):
69427         Likewise.
69428         * modules/unictype/property-lowercase-tests (Files): Likewise.
69429         * modules/unictype/property-math-tests (Files): Likewise.
69430         * modules/unictype/property-non-break-tests (Files): Likewise.
69431         * modules/unictype/property-not-a-character-tests (Files): Likewise.
69432         * modules/unictype/property-numeric-tests (Files): Likewise.
69433         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
69434         * modules/unictype/property-other-default-ignorable-code-point-tests
69435         (Files): Likewise.
69436         * modules/unictype/property-other-grapheme-extend-tests (Files):
69437         Likewise.
69438         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
69439         * modules/unictype/property-other-id-start-tests (Files): Likewise.
69440         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
69441         * modules/unictype/property-other-math-tests (Files): Likewise.
69442         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
69443         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
69444         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
69445         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
69446         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
69447         * modules/unictype/property-private-use-tests (Files): Likewise.
69448         * modules/unictype/property-punctuation-tests (Files): Likewise.
69449         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
69450         * modules/unictype/property-radical-tests (Files): Likewise.
69451         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
69452         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
69453         * modules/unictype/property-space-tests (Files): Likewise.
69454         * modules/unictype/property-terminal-punctuation-tests (Files):
69455         Likewise.
69456         * modules/unictype/property-test-tests (Files): Likewise.
69457         * modules/unictype/property-titlecase-tests (Files): Likewise.
69458         * modules/unictype/property-unassigned-code-value-tests (Files):
69459         Likewise.
69460         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
69461         * modules/unictype/property-uppercase-tests (Files): Likewise.
69462         * modules/unictype/property-variation-selector-tests (Files): Likewise.
69463         * modules/unictype/property-white-space-tests (Files): Likewise.
69464         * modules/unictype/property-xid-continue-tests (Files): Likewise.
69465         * modules/unictype/property-xid-start-tests (Files): Likewise.
69466         * modules/unictype/property-zero-width-tests (Files): Likewise.
69467         * modules/unictype/scripts-tests (Files): Likewise.
69468         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
69469         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
69470         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
69471         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
69472         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
69473         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
69474         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
69475         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
69476         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
69477         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
69478         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
69479         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
69480         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
69481         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
69482         * modules/uninorm/composition-tests (Files): Likewise.
69483         * modules/uninorm/decomposing-form-tests (Files): Likewise.
69484         * modules/uninorm/decomposition-tests (Files): Likewise.
69485         * modules/uninorm/filter-tests (Files): Likewise.
69486         * modules/uninorm/nfc-tests (Files): Likewise.
69487         * modules/uninorm/nfd-tests (Files): Likewise.
69488         * modules/uninorm/nfkc-tests (Files): Likewise.
69489         * modules/uninorm/nfkd-tests (Files): Likewise.
69490         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
69491         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
69492         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
69493         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
69494         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
69495         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
69496         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
69497         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
69498         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
69499         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
69500         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
69501         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
69502         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
69503         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
69504         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
69505         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
69506         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
69507         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
69508         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
69509         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
69510         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
69511         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
69512         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
69513         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
69514         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
69515         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
69516         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
69517         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
69518         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
69519         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
69520         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
69521         * modules/uniwidth/u8-width-tests (Files): Likewise.
69522         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
69523         * modules/uniwidth/u16-width-tests (Files): Likewise.
69524         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
69525         * modules/uniwidth/u32-width-tests (Files): Likewise.
69526         * modules/uniwidth/width-tests (Files): Likewise.
69527         * modules/unlink-tests (Files): Likewise.
69528         * modules/unsetenv-tests (Files): Likewise.
69529         * modules/usleep-tests (Files): Likewise.
69530         * modules/utimens-tests (Files): Likewise.
69531         * modules/utimensat-tests (Files): Likewise.
69532         * modules/vasnprintf-posix-tests (Files): Likewise.
69533         * modules/vasnprintf-tests (Files): Likewise.
69534         * modules/vasprintf-posix-tests (Files): Likewise.
69535         * modules/vasprintf-tests (Files): Likewise.
69536         * modules/vdprintf-posix-tests (Files): Likewise.
69537         * modules/vfprintf-posix-tests (Files): Likewise.
69538         * modules/vprintf-posix-tests (Files): Likewise.
69539         * modules/vsnprintf-posix-tests (Files): Likewise.
69540         * modules/vsnprintf-tests (Files): Likewise.
69541         * modules/vsprintf-posix-tests (Files): Likewise.
69542         * modules/wcrtomb-tests (Files): Likewise.
69543         * modules/wcsnrtombs-tests (Files): Likewise.
69544         * modules/wcsrtombs-tests (Files): Likewise.
69545         * modules/wctype-tests (Files): Likewise.
69546         * modules/wcwidth-tests (Files): Likewise.
69547         * modules/xmemdup0-tests (Files): Likewise.
69548         * modules/xprintf-posix-tests (Files): Likewise.
69549         * modules/xvasprintf-tests (Files): Likewise.
69551 2009-12-24  Eric Blake  <ebb9@byu.net>
69553         test-nanosleep: fix typo
69554         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
69555         patch.
69556         Reported by Bruno Haible.
69558 2009-12-24  Bruno Haible  <bruno@clisp.org>
69560         Reduce namespace pollution on glibc systems.
69561         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
69562         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
69563         systems.
69564         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
69565         <getopt.h> on glibc systems.
69566         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
69567         systems.
69568         * lib/fcntl.c: Include <unistd.h> here instead.
69570 2009-12-24  Bruno Haible  <bruno@clisp.org>
69572         * lib/stdlib.in.h (includes): Fix typo in today's commit.
69574 2009-12-24  Eric Blake  <ebb9@byu.net>
69576         tests: add signature checks
69577         * tests/signature.h (SIGNATURE_CHECK): New file.
69578         * modules/atexit-tests (Files): Use it.
69579         * modules/btowc-tests (Files): Likewise.
69580         * modules/canonicalize-lgpl-tests (Files): Likewise.
69581         * modules/ceilf-tests (Files): Likewise.
69582         * modules/ceill-tests (Files): Likewise.
69583         * modules/chown-tests (Files): Likewise.
69584         * modules/dprintf-posix-tests (Files): Likewise.
69585         * modules/dup2-tests (Files): Likewise.
69586         * modules/dup3-tests (Files): Likewise.
69587         * modules/duplocale-tests (Files): Likewise.
69588         * modules/fchdir-tests (Files): Likewise.
69589         * modules/fcntl-tests (Files): Likewise.
69590         * modules/fdopendir-tests (Files): Likewise.
69591         * modules/fflush-tests (Files): Likewise.
69592         * modules/flock-tests (Files): Likewise.
69593         * modules/floorf-tests (Files): Likewise.
69594         * modules/floorl-tests (Files): Likewise.
69595         * modules/fnmatch-tests (Files): Likewise.
69596         * modules/fopen-tests (Files): Likewise.
69597         * modules/fprintf-posix-tests (Files): Likewise.
69598         * modules/freopen-tests (Files): Likewise.
69599         * modules/frexp-nolibm-tests (Files): Likewise.
69600         * modules/frexp-tests (Files): Likewise.
69601         * modules/frexpl-nolibm-tests (Files): Likewise.
69602         * modules/frexpl-tests (Files): Likewise.
69603         * modules/fseek-tests (Files): Likewise.
69604         * modules/fseeko-tests (Files): Likewise.
69605         * modules/fsync-tests (Files): Likewise.
69606         * modules/ftell-tests (Files): Likewise.
69607         * modules/ftello-tests (Files): Likewise.
69608         * modules/futimens-tests (Files): Likewise.
69609         * modules/getaddrinfo-tests (Files): Likewise.
69610         * modules/getcwd-tests (Files): Likewise.
69611         * modules/getdelim-tests (Files): Likewise.
69612         * modules/getdtablesize-tests (Files): Likewise.
69613         * modules/getgroups-tests (Files): Likewise.
69614         * modules/gethostname-tests (Files): Likewise.
69615         * modules/getline-tests (Files): Likewise.
69616         * modules/getopt-posix-tests (Files): Likewise.
69617         * modules/gettimeofday-tests (Files): Likewise.
69618         * modules/glob-tests (Files): Likewise.
69619         * modules/iconv-tests (Files): Likewise.
69620         * modules/inet_ntop-tests (Files): Likewise.
69621         * modules/inet_pton-tests (Files): Likewise.
69622         * modules/isblank-tests (Files): Likewise.
69623         * modules/lchown-tests (Files): Likewise.
69624         * modules/ldexpl-tests (Files): Likewise.
69625         * modules/link-tests (Files): Likewise.
69626         * modules/linkat-tests (Files): Likewise.
69627         * modules/lseek-tests (Files): Likewise.
69628         * modules/lstat-tests (Files): Likewise.
69629         * modules/mbrtowc-tests (Files): Likewise.
69630         * modules/mbsinit-tests (Files): Likewise.
69631         * modules/mbsnrtowcs-tests (Files): Likewise.
69632         * modules/mbsrtowcs-tests (Files): Likewise.
69633         * modules/memchr-tests (Files): Likewise.
69634         * modules/memcmp-tests (Files): Likewise.
69635         * modules/memmem-tests (Files): Likewise.
69636         * modules/memrchr-tests (Files): Likewise.
69637         * modules/mkdir-tests (Files): Likewise.
69638         * modules/mkfifo-tests (Files): Likewise.
69639         * modules/mkfifoat-tests (Files): Likewise.
69640         * modules/mknod-tests (Files): Likewise.
69641         * modules/nanosleep-tests (Files): Likewise.
69642         * modules/nl_langinfo-tests (Files): Likewise.
69643         * modules/obstack-printf-tests (Files): Likewise.
69644         * modules/open-tests (Files): Likewise.
69645         * modules/openat-tests (Files): Likewise.
69646         * modules/perror-tests (Files): Likewise.
69647         * modules/pipe2-tests (Files): Likewise.
69648         * modules/poll-tests (Files): Likewise.
69649         * modules/popen-tests (Files): Likewise.
69650         * modules/posix_spawn-tests (Files): Likewise.
69651         * modules/posix_spawnp-tests (Files): Likewise.
69652         * modules/pread-tests (Files): Likewise.
69653         * modules/printf-posix-tests (Files): Likewise.
69654         * modules/pty-tests (Files): Likewise.
69655         * modules/random_r-tests (Files): Likewise.
69656         * modules/rawmemchr-tests (Files): Likewise.
69657         * modules/readlink-tests (Files): Likewise.
69658         * modules/remove-tests (Files): Likewise.
69659         * modules/rename-tests (Files): Likewise.
69660         * modules/renameat-tests (Files): Likewise.
69661         * modules/rmdir-tests (Files): Likewise.
69662         * modules/round-tests (Files): Likewise.
69663         * modules/roundf-tests (Files): Likewise.
69664         * modules/roundl-tests (Files): Likewise.
69665         * modules/select-tests (Files): Likewise.
69666         * modules/setenv-tests (Files): Likewise.
69667         * modules/sigaction-tests (Files): Likewise.
69668         * modules/sleep-tests (Files): Likewise.
69669         * modules/snprintf-posix-tests (Files): Likewise.
69670         * modules/snprintf-tests (Files): Likewise.
69671         * modules/sprintf-posix-tests (Files): Likewise.
69672         * modules/stat-tests (Files): Likewise.
69673         * modules/strcasestr-tests (Files): Likewise.
69674         * modules/strchrnul-tests (Files): Likewise.
69675         * modules/strerror-tests (Files): Likewise.
69676         * modules/strsignal-tests (Files): Likewise.
69677         * modules/strstr-tests (Files): Likewise.
69678         * modules/strtod-tests (Files): Likewise.
69679         * modules/strverscmp-tests (Files): Likewise.
69680         * modules/symlink-tests (Files): Likewise.
69681         * modules/symlinkat-tests (Files): Likewise.
69682         * modules/times-tests (Files): Likewise.
69683         * modules/trunc-tests (Files): Likewise.
69684         * modules/truncf-tests (Files): Likewise.
69685         * modules/truncl-tests (Files): Likewise.
69686         * modules/tsearch-tests (Files): Likewise.
69687         * modules/uname-tests (Files): Likewise.
69688         * modules/unlink-tests (Files): Likewise.
69689         * modules/unsetenv-tests (Files): Likewise.
69690         * modules/usleep-tests (Files): Likewise.
69691         * modules/utimensat-tests (Files): Likewise.
69692         * modules/vasprintf-tests (Files): Likewise.
69693         * modules/vdprintf-posix-tests (Files): Likewise.
69694         * modules/vfprintf-posix-tests (Files): Likewise.
69695         * modules/vprintf-posix-tests (Files): Likewise.
69696         * modules/vsnprintf-posix-tests (Files): Likewise.
69697         * modules/vsnprintf-tests (Files): Likewise.
69698         * modules/vsprintf-posix-tests (Files): Likewise.
69699         * modules/wcrtomb-tests (Files): Likewise.
69700         * modules/wcsnrtombs-tests (Files): Likewise.
69701         * modules/wcsrtombs-tests (Files): Likewise.
69702         * modules/wcwidth-tests (Files): Likewise.
69703         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
69704         * tests/test-isinf.c (isinf): Likewise.
69705         * tests/test-isnan.c (isnan): Likewise.
69706         * tests/test-signbit.c (signbit): Likewise.
69707         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
69708         declaration, either as macro or with correct signature.
69709         (select): Ensure function under test is declared with correct
69710         signature in correct header.
69711         * tests/test-atexit.c (atexit): Likewise.
69712         * tests/test-btowc.c (btowc): Likewise.
69713         * tests/test-canonicalize-lgpl.c (realpath)
69714         (canonicalize_file_name): Likewise.
69715         * tests/test-ceilf1.c (ceilf): Likewise.
69716         * tests/test-ceill.c (ceill): Likewise.
69717         * tests/test-chown.c (chown): Likewise.
69718         * tests/test-dprintf-posix.c (dprintf): Likewise.
69719         * tests/test-dup2.c (dup2): Likewise.
69720         * tests/test-dup3.c (dup3): Likewise.
69721         * tests/test-duplocale.c (duplocale): Likewise.
69722         * tests/test-fchdir.c (fchdir): Likewise.
69723         * tests/test-fchownat.c (fchownat): Likewise.
69724         * tests/test-fcntl.c (fcntl): Likewise.
69725         * tests/test-fdopendir.c (fdopendir): Likewise.
69726         * tests/test-fflush.c (fflush): Likewise.
69727         * tests/test-flock.c (flock): Likewise.
69728         * tests/test-floorf1.c (floorf): Likewise.
69729         * tests/test-floorl.c (floorl): Likewise.
69730         * tests/test-fnmatch.c (fnmatch): Likewise.
69731         * tests/test-fopen.c (fopen): Likewise.
69732         * tests/test-fprintf-posix.c (fprintf): Likewise.
69733         * tests/test-freopen.c (freopen): Likewise.
69734         * tests/test-frexp.c (frexp): Likewise.
69735         * tests/test-frexpl.c (frexpl): Likewise.
69736         * tests/test-fseek.c (fseek): Likewise.
69737         * tests/test-fseeko.c (fseeko): Likewise.
69738         * tests/test-fstatat.c (fstatat): Likewise.
69739         * tests/test-fsync.c (fsync): Likewise.
69740         * tests/test-ftell.c (ftell): Likewise.
69741         * tests/test-ftello.c (ftello): Likewise.
69742         * tests/test-futimens.c (futimens): Likewise.
69743         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
69744         (gai_strerror): Likewise.
69745         * tests/test-getcwd.c (getcwd): Likewise.
69746         * tests/test-getdelim.c (getdelim): Likewise.
69747         * tests/test-getdtablesize.c (getdtablesize): Likewise.
69748         * tests/test-getgroups.c (getgroups): Likewise.
69749         * tests/test-gethostname.c (gethostname): Likewise.
69750         * tests/test-getline.c (getline): Likewise.
69751         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
69752         Likewise.
69753         * tests/test-gettimeofday.c (gettimeofday): Likewise.
69754         * tests/test-glob.c (glob, globfree): Likewise.
69755         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
69756         * tests/test-inet_ntop.c (inet_ntop): Likewise.
69757         * tests/test-inet_pton.c (inet_pton): Likewise.
69758         * tests/test-isblank.c (isblank): Likewise.
69759         * tests/test-lchown.c (lchown): Likewise.
69760         * tests/test-ldexpl.c (ldexpl): Likewise.
69761         * tests/test-link.c (link): Likewise.
69762         * tests/test-linkat.c (linkat): Likewise.
69763         * tests/test-lseek.c (lseek): Likewise.
69764         * tests/test-lstat.c (lstat): Likewise.
69765         * tests/test-mbrtowc.c (mbrtowc): Likewise.
69766         * tests/test-mbsinit.c (mbsinit): Likewise.
69767         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
69768         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
69769         * tests/test-memchr.c (memchr): Likewise.
69770         * tests/test-memcmp.c (memcmp): Likewise.
69771         * tests/test-memmem.c (memmem): Likewise.
69772         * tests/test-memrchr.c (memrchr): Likewise.
69773         * tests/test-mkdir.c (mkdir): Likewise.
69774         * tests/test-mkdirat.c (mkdirat): Likewise.
69775         * tests/test-mkfifo.c (mkfifo): Likewise.
69776         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
69777         * tests/test-mknod.c (mknod): Likewise.
69778         * tests/test-nanosleep.c (nanosleep): Likewise.
69779         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
69780         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
69781         Likewise.
69782         * tests/test-open.c (open): Likewise.
69783         * tests/test-openat.c (openat): Likewise.
69784         * tests/test-perror.c (perror): Likewise.
69785         * tests/test-pipe2.c (pipe2): Likewise.
69786         * tests/test-poll.c (poll): Likewise.
69787         * tests/test-popen.c (popen, pclose): Likewise.
69788         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
69789         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
69790         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
69791         (posix_spawn_file_actions_destroy)
69792         (posix_spawn_file_actions_addclose)
69793         (posix_spawn_file_actions_addopen)
69794         (posix_spawn_file_actions_adddup2): Likewise.
69795         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
69796         * tests/test-pread.c (pread): Likewise.
69797         * tests/test-printf-posix.c (printf): Likewise.
69798         * tests/test-pty.c (openpty, forkpty): Likewise.
69799         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
69800         (random_r): Likewise.
69801         * tests/test-rawmemchr.c (rawmemchr): Likewise.
69802         * tests/test-readlink.c (readlink): Likewise.
69803         * tests/test-remove.c (remove): Likewise.
69804         * tests/test-rename.c (rename): Likewise.
69805         * tests/test-renameat.c (renameat): Likewise.
69806         * tests/test-rmdir.c (rmdir): Likewise.
69807         * tests/test-round1.c (round): Likewise.
69808         * tests/test-roundf1.c (roundf): Likewise.
69809         * tests/test-roundl.c (roundl): Likewise.
69810         * tests/test-setenv.c (setenv): Likewise.
69811         * tests/test-sigaction.c (sigaction): Likewise.
69812         * tests/test-sleep.c (sleep): Likewise.
69813         * tests/test-snprintf.c (snprintf): Likewise.
69814         * tests/test-sprintf-posix.c (sprintf): Likewise.
69815         * tests/test-stat.c (stat): Likewise.
69816         * tests/test-stpncpy.c (stpncpy): Likewise.
69817         * tests/test-strcasestr.c (strcasestr): Likewise.
69818         * tests/test-strchrnul.c (strchrnul): Likewise.
69819         * tests/test-strerror.c (strerror): Likewise.
69820         * tests/test-strsignal.c (strsignal): Likewise.
69821         * tests/test-strstr.c (strstr): Likewise.
69822         * tests/test-strtod.c (strtod): Likewise.
69823         * tests/test-strverscmp.c (strverscmp): Likewise.
69824         * tests/test-symlink.c (symlink): Likewise.
69825         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
69826         * tests/test-times.c (times): Likewise.
69827         * tests/test-trunc1.c (trunc): Likewise.
69828         * tests/test-truncf1.c (truncf): Likewise.
69829         * tests/test-truncl.c (truncl): Likewise.
69830         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
69831         Likewise.
69832         * tests/test-uname.c (uname): Likewise.
69833         * tests/test-unlink.c (unlink): Likewise.
69834         * tests/test-unlinkat.c (unlinkat): Likewise.
69835         * tests/test-unsetenv.c (unsetenv): Likewise.
69836         * tests/test-usleep.c (usleep): Likewise.
69837         * tests/test-utimensat.c (utimensat): Likewise.
69838         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
69839         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
69840         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
69841         * tests/test-vprintf-posix.c (vprintf): Likewise.
69842         * tests/test-vsnprintf.c (vsnprintf): Likewise.
69843         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
69844         * tests/test-wcrtomb.c (wcrtomb): Likewise.
69845         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
69846         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
69847         * tests/test-wcwidth.c (wcwidth): Likewise.
69849         build: pull in conditional headers during GNULIB_POSIXCHECK
69850         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
69851         definitions from any conditionally-included headers.
69852         * lib/stdlib.in.h (includes): Likewise.
69853         * lib/unistd.in.h (includes): Likewise.
69855 2009-12-24  Bruno Haible  <bruno@clisp.org>
69857         * tests/test-argv-iter.c: Include header file being tested immediately
69858         after config.h.
69859         * tests/test-base64.c: Likewise.
69860         * tests/test-flock.c: Likewise.
69861         * tests/test-fsync.c: Likewise.
69862         * tests/test-getdate.c: Likewise.
69863         * tests/test-getndelim2.c: Likewise.
69864         * tests/test-isfinite.c: Likewise.
69865         * tests/test-isinf.c: Likewise.
69866         * tests/test-strerror.c: Likewise.
69867         * tests/test-strsignal.c: Likewise.
69869 2009-12-23  Eric Blake  <ebb9@byu.net>
69871         unistd: work around cygwin bug
69872         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
69873         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
69874         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
69876 2009-12-23  Bruno Haible  <bruno@clisp.org>
69878         localename: More tests.
69879         * tests/test-localename.c (SIZEOF): New macro.
69880         (categories): New variable.
69881         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
69882         test_locale_name_default): Add test w.r.t. thread locale.
69883         (test_locale_name_thread): New function.
69884         (main): Invoke it.
69886         localename: Make aware of thread locale.
69887         * lib/localename.h (gl_locale_name_thread): New declaration.
69888         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
69889         behaviour with respect to thread locale.
69890         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
69891         <langinfo.h>, glthread/lock.h.
69892         (SIZE_BITS): New macro.
69893         (string_hash): New function.
69894         (struct hash_node): New type.
69895         (HASH_TABLE_SIZE): New macro.
69896         (struniq_hash_table, struniq_lock): New variables.
69897         (struniq): New function.
69898         (gl_locale_name_thread): New function.
69899         (gl_locale_name): Invoke it.
69900         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
69901         * modules/localename (Depends-on): Add lock.
69902         Reported by Mike Gran <spk121@yahoo.com>.
69904 2009-12-23  Eric Blake  <ebb9@byu.net>
69906         va-args: new module
69907         * modules/va-args: New file.
69908         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
69909         * MODULES.html.sh (Core language properties): Mention it.
69911         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
69912         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
69913         named alias for __attribute__((__unused__)).
69914         * lib/chown.c: Update client.
69915         * lib/fchmodat.c: Likewise.
69916         * lib/fts.c: Likewise.
69917         * lib/getdate.y: Likewise.
69918         * lib/getgroups.c: Likewise.
69919         * lib/getopt.c: Likewise.
69920         * lib/getugroups.c: Likewise.
69921         * lib/mkdir.c: Likewise.
69922         * lib/mkfifo.c: Likewise.
69923         * lib/mkfifoat.c: Likewise.
69924         * lib/mknod.c: Likewise.
69925         * lib/mknodat.c: Likewise.
69926         * lib/readlink.c: Likewise.
69927         * lib/se-context.in.h: Likewise.
69928         * lib/se-selinux.in.h: Likewise.
69929         * lib/sockets.c: Likewise.
69930         * lib/symlink.c: Likewise.
69931         * lib/symlinkat.c: Likewise.
69932         * lib/unicodeio.c: Likewise.
69933         * lib/unistr.h: Likewise.
69934         * tests/test-areadlink.c: Likewise.
69935         * tests/test-areadlinkat.c: Likewise.
69936         * tests/test-filenamecat.c: Likewise.
69937         * tests/test-fseeko.c: Likewise.
69938         * tests/test-ftello.c: Likewise.
69939         * tests/test-getdate.c: Likewise.
69940         * tests/test-getgroups.c: Likewise.
69941         * tests/test-gethostname.c: Likewise.
69942         * tests/test-quotearg.c: Likewise.
69943         * tests/test-version-etc.c: Likewise.
69944         * tests/test-xalloc-die.c: Likewise.
69945         * tests/test-xfprintf-posix.c: Likewise.
69946         * tests/test-xprintf-posix.c: Likewise.
69947         * tests/test-xvasprintf.c: Likewise.
69949         tests: avoid compiler warnings
69950         * tests/test-fcntl.c (main): Delete unused parameters.
69951         * tests/test-freopen-safer.c (main): Likewise.
69952         * tests/test-xalloc-die.c (main): Mark unused parameters.
69953         * tests/test-fseeko.c (main): Likewise.
69954         * tests/test-ftello.c (main): Likewise.
69955         * tests/test-nanosleep.c (main): Avoid declaration warning.
69956         * tests/test-sleep.c (main): Likewise.
69957         * tests/test-unsetenv.c (main): Silence warning about string
69958         literal.
69959         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
69961 2009-12-23  Bruno Haible  <bruno@clisp.org>
69963         * tests/test-localename.c (test_locale_name): New function, extracted
69964         from main. Also test mixed situations.
69965         (test_locale_name_posix, test_locale_name_environ,
69966         test_locale_name_default): New functions.
69967         (main): Invoke them all.
69968         * modules/localename-tests (configure.ac): Test for newlocale.
69970 2009-12-23  Bruno Haible  <bruno@clisp.org>
69972         unistd: Ensure getcwd gets declared before being overridden.
69973         * lib/unistd.in.h: Conditionally include <io.h>.
69975 2009-12-22  Bruno Haible  <bruno@clisp.org>
69977         wchar: Diagnose broken combination of glibc and gcc versions and flags.
69978         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
69979         (gl_WCHAR_H): Invoke it.
69980         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
69981         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
69982         Reported by Karl Berry <karl@freefriends.org>.
69984 2009-12-22  Eric Blake  <ebb9@byu.net>
69986         math, unistd: avoid redundant includes
69987         * lib/math.in.h (isnan): No need to re-include <math.h>.
69988         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
69990         getsubopt: work around cygwin bug
69991         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
69992         avoid conflicting with system getsubopt.
69993         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
69994         bug.
69996         getopt: synchronize from glibc
69997         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
69998         parameter order.  Adjust all callers.
69999         (_getopt_internal_r, main): Adjust quoting in error messages.
70000         Drop considerations for outdated POSIX 1003.2 error message.
70001         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
70002         callers.
70003         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
70005         test-getopt: test stderr behavior
70006         * modules/getopt-posix-tests (Depends-on): Add dup2.
70007         * tests/test-getopt.c (ASSERT): Avoid stderr.
70008         (main): Move stderr to a temporary file.
70009         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
70010         Instead, add parameter to inform caller if output occurred.
70011         (test_getopt): Adjust all existing tests to expect silence, and
70012         add new tests of leading ":".
70013         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
70014         glibc shortcomings with leading "-:" or "+:" in optstring.
70015         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70016         Likewise.
70017         * doc/posix-functions/getopt.texi (getopt): Likewise.
70019         test-getopt: enhance test
70020         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
70021         supports optind=0.
70022         * tests/test-getopt.c (OPTIND_MIN): Move...
70023         * tests/test-getopt.h (OPTIND_MIN): ...here.
70024         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
70025         Require that optind=0 works, since modern BSD supports it in
70026         addition to optreset, and since coreutils expects it.
70027         (test_getopt_long_only): New test.
70028         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
70029         glibc shortcomings with 'W;', and enforcement of optind=0.
70030         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
70031         Likewise.
70033 2009-12-21  Bruno Haible  <bruno@clisp.org>
70035         localename: Improvements for MacOS X and Cygwin.
70036         * lib/localename.h (gl_locale_name_environ): New declaration.
70037         * lib/localename.c (gl_locale_name_environ): New function, extracted from
70038         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
70039         (gl_locale_name_posix): Invoke it.
70040         (gl_locale_name_default): Add comments. Use Windows native API also on
70041         Cygwin.
70043 2009-12-21  Bruno Haible  <bruno@clisp.org>
70045         Update list of Win32 locale ids.
70046         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
70047         (LANG_SAMI): Renamed from LANG_SAAMI.
70048         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
70049         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
70050         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
70051         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
70052         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
70053         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
70054         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
70055         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
70056         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
70057         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
70058         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
70059         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
70060         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
70061         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
70062         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
70063         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
70064         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
70065         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
70066         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
70067         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
70068         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
70069         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
70070         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
70071         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
70072         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
70073         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
70074         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
70075         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
70076         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
70077         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
70078         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
70079         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
70080         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
70081         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
70082         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
70083         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
70084         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
70085         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
70086         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
70087         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
70088         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
70089         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
70090         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
70091         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
70092         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
70093         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
70094         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
70095         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
70096         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
70097         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
70098         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
70099         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
70100         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
70101         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
70102         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
70103         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
70104         Add more languages and countries for Sami, Sorbian. Add more countries
70105         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
70106         for Pashto. Change country for Syriac, Tswana.
70108 2009-12-21  Eric Blake  <ebb9@byu.net>
70110         test-utimens: avoid spurious failure
70111         * tests/test-chown.h (nap): Factor...
70112         * tests/nap.h: ...into new file.
70113         * tests/test-lchown.h (nap): Avoid duplication.
70114         * tests/test-utimens-common.h (nap): Use shared implementation,
70115         necessary on file systems with 1-second resolution.
70116         * modules/chown-tests (Files): Include new file.
70117         * modules/fdutimensat-tests (Files): Likewise.
70118         * modules/futimens-tests (Files): Likewise.
70119         * modules/lchown-tests (Files): Likewise.
70120         * modules/openat-tests (Files): Likewise.
70121         * modules/utimens-tests (Files): Likewise.
70122         * modules/utimensat-tests (Files): Likewise.
70124 2009-12-19  Eric Blake  <ebb9@byu.net>
70126         futimens, utimensat: work around Linux bug
70127         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
70128         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
70129         * lib/utimensat.c (rpl_utimensat): Work around it.
70130         * lib/futimens.c (rpl_futimens): Adjust comment.
70132         utimens: work around Linux ctime bug
70133         * lib/utimens.c (detect_ctime_bug): New helper function.
70134         (update_timespec): Differentiate between workaround needed for
70135         this bug vs. what is needed for systems that lack utimensat.
70136         (fdutimens, lutimens): Work around bug.
70138         utimens: check for ctime update
70139         * tests/test-utimens-common.h (check_ctime): Define.
70140         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
70141         * tests/test-futimens.h (test_futimens): Likewise.
70142         * tests/test-lutimens.h (test_lutimens): Likewise.
70143         * doc/posix-functions/futimens.texi (futimens): Document the bug.
70144         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
70146 2009-12-19  Bruno Haible  <bruno@clisp.org>
70148         dprintf-posix: Check against memory leak fixed on 2009-12-15.
70149         * tests/test-dprintf-posix2.sh: New file.
70150         * tests/test-dprintf-posix2.c: New file.
70151         * modules/dprintf-posix-tests (Files): Add them.
70152         (configure.ac): Check for getrlimit and setrlimit.
70153         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
70155 2009-12-19  Bruno Haible  <bruno@clisp.org>
70157         fprintf-posix: Check against memory leak fixed on 2009-12-15.
70158         * tests/test-fprintf-posix3.sh: New file.
70159         * tests/test-fprintf-posix3.c: New file.
70160         * modules/fprintf-posix-tests (Files): Add them.
70161         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
70163 2009-12-19  Eric Blake  <ebb9@byu.net>
70165         dirfd: fix prototype
70166         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
70167         * lib/dirfd.c (dirfd): Likewise.
70169         canonicalize: reduce memory usage
70170         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
70171         allocation to size.
70172         Reported by Solar Designer <solar@openwall.com>.
70174 2009-12-19  Bruno Haible  <bruno@clisp.org>
70176         New module attribute 'Applicability'.
70177         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
70178         * gnulib-tool: New option --extract-applicability.
70179         (func_usage): Document it.
70180         (sed_extract_prog): Recognize it.
70181         (func_get_applicability): New function.
70182         (func_import): Generalize handling of 'link-warning' module.
70183         * modules/link-warning (Applicability): New section.
70184         * modules/arg-nonnull (Applicability): New section.
70185         Repoted by Simon Josefsson <simon@josefsson.org>.
70187 2009-12-19  Bruno Haible  <bruno@clisp.org>
70189         fflush: tweak
70190         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
70191         * lib/fseeko.c (rpl_fseeko): Likewise.
70193 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
70195         * lib/gl_list.h: Fix typo in comment.
70197 2009-12-16  Eric Blake  <ebb9@byu.net>
70199         fcntl: use to simplify other modules
70200         * modules/cloexec (Depends-on): Add fcntl.
70201         * modules/fchdir (Depends-on): Likewise.
70202         * modules/fd-safer-flag (Depends-on): Likewise.
70203         * modules/unistd-safer (Depends-on): Likewise.
70204         * modules/dup3 (configure.ac): Set module indicator.
70205         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
70206         missing.
70207         * lib/fchdir.c (_gl_register_dup): Fix comment.
70208         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
70209         * lib/dup-safer.c (dup_safer): Likewise.
70210         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
70211         * lib/dup3.c (dup3): Likewise.
70212         * tests/test-fchdir.c (main): Enhance test.
70213         Fixes a dup_cloexec bug reported by Ondřej Vašík.
70215         fcntl: port portions of fcntl to mingw
70216         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
70217         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
70218         replacement for mingw.
70219         * modules/fcntl (Description): Update.
70220         (Depends-on): Add dup2.
70221         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
70222         * modules/fcntl-h (Makefile.am): Substitute it.
70223         * lib/fcntl.in.h (fcntl): Update declaration.
70224         (F_DUPFD, F_GETFD): New macros, when needed.
70225         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
70226         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
70227         * tests/test-fcntl.c (check_flags, main): Enhance test for items
70228         we now guarantee.
70230         fcntl: work around cygwin bug in F_DUPFD
70231         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
70232         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
70233         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
70234         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
70235         * doc/posix-functions/fcntl.texi (fcntl): Document it.
70237         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
70238         * modules/fcntl (Files): List new files.
70239         (configure.ac): Run a test.
70240         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
70241         * lib/fcntl.c (rpl_fcntl): Likewise.
70242         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
70243         (gl_FCNTL_H): Always replace fcntl.h.
70244         * modules/fcntl-h (Makefile.am): Substitute witnesses.
70245         * lib/fcntl.in.h (fcntl): Declare replacement.
70246         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
70247         needed, plus a witness.
70248         * doc/posix-functions/fcntl.texi (fcntl): Document this.
70249         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
70250         * tests/test-fcntl.c: New file.
70251         * modules/fcntl-tests: Likewise.
70253         binary-io: avoid potential compilation warning
70254         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
70255         directives.
70257         fflush: avoid compilation error on NetBSD
70258         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
70259         between off_t and fpos_t, since the latter is sometimes a struct.
70260         * lib/fseeko.c (rpl_fseeko): Likewise.
70261         Reported by Alexander Nasonov <alnsn@yandex.ru>.
70263 2009-12-15  Eric Blake  <ebb9@byu.net>
70265         fcntl-h, stdio, sys_ioctl: fix declarations
70266         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
70267         function must not take arguments.
70268         * lib/sys_ioctl.in.h (ioctl): Likewise.
70269         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
70270         (open): Add a link warning.
70272 2009-12-15  Jim Meyering  <meyering@redhat.com>
70274         areadlink, areadlink-with-size: relax license to LGPLv2+
70275         * modules/areadlink (License): Relax to LGPLv2+.
70276         * modules/areadlink-with-size (License): Likewise.
70278 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
70279             Bruno Haible  <bruno@clisp.org>
70281         *printf: Fix memory leak.
70282         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
70283         * lib/vfprintf.c (vfprintf): Likewise.
70284         * lib/dprintf.c (dprintf): Likewise.
70285         * lib/vdprintf.c (vdprintf): Likewise.
70287 2009-12-14  Eric Blake  <ebb9@byu.net>
70289         accept4: adjust module dependencies
70290         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
70292         utimens: one more try at avoiding compiler warning
70293         * lib/utimens.c (lutimens): Lower scope of result.
70295 2009-12-13  Bruno Haible  <bruno@clisp.org>
70297         Move the malloc checking from module 'list' to new module 'xlist'.
70298         * modules/xlist: New file.
70299         * lib/gl_xlist.h: New file.
70300         * lib/gl_xlist.c: New file.
70301         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
70302         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
70303         gl_list_add_last, gl_list_add_before, gl_list_add_after,
70304         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
70305         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
70306         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
70307         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
70308         gl_sortedlist_nx_add): New declarations.
70309         (struct gl_list_implementation): Rename and change methods accordingly.
70310         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
70311         (gl_list_nx_create): Renamed from gl_list_create.
70312         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
70313         (gl_list_nx_set_at): Renamed from gl_list_set_at.
70314         (gl_list_nx_add_first): Renamed from gl_list_add_first.
70315         (gl_list_nx_add_last): Renamed from gl_list_add_last.
70316         (gl_list_nx_add_before): Renamed from gl_list_add_before.
70317         (gl_list_nx_add_after): Renamed from gl_list_add_after.
70318         (gl_list_nx_add_at): Renamed from gl_list_add_at.
70319         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
70320         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
70321         gl_list_create_empty.
70322         (gl_list_nx_create): Renamed from gl_list_create.
70323         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
70324         (gl_list_nx_set_at): Renamed from gl_list_set_at.
70325         (gl_list_nx_add_first): Renamed from gl_list_add_first.
70326         (gl_list_nx_add_last): Renamed from gl_list_add_last.
70327         (gl_list_nx_add_before): Renamed from gl_list_add_before.
70328         (gl_list_nx_add_after): Renamed from gl_list_add_after.
70329         (gl_list_nx_add_at): Renamed from gl_list_add_at.
70330         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
70331         * lib/gl_array_list.c: Don't include xalloc.h.
70332         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
70333         NULL upon out-of-memory.
70334         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
70335         out-of-memory.
70336         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
70337         Change return type to 'int'.
70338         (gl_array_nx_set_at): Renamed from gl_array_set_at.
70339         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
70340         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
70341         upon out-of-memory.
70342         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
70343         upon out-of-memory.
70344         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
70345         upon out-of-memory.
70346         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
70347         upon out-of-memory.
70348         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
70349         out-of-memory.
70350         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
70351         Update.
70352         (gl_array_list_implementation): Update.
70353         * lib/gl_carray_list.c: Don't include xalloc.h.
70354         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
70355         Return NULL upon out-of-memory.
70356         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
70357         out-of-memory.
70358         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
70359         Change return type to 'int'.
70360         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
70361         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
70362         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
70363         upon out-of-memory.
70364         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
70365         upon out-of-memory.
70366         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
70367         out-of-memory.
70368         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
70369         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
70370         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
70371         Update.
70372         (gl_carray_list_implementation): Update.
70373         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
70374         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
70375         gl_linked_create_empty. Return NULL upon out-of-memory.
70376         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
70377         out-of-memory.
70378         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
70379         Change return type to 'int'. Return -1 upon out-of-memory.
70380         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
70381         out-of-memory.
70382         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
70383         upon out-of-memory.
70384         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
70385         upon out-of-memory.
70386         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
70387         NULL upon out-of-memory.
70388         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
70389         upon out-of-memory.
70390         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
70391         out-of-memory.
70392         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
70393         Update.
70394         * lib/gl_linked_list.c: Don't include xalloc.h.
70395         (gl_linked_list_implementation): Update.
70396         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
70397         (add_to_bucket): Change return type to 'int'.
70398         (gl_linkedhash_list_implementation): Update.
70399         * lib/gl_anytree_list1.h (free_subtree): New function.
70400         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
70401         gl_tree_create_empty. Return NULL upon out-of-memory.
70402         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
70403         Change return type to 'int'. Return -1 upon out-of-memory.
70404         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
70405         out-of-memory.
70406         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
70407         (gl_tree_remove_node): New function, moved here from
70408         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
70409         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
70410         Update.
70411         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
70412         malloc, not xmalloc. Return NULL upon out-of-memory.
70413         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
70414         out-of-memory.
70415         (gl_tree_remove_node_from_tree): New function, extracted from
70416         gl_tree_remove_node.
70417         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
70418         upon out-of-memory.
70419         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
70420         out-of-memory.
70421         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
70422         upon out-of-memory.
70423         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
70424         upon out-of-memory.
70425         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
70426         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
70427         not xmalloc. Return NULL upon out-of-memory.
70428         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
70429         out-of-memory.
70430         (gl_tree_remove_node_from_tree): New function, extracted from
70431         gl_tree_remove_node.
70432         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
70433         upon out-of-memory.
70434         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
70435         out-of-memory.
70436         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
70437         upon out-of-memory.
70438         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
70439         upon out-of-memory.
70440         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
70441         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
70442         gl_anytree_list1.h before gl_anyavltree_list2.h.
70443         (gl_avltree_list_implementation): Update.
70444         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
70445         gl_anytree_list1.h before gl_anyavltree_list2.h.
70446         (gl_rbtree_list_implementation): Update.
70447         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
70448         Change return type to 'int'. Return -1 upon out-of-memory. Use
70449         __builtin_expect.
70450         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
70451         (gl_avltreehash_list_implementation): Update.
70452         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
70453         (gl_rbtreehash_list_implementation): Update.
70454         * modules/array-list (Depends-on): Remove xalloc.
70455         * modules/carray-list (Depends-on): Likewise.
70456         * modules/linked-list (Depends-on): Likewise.
70457         * modules/linkedhash-list (Depends-on): Likewise.
70458         * modules/avltree-list (Depends-on): Likewise.
70459         * modules/rbtree-list (Depends-on): Likewise.
70460         * modules/avltreehash-list (Depends-on): Likewise.
70461         * modules/rbtreehash-list (Depends-on): Likewise.
70463         * modules/xsublist: New file.
70464         * lib/gl_xsublist.h: New file.
70465         * lib/gl_xsublist.c: New file.
70466         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
70467         (gl_sublist_nx_create): New declaration.
70468         * lib/gl_sublist.c: Don't include xalloc.h.
70469         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
70470         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
70471         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
70472         Change return type to 'int'. Return -1 upon out-of-memory.
70473         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
70474         upon out-of-memory.
70475         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
70476         NULL upon out-of-memory.
70477         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
70478         upon out-of-memory.
70479         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
70480         NULL upon out-of-memory.
70481         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
70482         NULL upon out-of-memory.
70483         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
70484         upon out-of-memory.
70485         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
70486         (gl_sublist_list_implementation): Update.
70487         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
70488         upon out-of-memory.
70489         * modules/sublist (Depends-on): Remove xalloc.
70491         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
70492         * tests/test-carray_list.c: Likewise.
70493         * tests/test-linked_list.c: Likewise.
70494         * tests/test-linkedhash_list.c: Likewise.
70495         * tests/test-avltree_list.c: Likewise.
70496         * tests/test-rbtree_list.c: Likewise.
70497         * tests/test-avltreehash_list.c: Likewise.
70498         * tests/test-rbtreehash_list.c: Likewise.
70499         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
70500         * modules/carray-list-tests (Makefile.am): Likewise.
70501         * modules/linked-list-tests (Makefile.am): Likewise.
70502         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70503         * modules/avltree-list-tests (Makefile.am): Likewise.
70504         * modules/rbtree-list-tests (Makefile.am): Likewise.
70505         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70506         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70508         * NEWS: Mention the changes.
70510         * lib/clean-temp.c: Include gl_xlist.h.
70511         * modules/clean-temp (Depends-on): Add xlist.
70513         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
70514         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
70516         * tests/test-array_oset.c: Include gl_xlist.h.
70517         * modules/array-oset-tests (Depends-on): Add xlist.
70519         Reported by José E. Marchesi <jemarch@gnu.org>.
70521 2009-12-13  Bruno Haible  <bruno@clisp.org>
70523         Move the malloc checking from module 'oset' to new module 'xoset'.
70524         * modules/xoset: New file.
70525         * lib/gl_xoset.h: New file.
70526         * lib/gl_xoset.c: New file.
70527         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
70528         declarations.
70529         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
70530         (struct gl_oset_implementation): Rename and change methods accordingly.
70531         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
70532         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
70533         'int'. Mark as __warn_unused_result__.
70534         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
70535         gl_oset_create_empty.
70536         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
70537         'int'.
70538         * lib/gl_array_oset.c: Don't include xalloc.h.
70539         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
70540         malloc, not xmalloc.
70541         (grow): Change return type to 'int'. Don't call xalloc_die.
70542         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
70543         to 'int'.
70544         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
70545         'int'.
70546         (gl_array_oset_implementation): Update.
70547         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
70548         gl_tree_create_empty.
70549         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
70550         'int'.
70551         * lib/gl_avltree_oset.c: Don't include xalloc.h.
70552         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
70553         xmalloc.
70554         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
70555         not xmalloc.
70556         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
70557         xmalloc.
70558         (gl_avltree_oset_implementation): Update.
70559         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
70560         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
70561         xmalloc.
70562         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
70563         not xmalloc.
70564         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
70565         xmalloc.
70566         (gl_rbtree_oset_implementation): Update.
70567         * modules/array-oset (Depends-on): Remove xalloc.
70568         * modules/avltree-oset (Depends-on): Likewise.
70569         * modules/rbtree-oset (Depends-on): Likewise.
70570         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
70571         * tests/test-avltree_oset.c: Likewise.
70572         * tests/test-rbtree_oset.c: Likewise.
70573         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70574         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
70575         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70576         * NEWS: Mention the change.
70578 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
70580         maint.mk: allow a project to override release-prep commands
70581         * top/maint.mk (alpha, beta, stable): Move release-preparatory
70582         commands into a new rule.
70583         (release-prep): New rule.
70584         (release-prep-hook): New overridable variable.
70586 2009-12-13  Bruno Haible  <bruno@clisp.org>
70588         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
70590 2009-12-13  Jim Meyering  <meyering@redhat.com>
70592         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
70593         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
70595 2009-12-12  Bruno Haible  <bruno@clisp.org>
70597         duplocale: Tweak.
70598         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
70600 2009-12-12  Karl Berry  <karl@gnu.org>
70602         * config/srclist.txt (strtoll.c): tab changes, no more sync.
70604 2009-12-12  Bruno Haible  <bruno@clisp.org>
70606         * m4/po.m4: Undo incorrect untabification.
70608 2009-12-12  Bruno Haible  <bruno@clisp.org>
70610         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
70611         * modules/c-strtod (Depends-on): Add locale.
70612         * modules/c-strtold (Depends-on): Likewise.
70614 2009-12-12  Bruno Haible  <bruno@clisp.org>
70616         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
70618 2009-12-11  Eric Blake  <ebb9@byu.net>
70620         setenv: relax requirement in light of POSIX ruling
70621         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
70622         not NULL.
70623         * tests/test-setenv.c (main): Relax test.
70624         * tests/test-unsetenv.c (main): Likewise.
70625         * doc/posix-functions/setenv.texi (setenv): Document this.
70626         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
70628 2009-12-11  Bruno Haible  <bruno@clisp.org>
70630         New module 'fd-safer-flag'.
70631         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
70632         * lib/dup-safer.c (dup_safer_flag): Remove function.
70633         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
70634         * lib/fd-safer.c (fd_safer_flag): Remove function.
70635         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
70636         * modules/cloexec (configure.ac): Drop indicator macro.
70637         * modules/fd-safer-flag: New file.
70638         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
70639         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
70640         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
70642 2009-12-11  Bruno Haible  <bruno@clisp.org>
70644         Tests for module 'nl_langinfo'.
70645         * modules/nl_langinfo-tests: New file.
70646         * tests/test-nl_langinfo.sh: New file.
70647         * tests/test-nl_langinfo.c: New file.
70649         New module 'nl_langinfo'.
70650         * lib/nl_langinfo.c: New file.
70651         * m4/nl_langinfo.m4: New file.
70652         * modules/nl_langinfo: New file.
70653         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
70655 2009-12-11  Bruno Haible  <bruno@clisp.org>
70657         Tests for module 'langinfo'.
70658         * modules/langinfo-tests: New file.
70659         * tests/test-langinfo.c: New file.
70661         New module 'langinfo'.
70662         * lib/langinfo.in.h: New file.
70663         * m4/langinfo_h.m4: New file.
70664         * modules/langinfo: New file.
70665         * doc/posix-headers/langinfo.texi: Mention the new module.
70667 2009-12-11  Bruno Haible  <bruno@clisp.org>
70669         * lib/config.charset: Untabify.
70671 2009-12-11  Bruno Haible  <bruno@clisp.org>
70673         * modules/unistd-safer (configure.ac): Drop indicator macro.
70675 2009-12-11  Bruno Haible  <bruno@clisp.org>
70677         Move pipe2-safer code to its own file.
70678         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
70679         * lib/pipe-safer.c (pipe2_safer): Remove function.
70680         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
70681         (Makefile.am): Add it to lib_SOURCES.
70683 2009-12-10  Bruno Haible  <bruno@clisp.org>
70685         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
70687 2009-12-10  Bruno Haible  <bruno@clisp.org>
70689         Declare which arguments expect non-NULL values, for GCC and clang.
70690         * build-aux/arg-nonnull.h: New file.
70691         * modules/arg-nonnull: New file.
70692         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
70693         (inet_ntop, inet_pton): Use it.
70694         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
70695         (closedir, dirfd, opendir, scandir, alphasort): Use it.
70696         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
70697         (open, openat): Use it.
70698         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
70699         (fnmatch): Use it.
70700         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
70701         (getopt, getopt_long, getopt_long_only): Use it.
70702         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
70703         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
70704         Use it.
70705         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
70706         (iconv_open): Use it.
70707         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
70708         (strtoimax, strtoumax): Use it.
70709         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
70710         (duplocale): Use it.
70711         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
70712         (frexp, frexpl): Use it.
70713         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
70714         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
70715         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
70716         (tsearch, tfind, tdelete, twalk): Use it.
70717         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
70718         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
70719         sigpending): Use it.
70720         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
70721         (posix_spawn, posix_spawnp, posix_spawnattr_init,
70722         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
70723         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
70724         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
70725         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
70726         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
70727         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
70728         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
70729         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
70730         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
70731         Use it.
70732         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
70733         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
70734         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
70735         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
70736         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
70737         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
70738         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
70739         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
70740         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
70741         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
70742         strtoull, unsetenv): Use it.
70743         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
70744         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
70745         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
70746         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
70747         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
70748         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
70749         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
70750         (strcasecmp, strncasecmp): Use it.
70751         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
70752         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
70753         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
70754         rpl_setsockopt): Use it.
70755         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
70756         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
70757         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
70758         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
70759         (gettimeofday): Use it.
70760         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
70761         (times): Use it.
70762         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
70763         (uname): Use it.
70764         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
70765         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
70766         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
70767         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
70768         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
70769         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
70770         unlinkat, write): Use it.
70771         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
70772         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
70773         * lib/argv-iter.h: Include arg-nonnull.h.
70774         (_ATTRIBUTE_NONNULL_): Remove macro.
70775         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
70776         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
70777         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
70778         optimization.
70779         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
70780         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
70781         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
70782         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
70783         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
70784         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
70785         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
70786         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
70787         * modules/arpa_inet (Depends-on): Add arg-nonnull.
70788         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
70789         * modules/dirent (Depends-on): Add arg-nonnull.
70790         (Makefile.am): Insert arg-nonnull.h into dirent.h.
70791         * modules/fcntl-h (Depends-on): Add arg-nonnull.
70792         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
70793         * modules/fnmatch (Depends-on): Add arg-nonnull.
70794         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
70795         * modules/getopt-posix (Depends-on): Add arg-nonnull.
70796         (Makefile.am): Insert arg-nonnull.h into getopt.h.
70797         * modules/glob (Depends-on): Add arg-nonnull.
70798         (Makefile.am): Insert arg-nonnull.h into glob.h.
70799         * modules/iconv_open (Depends-on): Add arg-nonnull.
70800         (Makefile.am): Insert arg-nonnull.h into iconv.h.
70801         * modules/inttypes (Depends-on): Add arg-nonnull.
70802         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
70803         * modules/locale (Depends-on): Add arg-nonnull.
70804         (Makefile.am): Insert arg-nonnull.h into locale.h.
70805         * modules/math (Depends-on): Add arg-nonnull.
70806         (Makefile.am): Insert arg-nonnull.h into math.h.
70807         * modules/netdb (Depends-on): Add arg-nonnull.
70808         (Makefile.am): Insert arg-nonnull.h into netdb.h.
70809         * modules/search (Depends-on): Add arg-nonnull.
70810         (Makefile.am): Insert arg-nonnull.h into search.h.
70811         * modules/signal (Depends-on): Add arg-nonnull.
70812         (Makefile.am): Insert arg-nonnull.h into signal.h.
70813         * modules/spawn (Depends-on): Add arg-nonnull.
70814         (Makefile.am): Insert arg-nonnull.h into spawn.h.
70815         * modules/stdio (Depends-on): Add arg-nonnull.
70816         (Makefile.am): Insert arg-nonnull.h into stdio.h.
70817         * modules/stdlib (Depends-on): Add arg-nonnull.
70818         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
70819         * modules/string (Depends-on): Add arg-nonnull.
70820         (Makefile.am): Insert arg-nonnull.h into string.h.
70821         * modules/strings (Depends-on): Add arg-nonnull.
70822         (Makefile.am): Insert arg-nonnull.h into strings.h.
70823         * modules/sys_socket (Depends-on): Add arg-nonnull.
70824         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
70825         * modules/sys_stat (Depends-on): Add arg-nonnull.
70826         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
70827         * modules/sys_time (Depends-on): Add arg-nonnull.
70828         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
70829         * modules/sys_times (Depends-on): Add arg-nonnull.
70830         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
70831         * modules/sys_utsname (Depends-on): Add arg-nonnull.
70832         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
70833         * modules/time (Depends-on): Add arg-nonnull.
70834         (Makefile.am): Insert arg-nonnull.h into time.h.
70835         * modules/unistd (Depends-on): Add arg-nonnull.
70836         (Makefile.am): Insert arg-nonnull.h into unistd.h.
70837         * modules/wchar (Depends-on): Add arg-nonnull.
70838         (Makefile.am): Insert arg-nonnull.h into wchar.h.
70839         * modules/argv-iter (Depends-on): Add arg-nonnull.
70840         * tests/test-canonicalize.c (null_ptr): New function.
70841         (main): Use it.
70842         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
70843         (main): Use it.
70844         * tests/test-memmem.c (null_ptr): New function.
70845         (main): Use it.
70846         Reported by Jim Meyering.
70848 2009-12-10  Bruno Haible  <bruno@clisp.org>
70850         Use spaces for indentation, not tabs.
70851         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
70852         * m4/*.m4: Untabify.
70853         * build-aux/*.h: Untabify.
70854         * tests/**/*.[hc]: Untabify.
70855         * README: New section "Indent with spaces, not TABs", based on
70856         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
70857         * NEWS: Mention the change.
70859 2009-12-10  Bruno Haible  <bruno@clisp.org>
70861         pty test: Fix link error.
70862         * modules/pty-tests (Makefile.am): Add the default LDADD value to
70863         test_pty_LDADD.
70865 2009-12-07  Simon Josefsson  <simon@josefsson.org>
70867         * modules/pty: New file.
70868         * modules/pty-tests: New file.
70869         * m4/pty.m4: New file.
70870         * tests/test-pty.c: New file.
70871         * doc/glibc-headers/pty.texi: Modified.
70872         * doc/glibc-functions/forkpty.texi: Modified.
70873         * doc/glibc-functions/openpty.texi: Modified.
70875 2009-12-10  Bruno Haible  <bruno@clisp.org>
70877         Avoid syntax error in C++ mode.
70878         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
70880 2009-12-10  Bruno Haible  <bruno@clisp.org>
70882         Use sed with option -e.
70883         * gnulib-tool (func_version, func_emit_copyright_notice,
70884         func_emit_initmacro_end, func_import, func_create_testdir): Pass
70885         option -e to sed.
70886         * modules/link-warning (Makefile.am): Likewise.
70888 2009-12-10  Jim Meyering  <meyering@redhat.com>
70890         mgetgroups: do not write bytes beyond end of malloc'd buffer
70891         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
70892         username, we call getgroups with a one-element-shorter buffer,
70893         but still told it the length was original, max_n_groups.
70895 2009-12-09  Eric Blake  <ebb9@byu.net>
70897         cloexec: relax license
70898         * modules/cloexec (Maintainer): Add myself.
70899         (License): Use LGPL, not GPL.
70901         link-warning: optimize generation
70902         * modules/link-warning (Makefile.am): Reduce process usage.
70904 2009-12-09  Bruno Haible  <bruno@clisp.org>
70906         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
70907         workaround was added on 2009-11-17.
70909 2009-12-09  Jim Meyering  <meyering@redhat.com>
70910             Bruno Haible  <bruno@clisp.org>
70912         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
70913         * modules/link-warning (Makefile.am): Make the comment-removing sed
70914         command more robust in the face of bootstrap-prepended comment lines.
70916 2009-12-09  Bruno Haible  <bruno@clisp.org>
70918         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
70919         most one group.
70921 2009-12-09  Simon Josefsson  <simon@josefsson.org>
70922             Bruno Haible  <bruno@clisp.org>
70924         * build-aux/link-warning.h: Add copyright notice.
70925         * modules/link-warning (Makefile.am): Generate link-warning.h from
70926         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
70927         * NEWS: Mention change in link-warning module.
70928         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
70929         * modules/dirent (Makefile.am): Add dependency to dirent.h.
70930         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
70931         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
70932         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
70933         * modules/math (Makefile.am): Add dependency to math.h.
70934         * modules/search (Makefile.am): Add dependency to search.h.
70935         * modules/signal (Makefile.am): Add dependency to signal.h.
70936         * modules/spawn (Makefile.am): Add dependency to spawn.h.
70937         * modules/stdio (Makefile.am): Add dependency to stdio.h.
70938         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
70939         * modules/string (Makefile.am): Add dependency to string.h.
70940         * modules/strings (Makefile.am): Add dependency to strings.h.
70941         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
70942         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
70943         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
70944         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
70945         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
70946         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
70947         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
70948         * modules/unistd (Makefile.am): Add dependency to unistd.h.
70949         * modules/wchar (Makefile.am): Add dependency to wchar.h.
70951 2009-12-09  Bruno Haible  <bruno@clisp.org>
70953         fchdir: Optimize away rpl_fstat when possible.
70954         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
70955         REPLACE_OPEN_DIRECTORY.
70956         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
70958 2009-12-09  Bruno Haible  <bruno@clisp.org>
70960         * lib/fchdir.c: Update comment.
70962 2009-12-09  Bruno Haible  <bruno@clisp.org>
70964         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
70966 2009-12-08  Eric Blake  <ebb9@byu.net>
70968         fchdir: avoid memory leak on re-registration.
70969         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
70971 2009-12-08  Jim Meyering  <meyering@redhat.com>
70973         init.sh: avoid Solaris 10 /bin/sh portability problem
70974         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
70975         sourced script:
70976           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
70977           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
70978           bar
70979         tests/init.sh relied on that, accepting a --set-path=DIR argument,
70980         and two tests used that idiom.
70981         * tests/init.sh: Update suggested usage comments.
70982         (path_prepend_): New function, to be used in place
70983         of the --src-path=DIR option.
70984         (setup_): Move PATH-prepending code into path_prepend_.
70985         * tests/test-pread.sh: Adapt to new usage.
70986         * tests/test-xalloc-die.sh: Likewise.
70988 2009-12-08  Simon Josefsson  <simon@josefsson.org>
70990         * doc/gnulib.texi (Glibc pty.h): Add.
70991         * doc/glibc-functions/forkpty.texi: Add.
70992         * doc/glibc-functions/openpty.texi: Add.
70993         Suggested by Bruno Haible.
70995 2009-12-08  Eric Blake  <ebb9@byu.net>
70997         fchdir: fix logic bugs
70998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
70999         * tests/test-fchdir.c (main): Enhance test.
71000         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
71001         is in use.
71003         dup2: fix logic bugs
71004         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
71005         REPLACE_DUP2 to decide when rpl_dup2 is needed.
71006         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
71007         exists.
71008         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
71010 2009-12-07  Eric Blake  <ebb9@byu.net>
71012         unlink: fix m4 detection
71013         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
71015         unistd-safer: add unit test
71016         * modules/unistd-safer-tests: New file.
71017         * tests/test-dup-safer.c: Likewise.
71018         * tests/test-cloexec.c (setmode): Avoid compiler warning.
71019         * tests/test-dup2.c (setmode): Likewise.
71020         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
71022         cloexec: preserve text vs. binary across dup_cloexec
71023         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
71024         mode.
71025         * modules/dup2-tests (Depends-on): Add binary-io.
71026         * modules/cloexec-tests (Depends-on): Likewise.
71027         * tests/test-dup2.c (setmode, is_mode): New helpers.
71028         (main): Add tests that translation mode is preserved.
71029         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
71030         Reported by Bruno Haible.
71032         mgetgroups: reduce duplicate listings
71033         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
71034         resulting array.
71035         * tests/test-chown.h (test_chown): Simplify client.
71036         * tests/test-lchown.h (test_lchown): Likewise.
71038 2009-12-06  Bruno Haible  <bruno@clisp.org>
71040         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
71041         value.
71043 2009-12-06  Bruno Haible  <bruno@clisp.org>
71045         * lib/progname.c: Include stdio.h, stdlib.h.
71046         (set_program_name): Reject a NULL argument.
71048 2009-12-05  Eric Blake  <ebb9@byu.net>
71050         pipe2-safer: new module
71051         * modules/pipe2-safer: New file.
71052         * lib/unistd-safer.h (pipe2_safer): New prototype.
71053         * lib/unistd--.h (pipe2): New wrapper.
71054         * lib/pipe-safer.c (pipe2_safer): New function.
71055         * modules/pipe (Depends-on): Add pipe2-safer.
71056         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
71058         stdlib-safer: preserve cloexec flag for mkostemp[s]
71059         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
71060         fd_safer_flag.
71062         unistd-safer: allow preservation of cloexec status via flag
71063         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
71064         prototypes.
71065         * lib/dup-safer.c (dup_safer_flag): New function.
71066         * lib/fd-safer.c (fd_safer_flag): Likewise.
71067         * modules/cloexec (configure.ac): Set witness.
71069         test-dup2: enhance test
71070         * modules/dup2-tests (Depends-on): Add cloexec.
71071         * tests/test-dup2.c (main): Enhance test.
71073         cloexec: add dup_cloexec
71074         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
71075         header and comments.
71076         * lib/cloexec.c (set_cloexec_flag): Add comments.
71077         (dup_cloexec): New function, with mingw implementation borrowed
71078         from...
71079         * lib/w32spawn.h (dup_noinherit): ...here.
71080         * modules/execute (Depends-on): Add cloexec.
71081         * modules/pipe (Depends-on): Likewise.
71082         * modules/cloexec (Depends-on): Add dup2.
71083         * modules/cloexec-tests (Files): New file.
71084         * tests/test-cloexec.c: Likewise.
71086         test-xalloc-die: fix test for mingw
71087         * modules/xalloc-die-tests (Files): Add tests/init.sh.
71088         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
71089         directory and .exe suffix off argv[0] output.
71091         test-fseeko: fix test for mingw
71092         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
71093         than undefining fseek, so test will pass on mingw.
71095 2009-12-05  Bruno Haible  <bruno@clisp.org>
71097         * lib/progname.h (set_program_name): Clarify specification.
71098         * lib/progname.c (set_program_name): Likewise.
71099         Reported by Jim Meyering.
71101 2009-12-05  Jim Meyering  <meyering@redhat.com>
71103         maint.mk: backslash-escape parens in default regexp
71104         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
71105         backslash-escape the literal parentheses.
71107         maint.mk: news-date-check: use grep -E
71108         * top/maint.mk (today): Define a Make variable, not a...
71109         (news-date-check): ...shell variable.
71110         (news-date-regexp): Use the Make variable.
71111         Use grep's -E option.  Change the failing diagnostic to mention
71112         the variable, $(news-date-regexp).
71114 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
71116         maintainer-makefile: allow customization of NEWS entry format
71117         * top/maint.mk (news-date-regexp): New overridable variable.
71118         (news-date-check): Use it.
71120 2009-12-04  Eric Blake  <ebb9@byu.net>
71122         mgetgroups: add xgetgroups, and avoid ENOSYS failures
71123         * lib/mgetgroups.h (xgetgroups): New prototype.
71124         * lib/mgetgroups.c (xgetgroups): New wrapper.
71125         (mgetgroups): Handle ENOSYS.
71126         * modules/mgetgroups (Depends-on): Add realloc.
71127         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
71129         mgetgroups: avoid argument promotion issues with -1
71130         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
71131         for invalid gid_t.
71132         * tests/test-chown.h (getegid, test_chown): Likewise.
71133         * tests/test-lchown.h (getegid, test_lchown): Likewise.
71135 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
71137         exclude: Fix header file problems.
71138         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
71140 2009-12-01  Jim Meyering  <meyering@redhat.com>
71142         fts: fts_open: do not let an empty string cause immediate failure
71143         This is required in support of GNU rm, for which the command
71144         "rm A '' B" must process and remove both A and B, in spite of
71145         the empty string argument.
71146         * lib/fts.c (fts_open): Do not let the presence of an empty string
71147         cause fts_open to fail immediately.  Most fts-using tools must be
71148         able to process all arguments, in order, and can be expected to
71149         diagnose such arguments themselves.
71151 2009-11-30  Eric Blake  <ebb9@byu.net>
71153         utimens: fix compilation error
71154         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
71155         Declare variable at right scope.
71157 2009-11-29  Jim Meyering  <meyering@redhat.com>
71159         bootstrap: handle perl-5.11's changed --version output
71160         * build-aux/bootstrap (get_version): Handle perl separately,
71161         since perl-5.11's --version output is different.
71163 2009-11-28  Jim Meyering  <meyering@redhat.com>
71165         userspec: depend on the inttostr module, too
71166         * modules/userspec (Depends-on): Add inttostr.
71168         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
71169         * lib/userspec.c (parse_with_separator): Do not accept a user ID
71170         number of MAXUID when it evaluates to (uid_t) -1.
71171         Likewise for group ID.  Reported by Matt McCutchen in
71172         <http://savannah.gnu.org/bugs/?28113>
71174         userspec: reformat to use spaces, not TABs
71175         * lib/userspec.c: Expand TABs to spaces.
71176         Add Emacs' "indent-tabs-mode: nil" hint.
71178 2009-11-27  Eric Blake  <ebb9@byu.net>
71180         getopt-gnu: flush out another BSD bug
71181         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
71182         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
71183         flush out BSD bug.
71184         * tests/test-getopt.h (test_getopt): End lists with NULL.
71185         * tests/test-getopt_long.h (test_getopt_long): Likewise.
71186         (test_getopt_long_posix): Enhance test.
71187         * modules/getopt-posix-tests (Depends-on): Add stdbool.
71188         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
71189         getopt-gnu.
71190         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
71191         Likewise.
71193 2009-11-27  Simon Josefsson  <simon@josefsson.org>
71195         * modules/idpriv-droptemp-tests (Notice): Fix text.
71197 2009-11-27  Jim Meyering  <meyering@redhat.com>
71199         test-xalloc-die: avoid spurious failure due to libtool argv difference
71200         In a libtool-enabled project, this test would fail due to a difference
71201         in the emitted program name, e.g.,
71202         -test-xalloc-die: memory exhausted
71203         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
71204         Use program to avoid that.
71205         * modules/xalloc-die-tests (Depends-on): Add progname.
71206         * tests/test-xalloc-die.c: Include progname.h".
71207         (program_name): Remove decl.
71208         (main): Call set_program_name.
71209         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
71211 2009-11-26  Richard Jones  <rjones@redhat.com>
71213         w32sock: leave win32 error in place.
71214         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
71216 2009-11-26  Eric Blake  <ebb9@byu.net>
71218         init.sh: suggest to use skip_ and fail_ functions in comments
71219         * tests/init.sh: Add a sentence.
71221 2009-11-25  Bruno Haible  <bruno@clisp.org>
71223         init.sh: add documentation in comments
71224         * tests/init.sh: Add some developer and user documentation.
71226 2009-11-26  Jim Meyering  <meyering@redhat.com>
71228         init.sh: accommodate even those who specify bogus srcdir manually
71229         * tests/init.sh: Normally, srcdir is guaranteed by automake and
71230         configure-time tests to be sanitized, so that there is no need to
71231         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
71232         (with no double quotes) suffices.  However, since tests may be
71233         invoked manually, and since you may explicitly set srcdir to the
71234         name of a directory containing spaces, do quote its uses here.
71235         * tests/test-pread.sh: Likewise.
71236         Suggested by Bruno Haible.
71238         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
71239         * tests/test-pread.sh: Write no data into the pipe, because
71240         test-pread actually reads none.  This avoids a diagnostic,
71241         "bash: echo: write error: Broken pipe", that arises in the unusual
71242         event something is ignoring SIGPIPE, and might be interpreted
71243         as some sort of failure.  Reported by Bruno Haible.
71245 2009-11-25  Jim Meyering  <meyering@redhat.com>
71247         test-pread: cover failure with ESPIPE and EINVAL
71248         * tests/test-pread.c (main): Test for failure, too.
71249         * tests/test-pread.sh: Invoke with stdin on a pipe.
71250         Suggested by Eric Blake.
71252         pread: improvement and fix
71253         * modules/pread (Depends-on): Depend on lseek, for portability to
71254         e.g., mingw.  Suggested by Eric Blake.
71255         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
71257         unistd.in.h: correct declaration of pread
71258         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
71259         Reported by Richard W.M. Jones.
71261         test-pread.sh: distribute the test script
71262         * modules/pread-tests (Files): Include test-pread.sh.
71264         test-pread.sh: clean up
71265         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
71266         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
71267         That is unnecessary, since it's always ".".
71268         Suggestion from Eric Blake.
71270         test-pread.sh: make executable
71271         * tests/test-pread.sh: Set executable bit.
71272         Reported by Eric Blake.
71274         correct typo in test-pread.sh
71275         * tests/test-pread.sh: Add #! line.
71277         test pread
71278         * tests/test-pread.c: New file.
71279         * tests/test-pread.sh: Likewise.
71280         * modules/pread-tests: Likewise.
71282         pread: new module
71283         * modules/pread: New file.
71284         * lib/unistd.in.h (pread): Define/declare.
71285         * lib/pread.c (pread): New file.
71286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
71287         * modules/unistd (Makefile.am): Substitute witnesses.
71288         * doc/posix-functions/pread.texi (pread): Update.
71289         * MODULES.html.sh: Add pread.
71291 2009-11-25  Jim Meyering  <meyering@redhat.com>
71293         tests/init.sh: new file to be used via most *.sh tests
71294         * tests/init.sh: New file.
71296 2009-11-25  Eric Blake  <ebb9@byu.net>
71298         utimens: work around older Linux failure with symlinks
71299         * lib/utimens.c (lutimensat_works_really): New variable.
71300         (fdutimens, lutimens): Use it to manage kernels that support
71301         nanosecond times on files, but not on symlinks.
71302         Reported by Ondřej Vašík.
71304         utimes: fix configure grammar
71305         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
71307 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
71309         regex: Fix fastmap for multibyte character ranges.
71310         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
71311         characters when a multibyte character range is included.
71313 2009-11-22  Andy Wingo  <wingo@pobox.com>
71315         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
71316         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
71318 2009-11-24  Bruno Haible  <bruno@clisp.org>
71320         doc: Most *_l functions exist in MacOS X 10.5.
71321         * doc/posix-functions/duplocale.texi: Update platforms list.
71322         * doc/posix-functions/freelocale.texi: Likewise.
71323         * doc/posix-functions/newlocale.texi: Likewise.
71324         * doc/posix-functions/uselocale.texi: Likewise.
71325         * doc/posix-functions/isalnum_l.texi: Likewise.
71326         * doc/posix-functions/isalpha_l.texi: Likewise.
71327         * doc/posix-functions/isblank_l.texi: Likewise.
71328         * doc/posix-functions/iscntrl_l.texi: Likewise.
71329         * doc/posix-functions/isdigit_l.texi: Likewise.
71330         * doc/posix-functions/isgraph_l.texi: Likewise.
71331         * doc/posix-functions/islower_l.texi: Likewise.
71332         * doc/posix-functions/isprint_l.texi: Likewise.
71333         * doc/posix-functions/ispunct_l.texi: Likewise.
71334         * doc/posix-functions/isspace_l.texi: Likewise.
71335         * doc/posix-functions/isupper_l.texi: Likewise.
71336         * doc/posix-functions/iswalnum_l.texi: Likewise.
71337         * doc/posix-functions/iswalpha_l.texi: Likewise.
71338         * doc/posix-functions/iswblank_l.texi: Likewise.
71339         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71340         * doc/posix-functions/iswctype_l.texi: Likewise.
71341         * doc/posix-functions/iswdigit_l.texi: Likewise.
71342         * doc/posix-functions/iswgraph_l.texi: Likewise.
71343         * doc/posix-functions/iswlower_l.texi: Likewise.
71344         * doc/posix-functions/iswprint_l.texi: Likewise.
71345         * doc/posix-functions/iswpunct_l.texi: Likewise.
71346         * doc/posix-functions/iswspace_l.texi: Likewise.
71347         * doc/posix-functions/iswupper_l.texi: Likewise.
71348         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71349         * doc/posix-functions/isxdigit_l.texi: Likewise.
71350         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
71351         * doc/posix-functions/strcasecmp_l.texi: Likewise.
71352         * doc/posix-functions/strcoll_l.texi: Likewise.
71353         * doc/posix-functions/strfmon_l.texi: Likewise.
71354         * doc/posix-functions/strftime_l.texi: Likewise.
71355         * doc/posix-functions/strncasecmp_l.texi: Likewise.
71356         * doc/posix-functions/strxfrm_l.texi: Likewise.
71357         * doc/posix-functions/tolower_l.texi: Likewise.
71358         * doc/posix-functions/toupper_l.texi: Likewise.
71359         * doc/posix-functions/towctrans_l.texi: Likewise.
71360         * doc/posix-functions/towlower_l.texi: Likewise.
71361         * doc/posix-functions/towupper_l.texi: Likewise.
71362         * doc/posix-functions/wcscoll_l.texi: Likewise.
71363         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71364         * doc/posix-functions/wctrans_l.texi: Likewise.
71365         * doc/posix-functions/wctype_l.texi: Likewise.
71366         * doc/glibc-functions/strptime_l.texi: Likewise.
71367         * doc/glibc-functions/strtod_l.texi: Likewise.
71368         * doc/glibc-functions/strtof_l.texi: Likewise.
71369         * doc/glibc-functions/strtol_l.texi: Likewise.
71370         * doc/glibc-functions/strtold_l.texi: Likewise.
71371         * doc/glibc-functions/strtoll_l.texi: Likewise.
71372         * doc/glibc-functions/strtoul_l.texi: Likewise.
71373         * doc/glibc-functions/strtoull_l.texi: Likewise.
71374         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71375         * doc/glibc-functions/wcstod_l.texi: Likewise.
71376         * doc/glibc-functions/wcstof_l.texi: Likewise.
71377         * doc/glibc-functions/wcstol_l.texi: Likewise.
71378         * doc/glibc-functions/wcstold_l.texi: Likewise.
71379         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71380         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71381         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71383 2009-11-24  Bruno Haible  <bruno@clisp.org>
71385         duplocale: Fix logic bug.
71386         * lib/duplocale.c: Don't include <langinfo.h>.
71387         (_NL_LOCALE_NAME): Remove macro.
71388         (rpl_duplocale): Use setlocale instead of nl_langinfo.
71389         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
71391 2009-11-23  Jim Meyering  <meyering@redhat.com>
71393         test-update-copyright: don't hard-code /usr/bin/perl
71394         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
71395         perl to print the current year.  Gilles Espinasse reported that
71396         the replaced use of perl was hard-coded as /usr/bin/perl.
71398 2009-11-23  Bruno Haible  <bruno@clisp.org>
71400         duplocale: Add support for glibc 2.3.x.
71401         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
71403 2009-11-22  Bruno Haible  <bruno@clisp.org>
71405         vasnprintf: Tiny optimization.
71406         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
71407         MacOS X.
71409 2009-11-22  Bruno Haible  <bruno@clisp.org>
71411         Tests for module 'duplocale'.
71412         * modules/duplocale-tests: New file.
71413         * tests/test-duplocale.c: New file.
71415         New module 'duplocale'.
71416         * m4/duplocale.m4: New file.
71417         * lib/locale.in.h (duplocale): New declaration.
71418         * lib/duplocale.c: New file.
71419         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
71420         gl_LOCALE_H_DEFAULTS): New macros.
71421         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
71422         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
71423         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
71424         REPLACE_DUPLOCALE.
71425         * modules/duplocale: New file.
71426         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
71428 2009-11-22  Bruno Haible  <bruno@clisp.org>
71430         * modules/locale-tests (configure.ac): Test for newlocale function.
71431         * tests/test-locale.c: When the system has extended locale functions,
71432         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
71434         locale: Make locale_t available when possible.
71435         * lib/locale.in.h: Include <xlocale.h> when it exists.
71436         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
71437         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
71438         * modules/locale (Depends-on): Add extensions.
71439         (Makefile.am): Also substitute HAVE_XLOCALE_H.
71440         * doc/posix-headers/locale.texi: Document the problem with locale_t.
71442 2009-11-22  Bruno Haible  <bruno@clisp.org>
71444         Add comments.
71445         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
71446         invocation.
71447         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
71448         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
71449         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
71451 2009-11-22  Bruno Haible  <bruno@clisp.org>
71453         error: account for the possibility of freopen (stdout).
71454         * lib/error.c: Include <unistd.h>.
71455         (flush_stdout): New function, extracted from error and error_at_line.
71456         Determine stdout's fd dynamically.
71457         (error, error_at_line): Invoke flush_stdout.
71458         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
71459         * modules/error (Depends-on): Add unistd.
71461 2009-11-22  Bruno Haible  <bruno@clisp.org>
71463         diffseq: Add comment.
71464         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
71466 2009-11-22  Jim Meyering  <meyering@redhat.com>
71468         c-stack: avoid defining an unused static function
71469         * lib/c-stack.c (find_stack_direction): Do not define this function
71470         when it will not be used.
71472         diffseq: avoid spurious gcc warnings
71473         * lib/diffseq.h (IF_LINT2): Define.
71474         (compareseq): Use it to initialize two members of "part".
71475         This avoids two used-uninitialized warnings.
71477 2009-11-21  Jim Meyering  <meyering@redhat.com>
71479         c-stack: avoid "ignoring return value of `write'" warning
71480         * lib/c-stack.c: Include "ignore-value.h".
71481         (die): Explicitly ignore each write return value.
71482         * modules/c-stack (Depends-on): Add ignore-value.
71484 2009-11-21  Bruno Haible  <bruno@clisp.org>
71486         diffseq: reduce scope of variable 'best'.
71487         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
71488         variable, earlier used for two different purposes.
71490 2009-11-21  Jim Meyering  <meyering@redhat.com>
71492         diffseq: remove useless assignment to "best"
71493         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
71494         assignment.  At that point "best" is already guaranteed to be zero.
71496 2009-11-20  Eric Blake  <ebb9@byu.net>
71498         build: mention ftp redirector in release announcements
71499         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
71500         values that used to come from cfg.mk; mention FTP redirect URL.
71501         * build-aux/announce-gen: Mention the mirror list.
71502         Suggested by Karl Berry.
71504         nanosleep: improve port to mingw
71505         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
71506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
71507         LIB_NANOSLEEP, but only when needed.
71508         * modules/select (Link): Document LIBSOCKET.
71509         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
71510         enough.
71512         nanosleep: work around cygwin bug
71513         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
71514         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
71515         bug.
71516         (getnow): Delete, not needed.
71517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
71518         LIB_CLOCK_GETTIME.
71519         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
71520         clock-time, gettime.
71521         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
71522         bug.
71523         * modules/nanosleep-tests: New test.
71524         * tests/test-nanosleep.c: New file.
71526         sleep: work around cygwin bug
71527         * lib/sleep.c (rpl_sleep): Work around the bug.
71528         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
71529         (gl_PREREQ_SLEEP): Delete unused macro.
71530         * modules/sleep (Depends-on): Add verify.
71531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
71532         * modules/unistd (Makefile.am): Substitute witness.
71533         * lib/unistd.in.h (sleep): Update prototype.
71534         * doc/posix-functions/sleep.texi (sleep): Document the bug.
71535         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
71536         * modules/sleep-tests (Depends-on): Check for alarm.
71538 2009-11-20  Jim Meyering  <meyering@redhat.com>
71540         maint.mk: improve sc_prohibit_magic_number_exit
71541         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
71542         so it does not match uses like System.exit(1).
71543         Add comments showing how to correct all offenders.
71545 2009-11-19  Eric Blake  <ebb9@byu.net>
71547         xalloc-die-tests: add missing library
71548         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
71550         test-xvasprintf: silence compiler warnings
71551         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
71552         empty string from gcc.
71554 2009-11-19  Jim Meyering  <meyering@redhat.com>
71556         xfreopen: new module, from coreutils
71557         * modules/xfreopen: New module.
71558         * lib/xfreopen.c: New file.
71559         * lib/xfreopen.h: New file.
71560         * MODULES.html.sh (File stream based Input/Output"): Add it.
71562 2009-11-19  Eric Blake  <ebb9@byu.net>
71564         manywarnings: depend on warnings
71565         * modules/manywarnings (Depends-on): Add warnings.
71567         build: avoid compiler warnings
71568         * lib/select.c (rpl_select): Delete unused variable.
71569         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
71571 2009-11-18  Eric Blake  <ebb9@byu.net>
71573         tests: avoid false negative with --with-packager
71574         * tests/test-version-etc.sh: Discard packager information.
71575         * tests/test-argp-version-etc-1.sh: Likewise.
71576         Reported by Mike Frysinger.
71578         utimens: fix regression on Solaris
71579         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
71580         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
71581         can only change fd timestamps via futimesat.  Instead, use an
71582         additional witness macro to avoid BSD bug.
71583         Reported by Jim Meyering.
71585 2009-11-17  Eric Blake  <ebb9@byu.net>
71587         usleep: use it to simplify tests
71588         * modules/stat-time-tests (Depends-on): Add usleep.
71589         (configure.ac): Drop usleep check.
71590         * modules/chown-tests (Depends-on, configure.ac): Likewise.
71591         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
71592         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
71593         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
71594         * modules/openat-tests (Depends-on, configure.ac): Likewise.
71595         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
71596         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
71597         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
71598         Likewise.
71599         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
71600         * tests/test-lchown.h (nap): Likewise.
71601         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
71602         * tests/test-stat-time.c (nap): Likewise.
71603         * tests/test-utimens-common.h (nap): Update comments.
71605         usleep: new module
71606         * modules/usleep: New file.
71607         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
71608         * lib/usleep.c (usleep): Likewise.
71609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
71610         * modules/unistd (Makefile.am): Substitute witnesses.
71611         * lib/unistd.in.h (usleep): Add declaration.
71612         * doc/pastposix-functions/usleep.texi (usleep): Document this.
71613         * MODULES.html.sh (Date and time): Likewise.
71614         * modules/usleep-tests (Depends-on): New test.
71615         * tests/test-usleep.c: New file.
71617         chown: work around OpenBSD bug
71618         * lib/chown.c (rpl_chown): Work around the bug.
71619         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
71620         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
71621         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
71622         * modules/chown (Depends-on): Add stdbool.
71623         * modules/lchown (Depends-on): Likewise.
71624         * doc/posix-functions/chown.texi (chown): Document the bug.
71625         * doc/posix-functions/lchown.texi (lchown): Likewise.
71626         * tests/test-lchown.h (test_chown): Relax test.
71628         mkstemp: avoid conflict with C++ keyword template
71629         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
71630         * lib/mkostemp.c (mkostemp): Likewise.
71631         * lib/mkostemps.c (mkostemps): Likewise.
71632         * lib/mkstemp.c (mkstemp): Likewise.
71633         * lib/mkstemps.c (mkstemps): Likewise.
71635         xalloc-die-tests: optimize
71636         * tests/test-xalloc-die.sh: Reduce number of processes.
71638 2009-11-17  Simon Josefsson  <simon@josefsson.org>
71640         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
71641         patch from ludo@gnu.org (Ludovic Courtès).
71643 2009-11-17  Jim Meyering  <meyering@redhat.com>
71645         version-etc: use proper license string
71646         * modules/version-etc (License): Use LGPL, not LGPLv3+.
71647         * modules/version-etc-fsf: Likewise.
71649 2009-11-17  Simon Josefsson  <simon@josefsson.org>
71651         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
71652         printed to stdout.  Deal with EOL differences.
71654 2009-11-17  Eric Blake  <ebb9@byu.net>
71656         unsetenv: work around Solaris bug
71657         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
71658         * lib/unsetenv.c (rpl_unsetenv): Work around it.
71659         Reported by Jim Meyering.
71661         vasnprintf: avoid compiler warnings
71662         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
71663         variables.
71664         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
71666 2009-11-17  Simon Josefsson  <simon@josefsson.org>
71668         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
71669         settings since xalloc-die is no longer the self test,
71670         xalloc-die.sh is.
71672 2009-11-17  Jim Meyering  <meyering@redhat.com>
71674         test-xalloc-die.sh: make the code agree with the commit log
71675         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
71676         at the end, just in case you happen to have a test-xalloc-die
71677         program in some other PATH directory.
71679         test-xalloc-die.sh: fix a portability bug
71680         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
71681         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
71682         Otherwise, argv[0] (as often seen in diagnostics) would be too
71683         system-dependent, sometimes with, and sometimes without the leading "./".
71685         version-etc-fsf: relax license to LGPLv3+
71686         * modules/version-etc-fsf (License): Relax license.
71688 2009-11-16  Eric Blake  <ebb9@byu.net>
71690         xalloc-die-tests: avoid printing null pointer
71691         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
71692         shell script.
71693         * tests/test-xalloc-die.c (program_name): Declare.
71694         * tests/test-xalloc-die.sh (tmpfiles): New file.
71696         setenv, unsetenv: work around various bugs
71697         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
71698         (setenv) [HAVE_SETENV]: Work around bugs.
71699         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
71700         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
71701         for bugs.
71702         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
71703         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
71704         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
71705         * modules/stdlib (Makefile.am): Update substitutions.
71706         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
71707         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
71708         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
71709         * modules/setenv-tests: New test.
71710         * modules/unsetenv-tests: Likewise.
71711         * tests/test-setenv.c: New file.
71712         * tests/test-unsetenv.c: Likewise.
71714 2009-11-16  Jim Meyering  <meyering@redhat.com>
71716         version-etc: relax license to LGPLv3+
71717         * modules/version-etc (License): Relax license.
71719         better AC_REQUIRE expanded-before-required-warning avoidance
71720         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
71721         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
71722         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
71723         which is no longer needed.
71725 2009-11-16  Eric Blake  <ebb9@byu.net>
71727         test-freading: clean up temporary file
71728         * tests/test-freading.c (main): Remove file on success, and use
71729         ASSERT more liberally.
71730         Reported by Jim Meyering.
71732 2009-11-16  Jim Meyering  <meyering@redhat.com>
71734         avoid new AC_REQUIRE expanded-before-required warnings
71735         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
71736         merely using it.
71737         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
71738         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
71740 2009-11-15  Simon Josefsson  <simon@josefsson.org>
71742         * tests/test-xalloc-die.c: New file.
71743         * modules/xalloc-die-tests: New file.
71744         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
71745         XFAIL_TESTS so it can be appended by modules.
71747 2009-11-15  Simon Josefsson  <simon@josefsson.org>
71749         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
71750         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
71752 2009-11-14  Eric Blake  <ebb9@byu.net>
71754         fnmatch: avoid compiler warning
71755         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
71756         to silence compiler warning about mismatch signedness in ?:.
71757         Reported by Robert Millan.
71759         intprops: add double-inclusion guard
71760         * lib/intprops.h: Allow idempotent includes.
71761         Suggested by Bruce Korb.
71763         openat: detect Solaris fchownat bug
71764         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
71765         penalizing glibc chownat when only lchownat is broken.
71766         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
71767         trailing slash bugs.
71768         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
71769         * modules/openat-tests (Files): Include more files.
71770         (Depends-on): Add mgetgroups, sleep, stat-time.
71771         (configure.ac): Add additional checks.
71772         (Makefile.am): Build new test.
71773         * tests/test-fchownat.c: New file.
71775         lchown: detect Solaris and FreeBSD bug
71776         * lib/lchown.c (rpl_lchown): Work around bug.
71777         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
71778         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
71779         * modules/unistd (Makefile.am): Populate it.
71780         * lib/unistd.in.h (lchown): Update declaration.
71781         * doc/posix-functions/lchown.texi (lchown): Document the bug.
71782         * modules/lchown-tests: New file.
71783         * tests/test-lchown.h (test_lchown): Likewise.
71784         * tests/test-lchown.c (main): Likewise.
71786         chown: detect Solaris and FreeBSD bug
71787         * lib/chown.c (rpl_chown): Work around bug.
71788         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
71789         (gl_PREREQ_CHOWN): Delete.
71790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
71791         * modules/unistd (Makefile.am): Populate it.
71792         * lib/unistd.in.h (chown): Update declaration.
71793         * lib/lchown.c (chown): Update client.
71794         * modules/lchown (Depends-on): Add lstat.
71795         * doc/posix-functions/chown.texi (chown): Document the bug.
71796         * doc/posix-functions/getgroups.texi (getgroups): Document
71797         getgroups pitfall.
71798         * modules/chown-tests: New file.
71799         * tests/test-chown.h (test_chown): Likewise.
71800         * tests/test-chown.c (main): Likewise.
71802 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
71804         gnulib-tool: correctly detect absence of m4 directories
71805         * gnulib-tool: Avoid extra newline on data passed to wc -l.
71807 2009-11-14  Jim Meyering  <meyering@redhat.com>
71809         maint.mk: Prohibit inclusion of "xalloc.h" without use.
71810         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
71812 2009-11-14  John W. Eaton  <jwe@gnu.org>
71814         strftime.h: wrap function declaration in extern "C" block
71815         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
71817 2009-11-13  Eric Blake  <ebb9@byu.net>
71819         getgroups: avoid compiler warning
71820         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
71822         getgroups: work around FreeBSD bug
71823         * lib/getgroups.c (rpl_getgroups): Work around the bug.
71824         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
71825         * doc/posix-functions/getgroups.texi (getgroups): Document it.
71826         * tests/test-getgroups.c (main): Fix buffer overrun.
71828         getgroups: avoid compilation failure
71829         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
71830         * modules/getgroups (Depends-on): Add stdint.
71832 2009-11-13  Jim Meyering  <meyering@redhat.com>
71834         test-getgroups: avoid compilation failure
71835         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
71837 2009-11-13  Eric Blake  <ebb9@byu.net>
71839         mgetgroups: new module, taken from coreutils
71840         * modules/mgetgroups: New file.
71841         * lib/mgetgroups.h: Likewise.
71842         * lib/mgetgroups.c (mgetgroups): Likewise.
71843         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
71844         * MODULES.html.sh (Users and groups): Mention it.
71846         getgroups: don't expose GETGROUPS_T to user
71847         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
71848         an element at a time if GETGROUPS_T is wrong size.
71849         * lib/getugroups.h (getugroups): Change signature.
71850         * lib/unistd.in.h (getgroups): Likewise.
71851         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
71852         signature needs fixing.
71853         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
71854         AC_TYPE_GETGROUPS.
71855         * modules/group-member (Depends-on): Add getgroups.
71856         * lib/group-member.c (group_info, get_group_info): Use gid_t.
71857         (group_member): Rely on getgroups replacement.
71858         * lib/getugroups.c (getugroups): Use gid_t.
71859         * tests/test-getgroups.c (main): Likewise.
71860         * NEWS: Mention the signature change.
71861         * doc/posix-functions/getgroups.texi (getgroups): Mention the
71862         problem with signature.
71863         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
71864         GETGROUPS_T is still useful for setgroups.
71866         getgroups, getugroups: provide stubs for mingw
71867         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
71868         * lib/getugroups.c (getugroups): Likewise.
71869         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
71870         function.  Modernize replacement scheme.
71871         (gl_PREREQ_GETGROUPS): Delete.
71872         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
71873         * modules/getgroups (configure.ac): Declare witness.
71874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
71875         * modules/unistd (Depends-on): Substitute witness.
71876         * lib/unistd.in.h (getgroups): Declare replacement.
71878         getgroups: avoid calling exit
71879         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
71880         drop xalloc.
71881         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
71882         dependencies.
71883         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
71884         exiting, in the rare case of malloc failure.
71886         getgroups: fix logic error
71887         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
71888         has more than 20 groups.
71889         * modules/getgroups-tests: New test.
71890         * tests/test-getgroups.c: New file.
71892 2009-11-13  Simon Josefsson  <simon@josefsson.org>
71894         * tests/test-base64.c: Improve.
71896 2009-11-13  Simon Josefsson  <simon@josefsson.org>
71898         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
71899         Blake <ebb9@byu.net>.
71901 2009-11-13  Simon Josefsson  <simon@josefsson.org>
71903         * tests/test-xvasprintf.c: Add %s%s related checks.
71905 2009-11-12  Eric Blake  <ebb9@byu.net>
71907         version-etc: match standards.texi style
71908         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
71909         and use <> only for URLs.
71911 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
71913         fts: do not fail on a submount during traversal
71914         * lib/fts.c (fts_build): Read the stat info again after opening
71915         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
71916         Original report at http://bugzilla.redhat.com/501848.
71918 2009-11-12  Jim Meyering  <meyering@redhat.com>
71920         bootstrap: sync from coreutils
71921         * build-aux/bootstrap (bootstrap_epilogue): New function.
71922         Use git_modules_config in one more place.  This make bootstrap's
71923         --gnulib-srcdir option more useful for testing.
71925         bootstrap: generalize autoheader check
71926         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
71927         AC_CONFIG_HEADERS.
71929 2009-11-11  Eric Blake  <ebb9@byu.net>
71931         mkfifoat: use new modules for Solaris and BSD bugs
71932         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
71933         * lib/mkfifoat.c (mknodat): Split...
71934         * lib/mknodat.c (mknodat): ...into new file.
71935         * modules/mkfifoat (Files): Ship new file.
71936         (Depends-on): Add mkfifo, mknod.
71937         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
71938         (Depends-on): Add symlink.
71939         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
71940         redundant with test_mkfifo.h.
71941         (do_mkfifoat, do_mknodat): New helpers.
71943         mknod: new module
71944         * modules/mknod: New file.
71945         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
71946         * lib/mknod.c (mknod): Likewise.
71947         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
71948         defaults.
71949         * modules/sys_stat (Makefile.am): Substitute them.
71950         * lib/sys_stat.in.h (mknod): Declare replacement.
71951         * MODULES.html.sh (Support for systems lacking POSIX:2008):
71952         Document it.
71953         * doc/posix-functions/mknod.texi (mknod): Likewise.
71954         * modules/mknod-tests: New test.
71955         * tests/test-mknod.c: Likewise.
71957         mkfifo: new module
71958         * modules/mkfifo: New file.
71959         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
71960         * lib/mkfifo.c (mkfifo): Likewise.
71961         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
71962         defaults.
71963         * modules/sys_stat (Makefile.am): Substitute them.
71964         * lib/sys_stat.in.h (mkfifo): Declare replacement.
71965         * MODULES.html.sh (Support for systems lacking POSIX:2008):
71966         Document it.
71967         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
71968         * modules/mkfifo-tests: New test.
71969         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
71970         from test-mkfifoat.c.
71971         * tests/test-mkfifo.c: New file.
71973         readlink: detect FreeBSD bug
71974         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
71975         slash on symlink.
71976         * doc/posix-functions/readlink.texi (readlink): Document the bug.
71977         * tests/test-readlink.h (test_readlink): Enhance test.
71979         symlink: detect FreeBSD bug
71980         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
71981         slash on symlink.
71982         * doc/posix-functions/symlink.texi (symlink): Document the bug.
71983         * tests/test-symlink.h (test_symlink): Enhance test.
71985 2009-11-10  Eric Blake  <ebb9@byu.net>
71987         link: detect FreeBSD bug
71988         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
71989         symlink.
71990         * doc/posix-functions/link.texi (link): Document the bug.
71991         * tests/test-link.h (test_link): Enhance test.
71992         * tests/test-linkat.c (main): Update caller.
71994         unlink, remove: detect FreeBSD bug
71995         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
71996         slash on symlink.
71997         * doc/posix-functions/unlink.texi (unlink): Document the bug.
71998         * doc/posix-functions/remove.texi (remove): Likewise.
71999         * tests/test-unlink.h (test_unlink): Enhance test.
72000         * tests/test-remove.c (main): Likewise.
72002 2009-11-09  Eric Blake  <ebb9@byu.net>
72004         rename: detect FreeBSD bug
72005         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
72006         slash on symlink.
72007         * modules/renameat-tests (Depends-on): Add filenamecat.
72008         * tests/test-rename.h (test_rename): Allow one more errno.
72009         * tests/test-renameat.c (main): Likewise.
72010         * doc/posix-functions/rename.texi (rename): Document the bug.
72012         open: detect FreeBSD bug
72013         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
72014         symlink.
72015         * doc/posix-functions/open.texi (open): Document the bug.
72016         * doc/posix-functions/utimes.texi (utimes): Likewise.
72017         * tests/test-open.h (test_open): Add parameters, and test symlink
72018         handling.
72019         * tests/test-open.c (main): Adjust caller.
72020         * tests/test-fcntl-safer.c (main): Likewise.
72021         * modules/open-tests (Depends-on): Add stdbool, symlink.
72022         * modules/fcntl-safer-tests (Depends-on): Likewise.
72023         * tests/test-openat.c (main): Add test-open tests.
72025         stat: detect FreeBSD bug
72026         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
72027         symlink.
72028         * doc/posix-functions/stat.texi (stat): Document the bug.
72029         * tests/test-stat.h (test_stat_func): Add argument.
72030         * tests/test-stat.c (main): Adjust caller.
72031         * tests/test-fstatat.c (main): Likewise.
72032         * modules/stat-tests (Depends-on): Add stdbool, symlink.
72033         Reported by Jim Meyering.
72035 2009-11-09  James Youngman  <jay@gnu.org>
72037         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
72038         * lib/strftime.c: Correct placement of #include "ignore-value.h".
72040 2009-11-08  Jim Meyering  <meyering@redhat.com>
72042         utimens: remove invalid futimesat call
72043         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
72044         It used the file descriptor of the target file as the DIR_FD
72045         parameter and NULL as the file name.  That caused failure with
72046         errno == EFAULT on FreeBSD-8.0-rc2
72048 2009-11-07  Eric Blake  <ebb9@byu.net>
72050         fflush, freadseek: use fseeko, not fseek
72051         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
72052         (clear_ungetc_buffer): Avoid potential problems on large files.
72053         * lib/freadseek.c (freadseek): Likewise.
72054         * modules/freadseek (Depends-on): Add fseeko.
72055         * modules/fseek (configure.ac): Set a witness.
72056         * tests/test-fflush.c (main): Use fseeko.
72057         * tests/test-fpurge.c (fseek): Disable link warning.
72058         * tests/test-freadable.c (fseek): Likewise.
72059         * tests/test-freading.c (fseek): Likewise.
72060         * tests/test-fseeko.c (fseek): Likewise.
72061         * tests/test-ftell.c (fseek): Likewise.
72062         * tests/test-ftello.c (fseek): Likewise.
72063         * tests/test-fwritable.c (fseek): Likewise.
72064         * tests/test-fwriting.c (fseek): Likewise.
72066 2009-11-06  Simon Josefsson  <simon@josefsson.org>
72068         * modules/memchr (Depends-on): Drop getpagesize dependency.
72070 2009-11-06  Simon Josefsson  <simon@josefsson.org>
72072         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
72073         Reported by Ludovic Courtès.
72074         * build-aux/pmccabe2html: Improve example usage.
72075         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
72077 2009-11-06  Jim Meyering  <meyering@redhat.com>
72079         do-release-commit-and-tag: New module.
72080         Automate the release-commit and tag process.
72081         * build-aux/do-release-commit-and-tag: New script, from coreutils.
72082         * modules/do-release-commit-and-tag: New file.
72083         * MODULES.html.sh (Support for maintaining and releasing): Add it.
72085 2009-11-06  Simon Josefsson  <simon@josefsson.org>
72087         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
72088         because test-select.c uses inet_pton.
72090 2009-11-06  Simon Josefsson  <simon@josefsson.org>
72092         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
72093         GETADDRINFO_LIB.  Bump serial number.
72094         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
72095         Suggested by Eric Blake <ebb9@byu.net>.
72097 2009-11-05  Eric Blake  <ebb9@byu.net>
72099         strtod: detect darwin bug
72100         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
72101         Reported by Leo Davis.
72103         freopen-safer: new module
72104         * modules/freopen-safer: New module.
72105         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
72106         * lib/freopen-safer.c (freopen_safer): New file.
72107         * lib/stdio-safer.h (freopen_safer): New declaration.
72108         * lib/stdio--.h (freopen): New override.
72109         * MODULES.html.sh (File stream based Input/Output): Mention it.
72110         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
72111         freopen-safer module.
72112         * doc/posix-functions/stderr.texi (stderr): Likewise.
72113         * doc/posix-functions/stdin.texi (stdin): Likewise.
72114         * doc/posix-functions/stdout.texi (stdout): Likewise.
72115         * modules/freopen-safer-tests: New test.
72116         * tests/test-reopen-safer.c: New file.
72118 2009-11-05  Jim Meyering  <meyering@redhat.com>
72120         maint.mk: Prohibit inclusion of "close-stream.h" without use.
72121         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
72123 2009-11-05  Simon Josefsson  <simon@josefsson.org>
72125         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
72127 2009-11-05  Simon Josefsson  <simon@josefsson.org>
72129         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
72131 2009-11-05  Simon Josefsson  <simon@josefsson.org>
72133         Fix link error.
72134         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
72135         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
72137 2009-11-05  Simon Josefsson  <simon@josefsson.org>
72139         * tests/test-func.c: Also test value of __func__.
72141 2009-11-05  Simon Josefsson  <simon@josefsson.org>
72143         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
72144         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
72146 2009-11-05  Bruno Haible  <bruno@clisp.org>
72148         Fix link error.
72149         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
72150         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
72151         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
72153 2009-11-05  Bruno Haible  <bruno@clisp.org>
72155         Tests for module 'inet_pton'.
72156         * modules/inet_pton-tests: New file.
72157         * tests/test-inet_pton.c: New file.
72159 2009-11-05  Bruno Haible  <bruno@clisp.org>
72161         Tests for module 'inet_ntop'.
72162         * modules/inet_ntop-tests: New file.
72163         * tests/test-inet_ntop.c: New file.
72165 2009-11-04  Eric Blake  <ebb9@byu.net>
72167         stdlib-safer: wrap all mkstemp variants
72168         * modules/mkostemp (configure.ac): Set witness.
72169         * modules/mkostemps (configure.ac): Likewise.
72170         * modules/mkstemps (configure.ac): Likewise.
72171         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
72172         (mkstemps_safer): Wrap more functions.
72173         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
72174         wrapping.
72175         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
72176         (mkstemps_safer): Implement the wrappers.
72178         mkstemps, mkostemps: new modules
72179         * modules/mkostemps: New module.
72180         * modules/mkstemps: Likewise.
72181         * lib/mkostemps.c (mkostemps): New file.
72182         * lib/mkstemps.c (mkstemps): Likewise.
72183         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
72184         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
72185         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
72186         * modules/stdlib (Makefile.am): Substitute them.
72187         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
72188         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
72189         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
72190         * doc/gnulib.texi (Glibc stdlib.h): Include them.
72191         * MODULES.html.sh (File system functions): Mention them.
72193         tempname: resync from glibc
72194         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
72195         same values for __GT_FILE as glibc.  Abort even when assertions
72196         are disabled.
72197         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
72198         match its value otherwise.  Allow idempotent inclusion.
72199         * lib/mkdtemp.c (mkdtemp): Adjust caller.
72200         * lib/mkostemp.c (mkostemp): Likewise.
72201         * lib/mkstemp.c (mkstemp): Likewise.
72202         * lib/tmpfile.c (tmpfile): Likewise.
72203         * NEWS: Document this.
72205         utimens: fix use of futimens on older Linux
72206         * lib/utimens.c (fdutimens): Use updated, rather than original,
72207         timespec to avoid bug in older Linux kernel.
72208         Reported by Simon Josefsson.
72210 2009-11-04  Bruno Haible  <bruno@clisp.org>
72212         Make num_processors more flexible and consistent.
72213         * lib/nproc.h (enum nproc_query): New type.
72214         (num_processors): Add a 'query' argument.
72215         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
72216         (num_processors): Add a 'query' argument. Test the value of the
72217         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
72218         mingw, count the number of CPUs available for the current process.
72219         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
72220         Check for sched_getaffinity and sched_getaffinity_np.
72221         * modules/nproc (Depends-on): Add c-ctype, extensions.
72222         * NEWS: Mention the change.
72224 2009-11-03  Bruno Haible  <bruno@clisp.org>
72226         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
72228 2009-11-03  Jim Meyering  <meyering@redhat.com>
72230         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
72231         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
72232         if it is defined.
72234 2009-11-02  Eric Blake  <ebb9@byu.net>
72236         mktime, timegm: share common declaration
72237         * lib/mktime-internal.h: New file.
72238         * lib/mktime.c: Use it rather than open-coding a declaration.
72239         * lib/timegm.c: Likewise.
72240         * modules/mktime (Files): Ship it.
72241         * modules/timegm (Files): Likewise.
72242         Suggested by Bruno Haible.
72244         test-update-copyright: update test to match script changes
72245         * tests/test-update-copyright.sh: Avoid hard-coding perl
72246         location.  Don't update *.bak created by earlier runs.
72248 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72249             Simon Josefsson  <simon@josefsson.org>
72250             Bruno Haible  <bruno@clisp.org>
72252         Fix link error on Solaris 8.
72253         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
72254         also in libnsl. Define also INET_PTON_LIB.
72255         * modules/inet_pton (Link): New section.
72257 2009-11-02  Simon Josefsson  <simon@josefsson.org>
72258             Bruno Haible  <bruno@clisp.org>
72260         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
72261         * modules/inet_ntop (Link): New section.
72262         Reported by Boyan Kasarov <bkasarov@gmail.com>.
72264 2009-11-02  Eric Blake  <ebb9@byu.net>
72266         maint: avoid compiler warnings in m4 macros
72267         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
72268         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
72270 2009-11-02  Simon Josefsson  <simon@josefsson.org>
72272         * m4/pmccabe2html.m4: Remove file.
72273         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
72274         function.  Change maintainer.
72275         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
72276         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
72277         Courtès).
72279 2009-10-31  Eric Blake  <ebb9@byu.net>
72281         fseeko: fix m4 regression
72282         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
72283         regression from 2009-10-27.
72284         Reported by Ralf Wildenhues.
72286 2009-10-31  Jim Meyering  <meyering@redhat.com>
72288         inttostr: aesthetics and improved (compile-time) safety
72289         Define inttype_is_signed rather than inttype_is_unsigned,
72290         since the sole use is via "#if inttype_is_signed".
72291         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
72292         inttype_is_unsigned.
72293         * lib/offtostr.c (inttype_is_signed): Likewise.
72294         * lib/uinttostr.c (inttype_is_signed): Likewise.
72295         * lib/umaxtostr.c (inttype_is_signed): Likewise.
72296         * lib/inttostr.c (inttostr): Use verify to cross-check the
72297         inttype_is_signed value and the signedness of the actual type.
72298         * modules/inttostr (Depends-on): Add verify.
72300 2009-10-30  Eric Blake  <ebb9@byu.net>
72302         build: avoid compiler warnings
72303         * lib/fchmodat.c (lchmod): Mark unused variables.
72304         * lib/getopt.c (_getopt_initialize): Likewise.
72305         * lib/mktime.c (__mktime_internal): Provide prototype.
72306         * lib/inttostr.c (inttostr): Avoid compiler warning even with
72307         older gcc that do not understand #pragma GCC diagnostic.
72308         * lib/uinttostr.c (inttype_is_unsigned): Define.
72309         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
72311 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
72313         stat: fix compilation on AIX
72314         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
72315         only see struct stat64.
72317 2009-10-30  Eric Blake  <ebb9@byu.net>
72319         exclude: make more robust
72320         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
72321         rather than masking a coding bug.
72322         Suggested by Bruno Haible.
72324 2009-10-30  Jim Meyering  <meyering@redhat.com>
72326         perl scripts: remove #!/usr/bin/perl in favor of more portable...
72327         Rather than putting #!/usr/bin/perl on the first line,
72328         start with a variant of what's recommended by "man perlrun" that
72329         invokes the first "perl" program from your shell's search path.
72330         * build-aux/gitlog-to-changelog: Replace #!... as above.
72331         Add a "Local Variables" perl mode setting.
72332         Prompted by a patch from Ludovic Courtès.
72333         Improved by Eric Blake.
72334         * build-aux/useless-if-before-free: Likewise.
72335         * build-aux/announce-gen: Likewise.
72336         * build-aux/update-copyright: Likewise.
72338 2009-10-29  Eric Blake  <ebb9@byu.net>
72340         filenamecat-lgpl: adjust clients
72341         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
72342         filenamecat.
72343         * modules/renameat (Depends-on): Likewise.
72345         filenamecat: split into filenamecat-lgpl
72346         * modules/filenamecat-lgpl: New module.
72347         * modules/filenamecat (Files): Move library-safe files into
72348         filenamecat-lgpl.
72349         (Depends-on): Add filenamecat-lgpl.
72350         (configure.ac): Declare witness.
72351         * lib/filenamecat.h (file_name_concat): Only declare when using
72352         GPL module.
72353         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
72354         Move...
72355         * lib/filenamecat-lgpl.c: ...into new file.
72356         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
72357         (gl_FILE_NAME_CONCAT): Use it.
72358         * MODULES.html.sh (File system functions): Mention new module.
72360         argp: avoid memory leak
72361         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
72362         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
72363         base_name, since the latter malloc()s and can call exit().
72364         Leak introduced 2006-07-03.
72366         dirname-lgpl: adjust clients that don't need full dirname
72367         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
72368         * modules/filenamecat (Depends-on): Likewise.
72369         * modules/linkat (Depends-on): Likewise.
72370         * modules/mkancesdirs (Depends-on): Likewise.
72371         * modules/mkdir (Depends-on): Likewise.
72372         * modules/openat (Depends-on): Likewise.
72373         * modules/savewd (Depends-on): Likewise.
72374         * modules/rename (Depends-on): Likewise.
72375         (License): Relax license.
72376         * modules/mkdir-tests (Depends-on): Drop progname.
72377         (Makefile.am): Delete unneeded LDADD.
72378         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
72380         dirname: split into dirname-lgpl
72381         * modules/dirname-lgpl: New module.
72382         * modules/dirname (Files): Move library-safe files into
72383         dirname-lgpl.
72384         (Depends-on): Add dirname-lgpl.
72385         (configure.ac): Declare witness.
72386         * modules/double-slash-root (License): Relax license.
72387         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
72388         module.
72389         * lib/dirname.c (dir_len, mdir_name): Move...
72390         * lib/dirname-lgpl.c: ...into new file.
72391         * lib/basename.c (last_component, base_len): Move...
72392         * lib/basename-lgpl.c: ...into new file.
72393         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
72394         (gl_DIRNAME): Use it.
72395         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
72396         Mention new module.
72397         * modules/dirname-tests (Depends-on): Add progname.
72398         * tests/test-dirname.c (program_name): Delete.
72400         mkdir: make safe for libraries
72401         * modules/mkdir (Depends-on): Drop xalloc.
72402         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
72403         exit.
72405         tests: avoid some compiler warnings
72406         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
72407         literals.
72408         * tests/test-memchr.c (main): Avoid type mismatch.
72409         * tests/test-arpa_inet.c (main): Avoid unused parameters.
72410         * tests/test-base64.c (main): Likewise.
72411         * tests/test-getdelim.c (main): Likewise.
72412         * tests/test-gethostname.c (main): Likewise.
72413         * tests/test-getline.c (main): Likewise.
72414         * tests/test-netinet_in.c (main): Likewise.
72415         * tests/test-select.c (open_server_socket, main): Likewise.
72416         * tests/test-select-stdin.c (main): Likewise.
72417         * tests/test-sockets.c (main): Likewise.
72418         * tests/test-strsignal.c (main): Likewise.
72419         * tests/test-sys_select.c (main): Likewise.
72420         * tests/test-sys_socket.c (main): Likewise.
72421         * tests/test-u64.c (main): Likewise.
72422         * tests/test-xfprintf-posix.c (main): Likewise.
72423         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
72425         sockets: avoid compiler warning
72426         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
72428         maint: detect usage(1) and other suspicious exits
72429         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
72431 2009-10-29  Jim Meyering  <meyering@redhat.com>
72433         timespec: long-to-int truncation could make timespec_cmp malfunction
72434         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
72435         a multiple of 2^32 nanoseconds as no difference.
72437 2009-10-28  Jim Meyering  <meyering@redhat.com>
72439         fprintftime: wrap macro code argument in "do {...} while(0)"
72440         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
72441         cpy macro must be a statement that can be followed by a semicolon.
72442         Now that the else clause contains a comment and is hence longer
72443         than one line, I require curly braces.  That in turn requires
72444         that we wrap this code block in the standard do...while(0).
72446         fprintftime: remove stray semicolon from previous change
72447         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
72449         fprintftime: avoid a warning about ignored fwrite return value
72450         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
72451         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
72452         that is unsafe.
72453         * modules/fprintftime (Depends-on): Add ignore-value.
72455         exclude: avoid an unwarranted warning
72456         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
72458 2009-10-27  Eric Blake  <ebb9@byu.net>
72460         fseek: avoid compilation failure when fflush is replaced
72461         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
72462         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
72463         module is in use.
72464         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
72465         module is not in use; since REPLACE_FSEEK worked otherwise.
72466         (GNULIB_FTELLO): Likewise for ftell.
72467         Reported by Ian Beckwith and others.
72469 2009-10-27  Bruno Haible  <bruno@clisp.org>
72471         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
72472         Reported by Jim Meyering.
72474 2009-10-27  Jim Meyering  <jim@meyering.net>
72475             Bruno Haible  <bruno@clisp.org>
72477         Avoid warning despite dropping the return value of fwrite.
72478         * lib/unicodeio.c: Include ignore-value.h.
72479         (fwrite_success_callback): Explicitly ignore fwrite's return value.
72480         * modules/unicodeio (Depends-on): Add ignore-value.
72482 2009-10-26  Eric Blake  <ebb9@byu.net>
72484         areadlinkat: fix fallback path
72485         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
72486         pointer and zero.
72488 2009-10-22  Pádraig Brady  <P@draigBrady.com>
72490         Use a better IO block size for modern systems
72491         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
72492         * lib/md2.c: Likewise.
72493         * lib/md4.c: Likewise.
72494         * lib/md5.c: Likewise.
72495         * lib/sha1.c: Likewise.
72496         * lib/sha256.c: Likewise.
72497         * lib/sha512.c: Likewise.
72499 2009-10-22  Eric Blake  <ebb9@byu.net>
72501         tests: avoid several compiler warnings
72502         * tests/test-getcwd.c (main): Avoid buffer underflow.
72503         * tests/test-getdate.c (main): String literals are not safe with
72504         putenv, so use setenv.  Declare unused argument.
72505         * modules/getdate-tests (Depends-on): Add setenv.
72506         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
72507         problems with string literals in char *.
72508         * tests/test-hash.c (main): Avoid shadowing declaration.
72509         (insert_new): Treat string literals as char const *.
72510         * tests/test-getopt.h (test_getopt): Likewise.
72511         (getopt_loop): Alter types to minimize casting elsewhere.
72512         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
72513         (test_getopt_long_posix): Likewise.
72514         (do_getopt_long): Add wrapper to minimize casting.
72515         * tests/test-atexit.c (clear_temp_file): Use void.
72516         * tests/test-areadlink-with-size.c (main): Declare unused
72517         arguments.
72518         * tests/test-areadlink.c (main): Likewise.
72519         * tests/test-areadlinkat-with-size.c (main): Likewise.
72520         * tests/test-areadlinkat.c (main): Likewise.
72521         * tests/test-canonicalize-lgpl.c (main): Likewise.
72522         * tests/test-canonicalize.c (main): Likewise.
72523         * tests/test-dirent-safer.c (main): Likewise.
72524         * tests/test-dirname.c (main): Likewise.
72525         * tests/test-dup2.c (main): Likewise.
72526         * tests/test-fchdir.c (main): Likewise.
72527         * tests/test-fcntl-h.c (main): Likewise.
72528         * tests/test-fcntl-safer.c (main): Likewise.
72529         * tests/test-fdopendir.c (main): Likewise.
72530         * tests/test-fdutimensat.c (main): Likewise.
72531         * tests/test-fflush.c (main): Likewise.
72532         * tests/test-filenamecat.c (main): Likewise.
72533         * tests/test-filevercmp.c (main): Likewise.
72534         * tests/test-fopen-safer.c (main): Likewise.
72535         * tests/test-fopen.c (main): Likewise.
72536         * tests/test-fpending.c (main): Likewise.
72537         * tests/test-fpurge.c (main): Likewise.
72538         * tests/test-freading.c (main): Likewise.
72539         * tests/test-fstatat.c (main): Likewise.
72540         * tests/test-fsync.c (main): Likewise.
72541         * tests/test-futimens.c (main): Likewise.
72542         * tests/test-getndelim2.c (main): Likewise.
72543         * tests/test-gettimeofday.c (main): Likewise.
72544         * tests/test-getopt.c (main): Likewise.
72545         * tests/test-i-ring.c (main): Likewise.
72546         * tests/test-inttypes.c (main): Likewise.
72547         * tests/test-link.c (main): Likewise.
72548         * tests/test-lstat.c (main): Likewise.
72549         * tests/test-math.c (main): Likewise.
72550         * tests/test-md5.c (main): Likewise.
72551         * tests/test-memchr2.c (main): Likewise.
72552         * tests/test-memrchr.c (main): Likewise.
72553         * tests/test-mkdir.c (main): Likewise.
72554         * tests/test-mkdirat.c (main): Likewise.
72555         * tests/test-mkfifoat.c (main): Likewise.
72556         * tests/test-open.c (main): Likewise.
72557         * tests/test-openat-safer.c (main): Likewise.
72558         * tests/test-openat.c (main): Likewise.
72559         * tests/test-quotearg.c (main): Likewise.
72560         * tests/test-rawmemchr.c (main): Likewise.
72561         * tests/test-readlink.c (main): Likewise.
72562         * tests/test-remove.c (main): Likewise.
72563         * tests/test-rename.c (main): Likewise.
72564         * tests/test-renameat.c (main): Likewise.
72565         * tests/test-rmdir.c (main): Likewise.
72566         * tests/test-sha1.c (main): Likewise.
72567         * tests/test-signal.c (main): Likewise.
72568         * tests/test-sigaction.c (main): Likewise.
72569         * tests/test-stat.c (main): Likewise.
72570         * tests/test-stat-time.c (main): Likewise.
72571         * tests/test-stddef.c (main): Likewise.
72572         * tests/test-stdint.c (main): Likewise.
72573         * tests/test-stdio.c (main): Likewise.
72574         * tests/test-stdlib.c (main): Likewise.
72575         * tests/test-strchrnul.c (main): Likewise.
72576         * tests/test-strerror.c (main): Likewise.
72577         * tests/test-string.c (main): Likewise.
72578         * tests/test-strtod.c (main): Likewise.
72579         * tests/test-strverscmp.c (main): Likewise.
72580         * tests/test-symlink.c (main): Likewise.
72581         * tests/test-symlinkat.c (main): Likewise.
72582         * tests/test-sys_stat.c (main): Likewise.
72583         * tests/test-sys_time.c (main): Likewise.
72584         * tests/test-time.c (main): Likewise.
72585         * tests/test-unistd.c (main): Likewise.
72586         * tests/test-unlink.c (main): Likewise.
72587         * tests/test-unlinkat.c (main): Likewise.
72588         * tests/test-utimens.c (main): Likewise.
72589         * tests/test-utimensat.c (main): Likewise.
72590         * tests/test-version-etc.c (main): Likewise.
72591         * tests/test-wchar.c (main): Likewise.
72592         * tests/test-wctype.c (main): Likewise.
72593         * tests/test-xprintf-posix.c (main): Likewise.
72594         * tests/test-posixtm.c (main): Likewise.
72595         (STREQ): Delete unused macro.
72596         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
72597         shadowed variables.
72598         * tests/test-memchr.c (main): Likewise.
72600 2009-10-21  Eric Blake  <ebb9@byu.net>
72602         areadlinkat: avoid failure on older glibc
72603         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
72604         rather than mis-comparing 0 against FUNC_RESULT of char*.
72606 2009-10-21  Bruno Haible  <bruno@clisp.org>
72608         * modules/stpncpy (License): Relicense under LGPLv2+.
72609         Reported by David Lutterkort <lutter@redhat.com>.
72611 2009-10-20  Eric Blake  <ebb9@byu.net>
72613         utimensat: work around Solaris 9 bug
72614         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
72615         has trailing slash bugs.
72616         * tests/test-lutimens.h (test_lutimens): Enhance test.
72617         * tests/test-utimens.h (test_utimens): Likewise.
72618         * doc/posix-functions/utime.texi (utime): Enhance documentation.
72619         * doc/posix-functions/utimes.texi (utimes): Likewise.
72620         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
72621         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
72622         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
72623         * doc/posix-functions/futimens.texi (futimens): Likewise.
72625         fdutimensat: new module
72626         * modules/fdutimensat: New file.
72627         * lib/fdutimensat.c (fdutimensat): Likewise.
72628         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
72629         * MODULES.html.sh (File system functions): Mention module.
72630         * modules/fdutimensat-tests: New test.
72631         * tests/test-fdutimensat.c: Likewise.
72633         doc: regenerate INSTALL
72634         * doc/INSTALL: Reflect recent autoconf update.
72635         * doc/INSTALL.ISO: Likewise.
72636         * doc/INSTALL.UTF-8: Likewise.
72638 2009-10-20  Pádraig Brady  <P@draigBrady.com>
72640         acl: warn if ACL support is not detected
72641         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
72643 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
72645         * lib/nproc.h: Add extern "C" block for C++.
72647 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
72648             Bruno Haible  <bruno@clisp.org>
72650         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
72651         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
72652         * doc/posix-functions/isalpha.texi: Likewise.
72653         * doc/posix-functions/isblank.texi: Likewise.
72654         * doc/posix-functions/iscntrl.texi: Likewise.
72655         * doc/posix-functions/isdigit.texi: Likewise.
72656         * doc/posix-functions/isgraph.texi: Likewise.
72657         * doc/posix-functions/islower.texi: Likewise.
72658         * doc/posix-functions/isprint.texi: Likewise.
72659         * doc/posix-functions/ispunct.texi: Likewise.
72660         * doc/posix-functions/isspace.texi: Likewise.
72661         * doc/posix-functions/isupper.texi: Likewise.
72662         * doc/posix-functions/isxdigit.texi: Likewise.
72664 2009-10-18  Bruno Haible  <bruno@clisp.org>
72666         Tests for module 'isblank'.
72667         * modules/isblank-tests: New file.
72668         * tests/test-isblank.c: New file.
72670         New module 'isblank'.
72671         * lib/isblank.c: New file.
72672         * m4/isblank.m4: New file.
72673         * modules/isblank: New file.
72674         * doc/posix-functions/isblank.texi: Mention the new module.
72676 2009-10-18  Bruno Haible  <bruno@clisp.org>
72678         New module 'ctype'.
72679         * lib/ctype.in.h: New file.
72680         * m4/ctype.m4: New file.
72681         * modules/ctype: New file.
72682         * doc/posix-headers/ctype.texi: Mention the new module.
72684 2009-10-18  Jim Meyering  <meyering@redhat.com>
72686         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
72687         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
72688         right after its initialization, rather than farther down.
72689         Keeping these in close proximity makes it easier to ensure
72690         that each such variable is initialized.  E.g.,
72692             LIB_CLOCK_GETTIME=
72693             AC_SUBST([LIB_CLOCK_GETTIME])
72695         This change also increments these serial numbers.
72696         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
72697         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72700 2009-10-18  Bruno Haible  <bruno@clisp.org>
72702         Don't let environment variables perturb build.
72703         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
72704         (gl_PREREQ_GETHRXTIME): ... not here.
72706 2009-10-18  Bruno Haible  <bruno@clisp.org>
72708         Avoid symlink attack in localcharset module.
72709         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
72710         (O_NOFOLLOW): Define fallback.
72711         (get_charset_aliases): Don't open the file if it is a symbolic link.
72712         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
72713         gl_FCNTL_H.
72714         (gl_FCNTL_H): Require it.
72715         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
72716         * modules/localcharset (Files): Add m4/fcntl_h.m4.
72717         Reported by Fergal Glynn <fglynn@veracode.com>.
72719 2009-10-18  Bruno Haible  <bruno@clisp.org>
72721         Implement nproc for mingw.
72722         * lib/nproc.c: Include <windows.h>
72723         (num_processors): On native Windows platforms, try GetSystemInfo.
72725 2009-10-18  Bruno Haible  <bruno@clisp.org>
72727         Implement nproc for IRIX.
72728         * lib/nproc.c: Include <sys/sysmp.h>.
72729         (num_processors): On IRIX systems, try sysmp.
72730         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
72732 2009-10-18  Bruno Haible  <bruno@clisp.org>
72734         Implement nproc for HP-UX.
72735         * lib/nproc.c: Include <sys/pstat.h>
72736         (num_processors): On HP-UX systems, try pstat_getdynamic.
72737         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
72738         pstat_getdynamic.
72740 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
72741             Bruno Haible  <bruno@clisp.org>
72743         Implement nproc for NetBSD, OpenBSD.
72744         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
72745         (ARRAY_SIZE): New macro.
72746         (num_processors): On BSD systems, try sysctl of HW_NCPU.
72747         * m4/nproc.m4: New file.
72748         * modules/nproc (Files): Add m4/nproc.m4.
72749         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
72750         (Makefile.am): Instead, augment lib_SOURCES.
72752 2009-10-18  Bruno Haible  <bruno@clisp.org>
72754         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
72755         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
72756         sys/param.h.
72758 2009-10-16  Eric Blake  <ebb9@byu.net>
72760         utimensat: new module
72761         * modules/utimensat: New file.
72762         * lib/utimensat.c (utimensat): Likewise.
72763         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
72764         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
72765         so we can work around Linux bugs.
72766         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
72767         * modules/sys_stat (Makefile.am): Substitute them.
72768         * lib/sys_stat.in.h (utimensat): Declare it.
72769         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
72770         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
72771         * modules/utimensat-tests: New test.
72772         * tests/test-utimensat.c: Likewise.
72774         utimens: let lutimens work on non-symlinks
72775         * lib/utimens.c (lutimens): Fall back to utimens rather than
72776         failing with ENOSYS, when file is not a symlink.
72777         (utimens): Reduce redirection.
72778         * tests/test-lutimens.h (test_lutimens): Update test to cover
72779         non-symlinks.
72780         * tests/test-utimens.h (test_utimens): Update test to cover
72781         symlinks.
72782         * tests/test-utimens.c (main): Update caller.
72784         utimens: cache whether utimensat syscall works
72785         * lib/utimens.c (utimensat_works_really): New cache variable.
72786         (fdutimens, lutimens): Use it to avoid failing syscall.
72788         test-stat-time, test-utimens: improve portability
72789         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
72790         ext4 on alpha, and for cygwin.
72791         * tests/test-utimens-common.h: New file.
72792         (nap): Factor delays into single function.
72793         * tests/test-lutimens.h (test_lutimens): Use new header.
72794         * tests/test-futimens.h (test_futimens): Likewise.
72795         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
72796         timestamps to occur from same machine, as was done previously for
72797         test_utimens.
72798         * modules/utimens-tests (Files): Ship new file.
72799         * modules/futimens-tests (Files): Likewise.
72800         Reported in part by Jim Meyering.
72802         sys_stat: sort replacement declarations
72803         * lib/sys_stat.in.h: Sort declarations.
72804         * lib/futimens.c (futimens): Fix typo.
72806 2009-10-15  Jim Meyering  <meyering@redhat.com>
72808         don't let environment settings perturb build
72809         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
72810         could cause a configure-time and/or build-time malfunction.
72811         Typically, a configure-time function-in-library test is performed
72812         via code like this:
72814           LIB_VAR=
72815           AC_SUBST([LIB_VAR])
72816           prefix_saved_LIBS=$LIBS
72817             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
72818                        [test "$ac_cv_search_FUNC" = "none required" ||
72819                         LIB_VAR=$ac_cv_search_FUNC])
72820           LIBS=$prefix_saved_LIBS
72822         However, in each of the files affected by this change, the LIB_VAR=
72823         initialization was omitted.  Thus, when set in the environment, its
72824         value would propagate into generated Makefiles when FUNC is not found
72825         in LIB_NAME.
72826         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
72827         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72828         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72830 2009-10-14  Eric Blake  <ebb9@byu.net>
72832         fchdir: avoid infinite recursion in mingw
72833         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
72834         recursing.
72836         test-stat-time: port to mingw
72837         * tests/test-stat-time.c (force_unlink): Return a value.
72838         (test_ctime) [W32]: Fix compilation error.
72839         (nap): Don't call usleep with too large an argument.  Use
72840         force_unlink.
72841         * doc/pastposix-functions/usleep.texi (usleep): Document the
72842         portability issue.
72844 2009-10-13  Jim Meyering  <meyering@redhat.com>
72846         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
72847         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
72848         * modules/pipe-filter-ii: Likewise.
72849         * modules/sys_socket-tests: Likewise.
72850         * modules/tsearch-tests: Likewise.
72851         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
72852         (check): Depend on it.
72854 2009-10-12  Eric Blake  <ebb9@byu.net>
72856         utimens-tests: port to NFS file systems
72857         * tests/test-utimens.h (test_utimens): Refactor utimecmp
72858         comparisons to avoid spurious failures from timestamp drift
72859         between NFS machines.
72861 2009-10-12  Eric Blake  <ebb9@byu.net>
72863         stat-time-tests: minor cleanups
72864         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
72865         * tests/test-stat-time.c (nap): Separate assignment from call.
72866         Suggested by Paolo Bonzini and Bruno Haible.
72868         sys_stat: guarantee struct timespec
72869         * lib/sys_stat.in.h (includes): Always include <time.h>
72870         * modules/sys_stat (Depends-on): Add time.
72871         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
72872         mode_t permission values.
72873         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
72874         get at subsecond timestamps.
72876 2009-10-10  Eric Blake  <ebb9@byu.net>
72878         futimens: new module
72879         * modules/futimens: New file.
72880         * lib/futimens.c (futimens): Likewise.
72881         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
72882         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
72883         we can work around Linux bugs.
72884         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
72885         * modules/sys_stat (Makefile.am): Substitute them.
72886         * lib/sys_stat.in.h (futimens): Declare it.
72887         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
72888         * doc/posix-functions/futimens.texi (futimens): Likewise.
72889         * modules/futimens-tests: New test.
72890         * tests/test-futimens.c: Likewise.
72892         utimens: introduce fdutimens
72893         * lib/utimens.h (fdutimens): New prototype.
72894         * lib/utimens.c (gl_futimens): Move guts...
72895         (fdutimens): ...to new interface.
72896         * tests/test-utimens.c (do_fdutimens): Use it.
72898         utimens: add UTIME_NOW and UTIME_OMIT support
72899         * lib/utimens.c (validate_timespec, update_timespec): New helper
72900         functions.
72901         (gl_futimens, lutimens): Use them.
72902         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
72903         stdbool, sys_stat.
72904         (Link): Mention resulting library dependency.
72905         * modules/utimecmp (Link): Likewise.
72906         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
72907         (Makefile.am): Pick up library dependency.
72908         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
72909         definition.
72910         * tests/test-sys_stat.c: Test the definitions.
72911         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
72912         * NEWS: Document library dependency.
72914         utimecmp: support symlink timestamps
72915         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
72916         hashing when possible.  Use pathconf when available.
72917         (SYSCALL_RESOLUTION): Recognize tighter resolution.
72918         * modules/utimecmp (Depends-on): Add lstat.
72920         utimens: add lutimens interface
72921         * lib/utimens.c (lutimens): New function.
72922         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
72923         * lib/utimens.h (lutimens): Declare new interface.
72924         * tests/test-utimens.c (main): Enhance test.
72925         * tests/test-lutimens.h (test_lutimens): New file.
72926         * modules/utimens-tests (Files): Distribute it.
72927         (Depends-on): Add symlink.
72928         (configure.ac): Check for usleep.
72930         utimens: validate futimens usage
72931         * lib/utimens.c (gl_futimens): Require valid fd up front, using
72932         fewer syscalls on failure later on.  Avoid compiler warning on
72933         mingw.
72934         * modules/utimens (Depends-on): Add dup2.
72936         utimens: add test
72937         * modules/utimens-tests: New test.
72938         * tests/test-utimens.h: New file.
72939         * tests/test-futimens.h: Likewise.
72940         * tests/test-utimens.c: Likewise.
72942         doc: mention timestamp portability issues
72943         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
72944         instead.
72945         * doc/posix-functions/utime.texi (utime): Likewise.
72946         * doc/posix-functions/utimes.texi (utimes): Likewise.
72947         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
72948         instead.
72949         * doc/posix-functions/futimens.texi (futimens): Mention utimens
72950         module.
72951         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
72952         Mention weakness with symlink timestamps.
72953         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
72954         to utimensat/futimens instead.
72955         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
72957         test-dup2: enhance test
72958         * tests/test-dup2.c (main): Also check AT_FDCWD.
72960         test-stat-time: avoid more spurious failures
72961         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
72962         xfs; and avoid race if the two timestamps cross quantization edge.
72964         relocatable: prefer 'file system' over 'filesystem'
72965         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
72966         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
72967         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
72968         * doc/relocatable.texi (Enabling Relocatability): Likewise.
72969         * lib/relocatable.c (compute_curr_prefix): Likewise.
72971 2009-10-10  Jim Meyering  <meyering@redhat.com>
72973         stat-time-tests: check for the usleep function
72974         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
72976 2009-10-10  Bruno Haible  <bruno@clisp.org>
72978         * modules/xnanosleep: Put the Link section after the Include section.
72980 2009-10-09  Eric Blake  <ebb9@byu.net>
72982         dup2: work around FreeBSD 6.1 bug
72983         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
72984         * doc/posix-functions/dup2.texi (dup2): Document it.
72985         Reported by Nelson H. F. Beebe and Jim Meyering.
72987         test-stat-time: port to buggy NFS clients
72988         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
72989         (test_ctime): Also skip test if mtime and ctime are skewed.
72991         maint: prefer 'file system' over 'filesystem'
72992         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
72993         * doc/posix-functions/lstat.texi (lstat): Likewise.
72994         * lib/file-has-acl.c (file_has_acl): Likewise.
72995         * lib/fwriteerror.c [TEST]: Likewise.
72996         * tests/test-areadlink.h (test_areadlink): Likewise.
72997         * tests/test-areadlinkat-with-size.c (main): Likewise.
72998         * tests/test-areadlinkat.c (main): Likewise.
72999         * tests/test-canonicalize-lgpl.c (main): Likewise.
73000         * tests/test-canonicalize.c (main): Likewise.
73001         * tests/test-fstatat.c (main): Likewise.
73002         * tests/test-linkat.c (main): Likewise.
73003         * tests/test-lstat.h (test_lstat_func): Likewise.
73004         * tests/test-mkdir.h (test_mkdir): Likewise.
73005         * tests/test-readlink.h (test_readlink): Likewise.
73006         * tests/test-remove.c (main): Likewise.
73007         * tests/test-rename.h (test_rename): Likewise.
73008         * tests/test-renameat.c (main): Likewise.
73009         * tests/test-rmdir.h (test_rmdir_func): Likewise.
73010         * tests/test-symlink.h (test_symlink): Likewise.
73011         * tests/test-symlinkat.c (main): Likewise.
73012         * tests/test-unlink.h (test_unlink_func): Likewise.
73013         * tests/test-unlinkat.c (main): Likewise.
73015         maint: make realtime library usage explicit
73016         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
73017         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
73018         * modules/settime (Link): Likewise.
73019         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
73021         test-stat-time: speed up execution
73022         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
73023         warning on mingw.
73024         (nap): New helper function.
73025         (prepare_test): Use it to reduce sleep time.
73026         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
73027         execution.
73028         * modules/stat-time-tests (configure.ac): Check for usleep.
73030 2009-10-09  Jim Meyering  <meyering@redhat.com>
73032         selinux-h: always use getfilecon wrappers
73033         * lib/getfilecon.c: New file.
73034         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
73035         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
73036         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
73037         (fgetfilecon): Provide a stub.
73038         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
73039         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
73040         file unconditionally.
73041         When <selinux/selinux.h> is found, arrange to use wrappers.
73042         * modules/selinux-h (Files): Add getfilecon.c.
73043         (Makefile.am): Substitute include-next-related bits
73044         into the now-always-generated selinux/selinux.h file.
73045         * doc/glibc-functions/lgetfilecon.texi: New file.
73046         * doc/glibc-functions/fgetfilecon.texi: New file.
73047         * doc/glibc-functions/getfilecon.texi: New file.
73048         * doc/glibc-functions/getfilecon-desc.texi: New file.
73049         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
73050         which to pull in the new files.
73051         * MODULES.html.sh (Misc): Add selinux-h.
73053 2009-10-08  Jim Meyering  <meyering@redhat.com>
73055         unistd: fix comment typo
73056         * lib/unistd.in.h (euidaccess): Fix a comment typo.
73058 2009-10-08  Eric Blake  <ebb9@byu.net>
73060         areadlink: use SIZE_MAX consistently
73061         * modules/areadlink (Depends-on): Add stdint.
73062         * modules/areadlink-with-size (Depends-on): Likewise.
73063         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
73064         gives NULL; drop sys/types, since unistd gives size_t; and add
73065         stdint for SIZE_MAX.
73066         (SIZE_MAX): Rely on headers.
73067         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
73068         and add stdint.
73069         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
73070         (SIZE_MAX): Likewise.
73071         (INITIAL_BUF_SIZE): Turn into enum.
73072         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
73074 2009-10-08  Jim Meyering  <meyering@redhat.com>
73076         areadlinkat: avoid compilation failure
73077         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
73078         Fix typo in comment.
73080 2009-10-07  Eric Blake  <ebb9@byu.net>
73082         areadlinkat-with-size: new module
73083         * modules/areadlinkat-with-size: New module.
73084         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
73085         * lib/areadlink.h (areadlinkat): Declare it.
73086         * MODULES.html.sh (File system functions): Mention it.
73087         * modules/areadlinkat-with-size-tests: New test.
73088         * tests/test-areadlinkat-with-size.c: New file.
73090         xreadlinkat: new module
73091         * modules/xreadlinkat: New module.
73092         * lib/xreadlinkat.c (xreadlinkat): New file.
73093         * lib/xreadlink.h (xreadlinkat): Declare it.
73094         * MODULES.html.sh (File system functions): Mention it.
73096         areadlinkat: new module
73097         * lib/at-func.c (FUNC_FAIL): New define.
73098         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
73099         * modules/areadlinkat: New module.
73100         * lib/linkat.c (areadlinkat): Move...
73101         * lib/areadlinkat.c (areadlinkat): ...to new file.
73102         * lib/areadlink.h (areadlinkat): Declare it.
73103         * modules/linkat (Depends-on): Add areadlinkat.
73104         * MODULES.html.sh (File system functions): Mention it.
73105         * modules/areadlinkat-tests: New test.
73106         * tests/test-areadlinkat.c: New file.
73108         areadlink, areadlink-with-size: add tests
73109         * modules/areadlink-tests: New test.
73110         * modules/areadlink-with-size-tests: Likewise.
73111         * tests/test-areadlink.h: New file.
73112         * tests/test-areadlink.c: Likewise.
73113         * tests/test-areadlink-with-size.c: Likewise.
73115         maint: minor cleanups
73116         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
73117         _UNUSED_PARAMETER_ instead.
73118         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
73119         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
73120         * modules/linkat-tests (Files): Distribute test-link.h.
73122         openat, utimens: whitespace cleanup
73123         * lib/openat.c: Prefer space throughout, rather than mix of 8
73124         spaces vs. tabs.
73125         * lib/at-func.c: Likewise.
73126         * lib/utimens.c: Likewise.
73128         openat: avoid using wrong fd
73129         * lib/openat.c (openat_permissive): Reject user's fd if saving the
73130         working directory chooses same fd.
73131         * lib/at-func.c (AT_FUNC_NAME): Likewise.
73133         mkdir, mkdirat: fix cygwin 1.5.x bug
73134         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
73135         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
73136         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
73137         bug.
73138         (gl_PREREQ_MKDIR): Delete unused macro.
73139         * modules/mkdir (Files): Track file rename.
73140         (configure.ac): Update macro name.
73141         * modules/openat (Depends-on): Add mkdir.
73142         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
73144         mkdir, mkdirat: add tests
73145         * modules/mkdir-tests: New test.
73146         * tests/test-mkdir.h: New file.
73147         * tests/test-mkdir.c: Likewise.
73148         * tests/test-mkdirat.c: Likewise.
73149         * modules/openat-tests (Files): Add new files.
73150         (Makefile.am): Run new test.
73152 2009-10-06  Eric Blake  <ebb9@byu.net>
73154         doc: tweak *at function documentation
73155         * doc/posix-functions/faccessat.texi (faccessat): Mention
73156         known issue with replacement.
73157         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
73158         * doc/posix-functions/linkat.texi (linkat): Likewise.
73159         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
73160         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
73161         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
73162         * doc/posix-functions/renameat.texi (renameat): Likewise.
73163         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
73165         openat: fix GNU/Hurd bug in unlinkat
73166         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
73167         broken.
73168         * doc/posix-functions/unlink.texi (unlink): Document this.
73169         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
73171         fdopendir: fix GNU/Hurd bug
73172         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
73173         allowing non-directory fds.
73174         * lib/fdopendir.c (rpl_fdopendir): Work around it.
73175         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
73176         * modules/dirent (Makefile.am): Substitute it.
73177         * lib/dirent.in.h (fdopendir): Declare replacement.
73178         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
73179         * tests/test-fdopendir.c (main): Test something other than
73180         /dev/null, since on Hurd that behaves like a directory.
73182         test-symlink: port to GNU/Hurd
73183         * tests/test-symlink.h (test_symlink): Relax expected errno.
73185         doc: tweak more cygwin information
73186         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
73187         now compatible with glibc.
73188         * doc/posix-functions/getopt.texi (getopt): Likewise.
73190         getopt-gnu: add another test
73191         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
73192         guarantee behavior relied on by m4.
73193         * tests/test-getopt.c (main): Use it.
73194         * modules/getopt-posix-tests (Depends-on): Add setenv.
73195         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
73197         getopt: fix compilation on darwin
73198         * lib/getopt.in.h (includes): Leave breadcrumbs during system
73199         include.
73200         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
73201         Reported by Ludovic Courtès.
73203 2009-10-06  Bruno Haible  <bruno@clisp.org>
73205         * modules/size_max (Description): Discourage its use.
73206         Reported by Simon Josefsson.
73208 2009-10-06  Jim Meyering  <meyering@redhat.com>
73210         linkat: avoid compilation failure
73211         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
73213 2009-10-05  Eric Blake  <ebb9@byu.net>
73215         linkat: support Linux 2.6.17
73216         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
73217         linkat on Linux, but allow cache variable override.
73218         * lib/linkat.c (rpl_linkat): Define override.
73219         * modules/linkat (Depends-on): Add symlinkat.
73220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
73221         * modules/unistd (Makefile.am): Substitute it.
73222         * lib/unistd.in.h (linkat): Declare replacement.
73223         Reported by Pádraig Brady.
73225         quotearg: port test to systems with C.UTF-8 locale
73226         * tests/test-quotearg.c (struct result_strings): Add another
73227         member, differentiating between C.ASCII and C.UTF-8 handling.
73228         (compare_strings): Add parameter.
73229         (main): Adjust all callers.
73231         getopt: avoid clash with FreeBSD _getopt_internal
73232         * lib/getopt.in.h (_getopt_internal): Override the name.
73233         * lib/getopt_int.h (includes): Pick up any overrides.
73234         Reported by Reuben Thomas.
73236         hash: allow C89 compilation
73237         * lib/hash.c (check_tuning): Move declaration before statement.
73238         Reported by Reuben Thomas.
73240 2009-10-05  Karl Berry  <karl@gnu.org>
73242         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
73244 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
73245             Bruno Haible  <bruno@clisp.org>
73247         * lib/uname.c (uname): Use a table-driven algorithm to compute
73248         Windows NT versions.
73250 2009-10-04  Bruno Haible  <bruno@clisp.org>
73252         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
73253         program_invocation_short_name.
73254         * modules/progname (configure.ac): Test for presence of
73255         program_invocation_short_name.
73256         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
73258 2009-10-04  Bruno Haible  <bruno@clisp.org>
73260         * lib/progname.c (set_program_name): Fix comment.
73261         Reported by Jim Meyering.
73263 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
73264             Bruno Haible  <bruno@clisp.org>
73266         * lib/uname.c: Include <string.h>.
73267         (uname): Do only one call to GetVersionEx in the common case.
73269 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
73270             Bruno Haible  <bruno@clisp.org>
73272         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
73273         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
73274         (uname): Add support for Windows CE and various non-x86 CPU types.
73276 2009-10-03  Bruno Haible  <bruno@clisp.org>
73278         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
73279         invocation to tests/configure.ac.
73280         Reported by Ian Beckwith <ianb@erislabs.net>.
73282 2009-10-02  Eric Blake  <ebb9@byu.net>
73284         fchdir: avoid compiler warning
73285         * lib/fchdir.c (canonicalize_file_name)
73286         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
73288         test-open: support mingw errno values
73289         * tests/test-open.h (test_open): Relax test.
73290         * tests/test-fopen.h (test_fopen): Likewise.
73291         * tests/test-openat-safer.c (main): Likewise.
73293         open: fix opening directory on mingw
73294         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
73296         test-open: on GNU/Hurd, /dev/null is a directory
73297         * tests/test-fopen.h (main): Rename...
73298         (test_fopen): ...to this.  Use a guaranteed non-directory when
73299         confirming open behavior on trailing slash.
73300         * tests/test-openat-safer.c (main): Likewise.
73301         * tests/test-open.h (main): Likewise....
73302         (test_open): ...to this.
73303         * tests/test-fopen.c (main): Adjust caller.
73304         * tests/test-fopen-safer.c (main): Likewise.
73305         * tests/test-open.c (main): Likewise.
73306         * tests/test-fcntl-safer.c (main): Likewise.
73307         Reported by Samuel Thibault.
73309         rename, fchdir: don't ignore chdir failure
73310         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
73311         * lib/rename.c (rpl_rename) [W32]: Likewise.
73312         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
73313         an empty destination directory if source cannot be renamed,
73314         although there is still possibility for failure.
73315         * doc/posix-functions/rename.texi (rename): Document the race.
73316         Reported by Jim Meyering.
73318         maint: cleanup whitespace in recent commits
73319         * lib/rename.c (rpl_rename): Remove tabs.
73320         * tests/test-link.h (test_link): Likewise.
73321         * lib/fchdir.c (get_name): Likewise.
73322         Reported by Jim Meyering.
73324 2009-10-02  Ben Pfaff  <blp@gnu.org>
73326         relocatable-prog-wrapper: Add missing dependency on
73327         double-slash-root.
73328         * modules/relocatable-prog-wrapper: Add dependency.
73329         Reported by Ian Beckwith <ianb@erislabs.net>.
73331 2009-10-02  Eric Blake  <ebb9@byu.net>
73333         renameat: fix Solaris bugs
73334         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
73335         needed fixing.
73336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
73337         * modules/stdio (Makefile.am): Substitute it.
73338         * lib/stdio.in.h (renameat): Declare replacement.
73339         * lib/renameat.c (rpl_renameat): Implement fix.
73341         renameat: new module
73342         * modules/renameat: New file.
73343         * lib/renameat.c (renameat): Likewise.
73344         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
73345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
73346         * modules/stdio (Makefile.am): Substitute them.
73347         * lib/stdio.in.h (renameat): Declare it.
73348         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
73349         * doc/posix-functions/renameat.texi (renameat): Likewise.
73350         * modules/renameat-tests: New test.
73351         * tests/test-renameat.c: Likewise.
73353         rename: fix mingw bugs
73354         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
73355         directory overwrite bugs.
73357         rename: fix another cygwin 1.5 bug
73358         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
73359         checks.
73360         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
73361         unnecessary cygwin workarounds.  Also work around bug with moving
73362         full directory onto an empty one.
73363         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
73365         rename-dest-slash: merge into rename module
73366         * modules/rename-dest-slash (Status): Mark obsolete.
73367         (Depends-on): Add rename.
73368         (Files): Let rename do it all.
73369         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
73370         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
73371         * m4/rename-dest-slash.m4: ...so this file can be deleted.
73372         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
73373         * lib/rename.c (rpl_rename): Update comments.
73375         rename: fix cygwin 1.5.x bugs
73376         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
73377         * lib/rename.c (rpl_rename): Work around them.
73378         * modules/rename (Depends-on): Add same-inode.
73380         rename: fix Solaris 10 bug
73381         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
73382         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
73383         was the only bug.
73385         rename: fix Solaris 9 bug
73386         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
73387         on non-directory.  Avoid calling exit.
73388         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
73389         strdup.
73390         * modules/rename-tests (Depends-on): Drop lstat.
73391         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
73392         (gl_PREREQ_RENAME): Delete unused macro.
73394         rename-dest-slash: fix NetBSD bug
73395         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
73396         links.
73397         * modules/rename-dest-slash (Depends-on): Add same-inode.
73399         rename-tests: new test, exposes several platform bugs
73400         * modules/rename-tests: New file.
73401         * tests/test-rename.h: Likewise.
73402         * tests/test-rename.c: Likewise.
73403         * doc/posix-functions/rename.texi (rename): Improve documentation,
73404         including bugs that will eventually be fixed in gnulib.
73406 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
73408         * lib/uname.c: Include <stdlib.h>
73409         (uname): Assume version info is available.
73411 2009-10-02  Jim Meyering  <meyering@redhat.com>
73413         gnu-web-doc-update: correct --help output
73414         * build-aux/gnu-web-doc-update: Make --help output relevant.
73416         gnu-web-doc-update: add standard options
73417         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
73419         gnu-web-doc-update: New module.
73420         Use this script to automatically update the on-line web documentation
73421         for your GNU project at http://www.gnu.org/software/$pkg/manual/
73422         * modules/gnu-web-doc-update: New file, from coreutils.
73423         * build-aux/gnu-web-doc-update: New script.
73425 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
73427         link: LoadLibrary is not needed.
73428         * lib/link.c: Use GetModuleHandle.
73430 2009-10-01  Eric Blake  <ebb9@byu.net>
73432         getopt: bump serial number
73433         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
73434         change.
73436         tests: tighten link, rmdir, and remove tests
73437         * tests/test-link.h (includes): No need to use <config.h> here.
73438         Clean up if directory hard link was created, otherwise test for
73439         trailing '.'.
73440         * tests/test-linkat.c (main): Simplify.
73441         * tests/test-remove.c (main): Enhance test for trailing '.'.
73442         * tests/test-rmdir.h (test_rmdir_func): Likewise.
73444 2009-10-01  Jim Meyering  <meyering@redhat.com>
73446         maint.mk: requiring "make major" was annoying, for a "minor" release.
73447         What is intended is "stable", to contrast with alpha and beta,
73448         so require "make stable", not "make major".
73449         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
73450         (get_tool_versions): Likewise.
73451         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
73453 2009-09-30  Ben Pfaff  <blp@gnu.org>
73455         Fix broken build of replacement for Windows tmpfile().
73456         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
73457         flags argument added along with the 'mkostemp' module.
73459 2009-09-28  Bruno Haible  <bruno@clisp.org>
73461         Avoid identifier clash with POSIX function 'remove' defined as a macro.
73462         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
73463         to 'remove_elt'.
73464         (gl_list_remove): Update.
73465         * lib/gl_list.c (gl_list_remove): Update.
73466         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
73467         to 'remove_elt'.
73468         (gl_oset_remove): Update.
73469         * lib/gl_list.c (gl_oset_remove): Update.
73470         Reported by Eric Blake.
73472 2009-09-28  Eric Blake  <ebb9@byu.net>
73474         doc: mention yet more cygwin 1.7 status
73475         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
73476         cygwin.
73477         * doc/glibc-functions/execvpe.texi (execvpe): New file.
73478         * doc/gnulib.texi (Glibc unistd.h): Mention it.
73480         argp: fix test failure
73481         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
73482         that are not upper-case.  Pass correct range to tolower.
73484 2009-09-27  Jim Meyering  <meyering@redhat.com>
73486         test-yesno: work around sparc-dash here-document infelicity
73487         Without this change, the literal \177 byte in a here document
73488         would make dash 0.5.5.1-3 access uninitialized memory.
73489         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
73490         Instead, use a marker, "@", and filter through tr to create the desired
73491         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
73493 2009-09-27  Bruno Haible  <bruno@clisp.org>
73495         Disable untested support for new flavours of ACLs on AIX.
73496         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
73497         progress.
73498         * lib/set-mode-acl.c (qset_acl): Likewise.
73500 2008-12-07  Bruno Haible  <bruno@clisp.org>
73502         Add support for new flavours of ACLs on AIX. (Untested.)
73503         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
73504         (file_has_acl): Add support for newer AIX.
73505         * lib/set-mode-acl.c (qset_acl): Likewise.
73506         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
73507         Rainer Tammer <tammer@tammer.net>.
73509 2009-09-26  Eric Blake  <ebb9@byu.net>
73511         argp: fix compilation of getopt
73512         * lib/getopt.in.h (includes): Use different guard than glibc.
73513         Reported by Sergey Poznyakoff.
73515         doc: mention more cygwin 1.7 status
73516         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
73517         bug.
73518         * doc/posix-functions/execl.texi (execl): Likewise.
73519         * doc/posix-functions/execle.texi (execle): Likewise.
73520         * doc/posix-functions/execlp.texi (execlp): Likewise.
73521         * doc/posix-functions/execv.texi (execv): Likewise.
73522         * doc/posix-functions/execve.texi (execve): Likewise.
73523         * doc/posix-functions/execvp.texi (execvp): Likewise.
73524         * doc/glibc-functions/canonicalize_file_name.texi
73525         (canonicalize_file_name): Cygwin 1.7 now provides this.
73526         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
73527         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
73528         on AT_SYMLINK_NOFOLLOW.
73530 2009-09-24  Eric Blake  <ebb9@byu.net>
73532         test-linkat: make test more robust
73533         * tests/test-linkat.c (main): Avoid collision with EEXIST.
73535         getopt: fix inclusion guards for cygwin
73536         * modules/getopt-posix (Depends-on): Add include-next.
73537         (Makefile.am): Substitute more items in replacement header.
73538         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
73539         <getopt.h>.
73540         * lib/getopt.in.h (includes): Use split inclusion guard, and
73541         prefer <getopt.h> over include <unistd.h> when one is present.
73542         (option): Also override name of 'struct option'.
73544         same-inode: revert prior change; it is not yet ready
73545         * NEWS: Undo mention of this change.
73546         * lib/same-inode.h (same-inode.h): Undo tri-state change.
73547         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
73548         * lib/cycle-check.c (cycle_check): Likewise.
73549         * lib/same.c (same_name): Likewise.
73550         * lib/at-func2.c (at_func2): Likewise.
73552 2009-09-23  Eric Blake  <ebb9@byu.net>
73554         linkat: new module
73555         * modules/linkat: New file.
73556         * lib/at-func2.c (at_func2): Likewise.
73557         * lib/linkat.c (linkat): Likewise.
73558         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
73559         * lib/openat-priv.h (at_func2): Add declaration.
73560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
73561         * modules/unistd (Makefile.am): Substitute them.
73562         * lib/unistd.in.h (linkat): Declare it.
73563         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
73564         * doc/posix-functions/linkat.texi (linkat): Likewise.
73565         * doc/posix-functions/link.texi (link): Tweak wording.
73566         * tests/test-link.c (main): Move guts...
73567         * tests/test-link.h (test_link): ...into new file.
73568         * modules/linkat-tests: New test.
73569         * tests/test-linkat.c: Likewise.
73570         * modules/link-tests (Files): Ship new file.
73571         (Depends-on): Add stdbool.
73573         dirname: add library-safe mdir_name
73574         * lib/dirname.h (mdir_name): New prototype.
73575         * lib/dirname.c (dir_name): Move guts...
73576         (mdir_name): ...to new function that avoids xalloc_die.
73578         fchdir: another mingw fix
73579         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
73580         * lib/fchdir.c (get_name): New helper method; skips canonicalize
73581         on mingw (where it has not yet been ported), and make it optional
73582         elsewhere.
73583         (_gl_register_fd): Use it.
73585         same-inode: make SAME_INODE tri-state, to port to mingw
73586         * NEWS: Mention this change.
73587         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
73588         st_ino always being 0.
73589         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
73590         * lib/cycle-check.c (cycle_check): Likewise.
73591         * lib/same.c (same_name): Likewise.
73593         lstat: avoid mingw compilation error
73594         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
73595         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
73596         lstat ourselves.
73597         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
73598         was adequate.
73599         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
73600         the checks for lstat.
73601         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
73603         link: fix test failure on Solaris 9
73604         * lib/link.c (rpl_link): Don't assume link will catch bogus
73605         trailing slash on source.
73607         test-symlinkat: enhance test
73608         * tests/test-readlink.c (main): Move guts...
73609         * tests/test-readlink.h (test_readlink): ...into new file.
73610         * tests/test-symlink.c (main): Move guts...
73611         * tests/test-symlink.h (test_symlink): ...into new file.
73612         * tests/test-symlinkat.c (main): Use new files for further
73613         coverage.
73614         (do_symlink, do_readlink): New helper functions.
73615         * modules/symlink-tests (Files): Ship new file.
73616         (Depends-on): Add stdbool.
73617         * modules/readlink-tests (Files): Ship new file.
73618         (Depends-on): Add stdbool.
73619         * modules/symlinkat-tests (Files): Use new files.
73621 2009-09-23  Eric Blake  <ebb9@byu.net>
73623         readlink: document portability issue with symlink length
73624         * doc/posix-functions/lstat.texi (lstat): Mention that some file
73625         systems have bogus st_size on symlinks, and mention the
73626         areadlink-with-size module.
73627         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
73628         * doc/posix-functions/readlink.texi (readlink): Mention the
73629         areadlink module, and ERANGE failure.
73630         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
73631         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
73633         readlink: fix Solaris 9 bug with trailing slash
73634         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
73635         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
73636         * doc/posix-functions/readlink.texi (readlink): Document this.
73637         * modules/readlink-tests: New test.
73638         * tests/test-readlink.c: Likewise.
73640         readlink: fix cygwin 1.5.x bug with return type
73641         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
73642         * lib/unistd.in.h (readlink): Use ssize_t.
73643         * lib/readlink.c (readlink): Likewise.
73644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
73645         * modules/unistd (Makefile.am): Substitute it.
73646         * lib/unistd.in.h (readlink): Declare replacement.
73647         * doc/posix-functions/readlink.texi (readlink): Document this.
73649         symlink: use throughout gnulib
73650         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
73651         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
73652         symlink is not used.
73653         * modules/symlinkat (Depends-on): Add symlink.
73654         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73655         * modules/canonicalize-tests (Depends-on): Likewise.
73656         * modules/lstat-tests (Depends-on): Likewise.
73657         * modules/openat-tests (Depends-on): Likewise.
73658         * modules/remove-tests (Depends-on): Likewise.
73659         * modules/rmdir-tests (Depends-on): Likewise.
73660         * modules/unlink-tests (Depends-on): Likewise.
73661         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
73662         * tests/test-canonicalize.c (symlink): Likewise.
73663         * tests/test-fstatat.c (symlink): Likewise.
73664         * tests/test-lstat.c (symlink): Likewise.
73665         * tests/test-remove.c (symlink): Likewise.
73666         * tests/test-rmdir.c (symlink): Likewise.
73667         * tests/test-unlink.c (symlink): Likewise.
73668         * tests/test-unlinkat.c (symlink): Likewise.
73670         symlink: new module, for Solaris 9 bug
73671         * modules/symlink: New file.
73672         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
73673         * lib/symlink.c: Likewise.
73674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
73675         * modules/unistd (Makefile.am): Substitute them.
73676         * lib/unistd.in.h (symlink): Declare replacement.
73677         * MODULES.html.sh (File system functions): Mention it.
73678         * doc/posix-functions/symlink.texi (symlink): Likewise.
73679         * modules/symlink-tests: New test.
73680         * tests/test-symlink.c: Likewise.
73682 2009-09-23  Bruno Haible  <bruno@clisp.org>
73684         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
73685         when needed.
73686         Test case: gnulib-tool --import --with-tests atexit inttypes.
73687         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
73689 2009-09-23  Bruno Haible  <bruno@clisp.org>
73691         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
73692         subcommand, not in a subshell.
73694 2009-09-22  Eric Blake  <ebb9@byu.net>
73696         unistd: sort replacement declarations
73697         * lib/unistd.in.h: Sort declarations.
73699         open, openat: minor optimization
73700         * lib/open.c (open): If open succeeded, len is non-zero.
73701         * lib/openat.c (rpl_openat): Likewise.
73703         link-follow: ensure correct result
73704         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
73705         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
73706         distinguish between possible failures.
73708 2009-09-21  Eric Blake  <ebb9@byu.net>
73710         fts: avoid compiler warning
73711         * lib/fts.c (dirent_inode_sort_may_be_useful)
73712         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
73714 2009-09-19  Bruno Haible  <bruno@clisp.org>
73716         * lib/progreloc.c (canonicalize_file_name): New declaration.
73718 2009-09-19  Eric Blake  <ebb9@byu.net>
73720         link: fix quoting
73721         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
73723         openat: fix openat bugs on Solaris 9
73724         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
73725         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
73726         * modules/openat (Depends-on): Add open.
73727         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
73728         * modules/fcntl-h (Makefile.am): Substitute it.
73729         * lib/fcntl.in.h (openat): Declare replacement.
73730         * doc/posix-functions/openat.texi (openat): Document this.
73732         openat: move fstatat and unlinkat into correct files
73733         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
73734         compiled.
73735         * lib/openat.c (fstatat, unlinkat): Move...
73736         * lib/fstatat.c (fstatat): ...into correct files.
73737         * lib/unlinkat.c (unlinkat): Likewise.
73739         openat: fix unlinkat bugs on Solaris 9
73740         * lib/unlinkat.c (unlinkat): New file.
73741         * modules/openat (Depends-on): Add unlink.
73742         (Files): Distribute it.
73743         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
73744         trailing slash behavior is broken.
73745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
73746         * modules/unistd (Makefile.am): Substitute it.
73747         * lib/unistd.in.h (unlinkat): Declare replacement.
73748         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
73750         openat: fix fstatat bugs on Solaris 9
73751         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
73752         stat.
73753         * doc/posix-functions/fstatat.texi (fstatat): Document this.
73755         test-unlinkat: enhance test, to expose Solaris 9 bug
73756         * tests/test-unlink.c (main): Factor guts...
73757         * tests/test-unlink.h (test_rmdir_func): ...into new file.
73758         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
73759         * tests/test-rmdir.c (main): Adjust caller.
73760         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
73761         (unlinker): New helper function.
73762         (rmdirat): Enhance check.
73763         * modules/rmdir-tests (Depends-on): Add stdbool.
73764         * modules/unlink-tests (Depends-on): Likewise.
73765         (Files): Add test-unlink.h.
73766         * modules/openat-tests (Files): Likewise.
73767         (Depends-on): Add unlinkdir.
73769         test-fstatat: new test, to expose Solaris 9 bugs
73770         * tests/test-stat.c (main): Factor guts...
73771         * tests/test-stat.h (test_stat_func): ...into new file.
73772         * tests/test-lstat.c (main): Factor guts...
73773         * tests/test-lstat.h (test_lstat_func): ...into new file.
73774         * tests/test-fstatat.c: New file.
73775         * modules/stat-tests (Files): Add test-stat.h.
73776         * modules/lstat-tests (Files): Add test-lstat.h.
73777         (Depends-on): Add stdbool.
73778         * modules/openat-tests (Depends-on): Add pathmax.
73779         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
73780         (Makefile.am): Run new test.
73782         remove: new module, for mingw and Solaris 9 bugs
73783         * modules/remove: New file.
73784         * lib/remove.c: Likewise.
73785         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
73786         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
73787         * modules/stdio (Makefile.am): Use them.
73788         * lib/stdio.in.h (remove): Declare replacement.
73789         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
73790         * doc/posix-functions/remove.texi (remove): Likewise.
73791         * modules/remove-tests: New test.
73792         * tests/test-remove.c: Likewise.
73794         unlink: new module, for Solaris 9 bug
73795         * modules/unlink: New file.
73796         * lib/unlink.c: Likewise.
73797         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
73798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
73799         * modules/unistd (Makefile.am): Use them.
73800         * lib/unistd.in.h (stat): Declare replacement.
73801         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
73802         * doc/posix-functions/unlink.texi (unlink): Likewise.
73803         * modules/unlink-tests: New test.
73804         * tests/test-unlink.c: Likewise.
73806         lstat: fix Solaris 9 bug
73807         * lib/lstat.c (lstat): Also check for trailing slash on
73808         non-symlink, non-directories.  Use stat module to simplify logic.
73809         * doc/posix-functions/lstat.texi (lstat): Document it.
73810         * modules/lstat-tests (Depends-on): Add errno, same-inode.
73811         (configure.ac): Check for symlink.
73812         * tests/test-lstat.c (main): Add more tests.
73814         stat: add as dependency to other modules
73815         * modules/chown (Depends-on): Add stat.
73816         * modules/euidaccess (Depends-on): Likewise.
73817         * modules/fchdir (Depends-on): Likewise.
73818         * modules/isdir (Depends-on): Likewise.
73819         * modules/link (Depends-on): Likewise.
73820         * modules/lstat (Depends-on): Likewise.
73821         * modules/mkdir-p (Depends-on): Likewise.
73822         * modules/modechange (Depends-on): Likewise.
73823         * modules/open (Depends-on): Likewise.
73824         * modules/readlink (Depends-on): Likewise.
73825         * modules/same (Depends-on): Likewise.
73827         stat: fix Solaris 9 bug
73828         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
73829         slash.
73830         * lib/stat.c (rpl_stat): Work around it.
73831         * doc/posix-functions/stat.texi (stat): Update documentation.
73833         stat: new module, for mingw bug
73834         * modules/stat: New file.
73835         * lib/stat.c: Likewise.
73836         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
73837         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
73838         * modules/sys_stat (Makefile.am): Use them.
73839         * lib/sys_stat.in.h (stat): Declare replacement.
73840         * lib/openat.c (fstatat): Deal with lstat and stat being function
73841         macros.
73842         * modules/openat (Depends-on): Add inline.
73843         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
73844         * doc/posix-functions/stat.texi (stat): Likewise.
73845         * modules/stat-tests: New test.
73846         * tests/test-stat.c: Likewise.
73848 2009-09-19  Jim Meyering  <meyering@redhat.com>
73850         syntax-check: detect unnecessary inclusion of canonicalize.h
73851         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
73853 2009-09-19  Eric Blake  <ebb9@byu.net>
73855         canonicalize-lgpl: adjust clients to use correct header
73856         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
73857         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
73858         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
73859         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
73860         * lib/progreloc.c (includes): Likewise.
73862 2009-09-19  Jim Meyering  <meyering@redhat.com>
73864         test-posixtm.c: correct a comment
73865         * tests/test-posixtm.c: Correct first-line comment.
73866         Spotted by Eric Blake.
73868 2009-09-16  Jim Meyering  <meyering@redhat.com>
73870         posixtm-tests: make T const-correct; add a test case
73871         * tests/test-posixtm.c (T): Declare const.
73872         Add a test for -(2^31+1).
73873         Remove useless can-succeed-only-in-2002 test.
73875         posixtm-tests: adjust the sole failing test
73876         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
73877         expected output matches what mktime now produces.  Cross-checked via
73878         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
73880         posixtm: move #ifdef'd tests into a new module
73881         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
73882         * tests/test-posixtm.c: ... this new file.
73883         * modules/posixtm-tests: New module.
73885 2009-09-19  Eric Blake  <ebb9@byu.net>
73887         openat: simplify use of at-func.c
73888         * lib/at-func.c (includes): Include prerequisites here, to
73889         simplify requirements on client files.
73890         * lib/openat-priv.h: Add double-inclusion guard.
73891         * lib/faccessat.c (includes): Simplify.
73892         * lib/fchmodat.c (includes): Likewise.
73893         * lib/fchownat.c (includes): Likewise.
73894         * lib/mkdirat.c (includes): Likewise.
73895         * lib/mkfifoat.c (includes): Likewise.
73896         * lib/symlinkat.c (includes): Likewise.
73898         openat: allow return of fd 0
73899         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
73900         * modules/save-cwd (Depends-on): Replace fcntl-safer with
73901         unistd-safer.
73902         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
73903         <fcntl.h>; this module does not leak fds.
73904         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
73905         must be allowed to return 0, leaving openat_safer to add the
73906         safety.
73907         (openat_permissive): Avoid writing to just-opened fd 2 if
73908         restoring the current directory fails.
73909         * lib/openat-die.c (openat_restore_fail): Add comment.
73910         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
73911         (save_cwd): Guarantee safe fd, but without use of open_safer.
73912         * tests/test-openat.c: New test.
73913         * modules/openat-tests (Files, Makefile.am): Distribute and build
73914         new file.
73916         relocatable-prog-wrapper: fix build
73917         * modules/relocatable-prog-wrapper (Files): Update name of
73918         canonicalize m4 file, broken on 2009-09-17.
73919         Reported by emad hajjar <aleppos@hotmail.com>.
73921 2009-09-19  Bruno Haible  <bruno@clisp.org>
73923         * lib/safe-alloc.h: Use the standard header with GPL copyright.
73924         * lib/safe-alloc.c: Likewise.
73925         Reported by Ian Beckwith <ianb@erislabs.net>.
73927 2009-09-18  Bruno Haible  <bruno@clisp.org>
73929         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
73930         Reported by <erobles@sensacd.com.mx>.
73932 2009-09-17  Eric Blake  <ebb9@byu.net>
73934         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
73935         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
73936         slashes when checking if last component is missing.
73937         * tests/test-canonicalize.c (main): Test this.
73939         canonicalize, canonicalize-lgpl: honor // if distinct from /
73940         * modules/canonicalize (Files): Add double-slash-root.m4.
73941         * modules/canonicalize-lgpl (Files): Likewise.
73942         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
73943         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
73944         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
73945         fallback definition.
73946         (canonicalize_filename_mode): Use it to protect //.
73947         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
73948         (__realpath): Likewise.
73949         * tests/test-canonicalize.c (main): Test this.
73950         * tests/test-canonicalize-lgpl.c (main): Likewise.
73951         * modules/canonicalize-tests (Depends-on): Add same-inode.
73952         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
73954         canonicalize-lgpl: fix glibc bug with trailing slash
73955         * m4/canonicalize-lgpl.m4: Move contents...
73956         * m4/canonicalize.m4: ...here.
73957         (gl_CANONICALIZE_LGPL): Factor realpath check...
73958         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
73959         glibc 2.3.5 bug, fixed 2005-04-27.
73960         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
73961         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
73962         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
73963         * modules/canonicalize-lgpl (Files): Manage file rename.
73964         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
73965         * modules/stdlib (Makefile.am): Substitute witness.
73966         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
73967         is needed.
73968         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
73969         replacement is required.
73970         * lib/canonicalize.c (canonicalize_file_name): Likewise.
73971         * doc/glibc-functions/canonicalize_file_name.texi
73972         (canonicalize_file_name): Document this.
73973         * doc/posix-functions/realpath.texi (realpath): Likewise.
73975         canonicalize-lgpl: reject non-directory with trailing slash
73976         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
73977         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
73978         catches failures in glibc 2.3.5.
73979         * tests/test-canonicalize.c (main): Likewise.
73981         canonicalize-lgpl: use native realpath if it works
73982         * lib/canonicalize-lgpl.c (realpath): Guard with
73983         FUNC_REALPATH_WORKS.
73984         * lib/stdlib.in.h (realpath): Make declaration optional based on
73985         HAVE_REALPATH.
73986         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
73987         native realpath works.
73988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
73989         * modules/stdlib (Makefile.am): Substitute witness.
73991         canonicalize, canonicalize-lgpl: use <stdlib.h>
73992         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
73993         (Include): Mention <stdlib.h>.
73994         (configure.ac): Mention functions we provide.
73995         * modules/canonicalize (configure.ac): Likewise.
73996         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
73997         realpath if canonicalize_file_name is missing.
73998         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
73999         * modules/stdlib (Makefile.am): Substitute witnesses.
74000         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
74001         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
74002         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
74003         * NEWS: Document this.
74004         * doc/glibc-functions/canonicalize_file_name.texi
74005         (canonicalize_file_name): Likewise.
74006         * doc/posix-functions/realpath.texi (realpath): Likewise.
74007         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
74009         test-canonicalize: consolidate into single C program
74010         * tests/test-canonicalize.sh: Delete; move setup into...
74011         * tests/test-canonicalize.c (main): ...the program, making it
74012         easier to run in debugger.  Add some tests.
74013         * modules/canonicalize-tests (Files): Remove unused file.
74014         (Depends-on): Add progname.
74015         (configure.ac, Makefile.am): Simplify.
74017         test-canonicalize-lgpl: consolidate into single C program
74018         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
74019         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
74020         easier to run in debugger.  Add some tests.
74021         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
74022         (configure.ac, Makefile.am): Simplify.
74024         canonicalize: avoid resolvepath
74025         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
74026         unnecessary checks.
74027         * lib/canonicalize.c (includes): Simplify.
74028         (canonicalize_file_name): Drop resolvepath implementation.
74029         * modules/canonicalize (Depends-on): Drop filenamecat.
74031         canonicalize: don't lose errno
74032         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
74033         over calls to free.
74035         canonicalize: simplify errno handling
74036         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
74037         assignment.
74039         canonicalize, canonicalize-lgpl: update module dependencies
74040         * modules/canonicalize (Depends-on): Add extensions, lstat,
74041         pathmax, stdlib.
74042         (Files): Drop pathmax.h.
74043         (configure.ac): Adjust macro name.
74044         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
74045         lstat, stdlib, sys_stat.
74046         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
74047         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
74048         extensions.
74049         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
74050         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
74051         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
74052         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
74053         declaration, if available.
74054         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
74055         we can rely on the readlink module.
74056         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
74057         (includes): Use <unistd.h> unconditionally.
74059 2009-09-17  Eric Blake  <ebb9@byu.net>
74061         maint: make Include sections of modules consistent
74062         * modules/alloca: Use only header name; no need to list #include.
74063         * modules/alloca-opt: Likewise.
74064         * modules/arpa_inet: Likewise.
74065         * modules/canon-host: Likewise.
74066         * modules/configmake: Likewise.
74067         * modules/dirent: Likewise.
74068         * modules/eealloc: Likewise.
74069         * modules/environ: Likewise.
74070         * modules/fchdir: Likewise.
74071         * modules/fcntl: Likewise.
74072         * modules/fcntl-h: Likewise.
74073         * modules/gethrxtime: Likewise.
74074         * modules/gettime: Likewise.
74075         * modules/ignore-value: Likewise.
74076         * modules/inet_ntop: Likewise.
74077         * modules/inet_pton: Likewise.
74078         * modules/inttypes: Likewise.
74079         * modules/isnand-nolibm: Likewise.
74080         * modules/isnanf-nolibm: Likewise.
74081         * modules/mbchar: Likewise.
74082         * modules/mbfile: Likewise.
74083         * modules/mbiter: Likewise.
74084         * modules/mbuiter: Likewise.
74085         * modules/netdb: Likewise.
74086         * modules/netinet_in: Likewise.
74087         * modules/nproc: Likewise.
74088         * modules/pagealign_alloc: Likewise.
74089         * modules/poll: Likewise.
74090         * modules/printf-frexp: Likewise.
74091         * modules/pthread: Likewise.
74092         * modules/putenv: Likewise.
74093         * modules/random_r: Likewise.
74094         * modules/relocatable-prog: Likewise.
74095         * modules/search: Likewise.
74096         * modules/select: Likewise.
74097         * modules/selinux-h: Likewise.
74098         * modules/settime: Likewise.
74099         * modules/signal: Likewise.
74100         * modules/size_max: Likewise.
74101         * modules/socklen: Likewise.
74102         * modules/ssize_t: Likewise.
74103         * modules/stdarg: Likewise.
74104         * modules/stdbool: Likewise.
74105         * modules/stddef: Likewise.
74106         * modules/stdint: Likewise.
74107         * modules/stdio: Likewise.
74108         * modules/stdlib: Likewise.
74109         * modules/string: Likewise.
74110         * modules/strings: Likewise.
74111         * modules/sys_file: Likewise.
74112         * modules/sys_ioctl: Likewise.
74113         * modules/sys_select: Likewise.
74114         * modules/sys_socket: Likewise.
74115         * modules/sys_stat: Likewise.
74116         * modules/sys_time: Likewise.
74117         * modules/sys_times: Likewise.
74118         * modules/sys_utsname: Likewise.
74119         * modules/sys_wait: Likewise.
74120         * modules/sysexits: Likewise.
74121         * modules/time: Likewise.
74122         * modules/times: Likewise.
74123         * modules/tmpfile: Likewise.
74124         * modules/trim: Likewise.
74125         * modules/unistd: Likewise.
74126         * modules/wchar: Likewise.
74127         * modules/wctype: Likewise.
74129 2009-09-17  Bruno Haible  <bruno@clisp.org>
74131         Make getdate.y compile on QNX and NetBSD 5 / i386.
74132         * m4/getdate.m4 (gl_GETDATE): Conditionally define
74133         TIME_T_FITS_IN_LONG_INT.
74134         * lib/getdate.y (long_time_t): New type.
74135         (relative_time): Change type of 'seconds' field to long_time_t.
74136         (get_date): Update types of local variables. Check against overflow
74137         during conversion from long_time_t to time_t.
74138         Reported by Matt Kraai <kraai@ftbfs.org>
74139         and Hasso Tepper <hasso@netbsd.org>.
74141 2009-09-17  Bruno Haible  <bruno@clisp.org>
74143         * modules/COPYING: Update copyright years.
74144         * modules/README: Likeiwse.
74145         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
74146         Reported by Ian Beckwith <ianb@erislabs.net>.
74148 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
74150         * users.txt: Update references for gnuit package.
74152 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
74154         * m4/getdelim.m4: Fix typo in copyright line.
74156 2009-09-17  Bruno Haible  <bruno@clisp.org>
74158         * lib/atoll.c: Use the standard header with GPL copyright.
74159         * lib/argz.in.h: Likewise.
74160         * lib/glob.c: Likewise.
74161         * lib/glob-libc.h: Likewise.
74162         * lib/random_r.c: Likewise.
74163         * lib/siglist.h: Likewise.
74164         * lib/strsignal.c: Likewise.
74165         Reported by Ian Beckwith <ianb@erislabs.net>.
74167 2009-09-17  Eric Blake  <ebb9@byu.net>
74169         rmdir: ensure correct dependency order
74170         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
74172 2009-09-17  Bruno Haible  <bruno@clisp.org>
74174         Disable assertion that fails on NetBSD 5 / i386.
74175         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
74176         Reported by Sam Steingold <sds@gnu.org>
74177         and Hasso Tepper <hasso@netbsd.org>.
74179 2009-09-16  Eric Blake  <ebb9@byu.net>
74181         unlinkdir: port to mingw
74182         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
74183         on which no one can unlink a directory.
74185         stdlib: sort witness names
74186         * modules/stdlib (Makefile.am): Sort replacements.
74187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
74188         * lib/stdlib.in.h: Likewise.
74190         parse-duration-tests: avoid link failure
74191         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
74192         LIBINTL.
74193         Reported by Tom G. Christensen.
74195         openat-tests: ensure unlinkat behaves like rmdir
74196         * tests/test-rmdir.c (main): Factor guts...
74197         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
74198         * modules/rmdir-tests (Files): Ship new file.
74199         * modules/openat-tests: New test.
74200         * tests/test-unlinkat.c: Likewise.
74202         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
74203         * modules/rmdir-errno (Status, Notice): Now obsolete.
74205         rmdir: work around cygwin 1.5.x and mingw bugs
74206         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
74207         * lib/rmdir.c (rmdir): Work around it.
74208         * modules/rmdir (Status, Notice): No longer obsolete.
74209         (Files): Add dos.m4.
74210         (Depends-on): Add unistd.
74211         (configure.ac): Set witnesses.
74212         (License): Relax to LGPLv2+.
74213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
74214         * modules/unistd (Makefile.am): Substitute witnesses.
74215         * lib/unistd.in.h (rmdir): Declare replacement.
74216         * doc/posix-functions/rmdir.texi (rmdir): Document this.
74217         * modules/rmdir-tests: New tests.
74218         * tests/test-rmdir.c: Likewise.
74220 2009-09-15  Eric Blake  <ebb9@byu.net>
74222         fchdir: improve use of replacement functions
74223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
74224         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
74225         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
74226         REPLACE_CLOSEDIR.
74227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
74228         * modules/sys_stat (Makefile.am): Substitute correct witness.
74229         * modules/dirent (Makefile.am): Likewise.
74230         * modules/unistd (Makefile.am): Likewise.
74231         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
74232         * lib/unistd.in.h (dup): Likewise.
74233         * lib/sys_stat.in.h (fstat): Likewise.
74235         maint: ignore gnulib-tool temp files
74236         * .gitignore: Ignore files created during gnulib-tool --test.
74238 2009-09-13  Jim Meyering  <meyering@redhat.com>
74240         posixtm: don't reject a time that specify "60" as the number of seconds
74241         * lib/posixtm.c (posixtime): The code to reject invalid dates
74242         would also reject a time specified with the .60 suffix.
74243         But POSIX allows that, in order to accommodate leap seconds.
74244         So don't reject it.
74245         (main): Adjust tests accordingly.
74246         * modules/posixtm (Depends-on): Add stpcpy.
74248 2009-09-11  Jim Meyering  <meyering@redhat.com>
74250         announce-gen: include [$release_type] in emitted Subject:
74251         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
74252         e.g., [stable] in the emitted Subject: line.
74254 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74256         Remove obsolete macros from several modules.
74257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
74258         obsolete Autoconf macros with their modern counterparts.
74259         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
74260         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
74261         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
74262         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74263         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
74264         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
74265         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
74266         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
74267         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
74268         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
74269         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
74270         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
74271         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
74272         * m4/sockets.m4 (gl_SOCKETS): Likewise.
74273         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
74274         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
74275         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
74276         * m4/time_r.m4 (gl_TIME_R): Likewise.
74277         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
74278         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
74279         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74281         Fix copyright header in build-aux scripts.
74282         * build-aux/git-version-gen: Fix copyright header to match GPLv3
74283         recommendation.
74284         * build-aux/ncftpput-ftp: Likewise.
74285         * build-aux/update-copyright: Likewise.
74287 2009-09-09  Eric Blake  <ebb9@byu.net>
74289         test-link: allow Linux choice of errno
74290         * tests/test-link.c (main): Relax test for alternate error.
74292         strndup: fix improper m4 caching
74293         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
74294         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
74295         (gl_PREREQ_STRNDUP): Delete.
74296         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
74297         * modules/string (Makefile.am): Substitute it.
74298         * lib/string.in.h (strndup): Modernize prototype.
74300         getcwd: port to mingw
74301         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
74302         different from the POSIX assumptions made throughout the getcwd
74303         module; fortunately, the mingw getcwd does not need replacement.
74304         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
74305         * modules/getcwd-tests: New test.
74306         * tests/test-getcwd.c: Likewise.
74308         link: fix platform bugs
74309         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
74310         * lib/link.c (link): Work around them.  Fix related mingw bug.
74311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
74312         * modules/unistd (Makefile.am): Substitute it.
74313         * lib/unistd.in.h (link): Declare replacement.
74314         * doc/posix-functions/link.texi (link): Document this.
74315         * modules/link (Depends-on): Add strdup-posix, sys_stat.
74317         test-link: consolidate into single C program, test more cases
74318         * tests/test-link.sh: Delete.
74319         * tests/test-link.c: Test more error conditions.  Exposes bugs on
74320         at least Cygwin and Solaris.
74321         * modules/link-tests (Files): Remove unused file.
74322         (Depends-on): Add errno, sys_stat.
74323         (Makefile.am): Simplify.
74325 2009-09-08  Bruno Haible  <bruno@clisp.org>
74327         Work around towlower, towupper bug on mingw.
74328         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
74329         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
74330         * doc/posix-functions/towlower.texi: Mention the mingw bug.
74331         * doc/posix-functions/towupper.texi: Likewise.
74332         Reported by Eric Blake.
74334 2009-09-08  Jim Meyering  <meyering@redhat.com>
74336         build: don't try to run autoheader if we don't use it
74337         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
74338         is not used in configure.ac.
74340 2009-09-08  Eric Blake  <ebb9@byu.net>
74342         euidaccess: fix compilation error
74343         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
74345         rawmemchr: relax license
74346         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
74347         okay.
74348         Reported by Jim Meyering.
74350         mkfifoat: new module
74351         * modules/mkfifoat: New file.
74352         * lib/mkfifoat.c: Likewise.
74353         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
74354         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
74355         * modules/sys_stat (Makefile.am): Use them.
74356         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
74357         * MODULES.html.sh (File system functions): Mention module.
74358         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
74359         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
74360         * modules/mkfifoat-tests: New test.
74361         * tests/test-mkfifoat.c: Likewise.
74363         strchrnul: relax license
74364         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
74365         okay.
74366         Reported by Jim Meyering.
74368 2009-09-08  Eric Blake  <ebb9@byu.net>
74370         fstatat: fix compilation on Solaris
74371         * lib/fstatat.c (includes): Add fcntl.h.
74372         Reported by Pádraig Brady.
74374 2009-09-07  Eric Blake  <ebb9@byu.net>
74376         rename: modernize replacement
74377         * modules/rename (Depends-on): Add stdio.
74378         (configure.ac): Declare witness.
74379         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
74380         stdio take care of replacement.
74381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
74382         * modules/stdio (Makefile.am): Substitute them.
74383         * lib/stdio.in.h (rename): Declare replacement.
74384         * lib/rename.c (includes): Allow cross-compilation to non-windows
74385         machines.
74386         * doc/posix-functions/rename.texi (rename): Improve
74387         documentation.
74389         stdio: sort witness names
74390         * modules/stdio (Makefile.am): Sort replacements.
74391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
74392         * lib/stdio.in.h: Likewise.
74394         getcwd: minor cleanups
74395         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
74396         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
74398         openat: provide more convenience names
74399         * modules/faccessat (configure.ac): Add C witness.
74400         * lib/unistd.in.h (readlinkat): Fix typo.
74401         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
74402         convenience wrappers.
74403         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
74404         wrappers in syntax checks.
74406 2009-09-06  Eric Blake  <ebb9@byu.net>
74408         doc: fix comments in recent patches
74409         * lib/faccessat.c: Mention correct function.
74410         * lib/fchmodat.c: Likewise.
74411         * lib/fchownat.c: Likewise.
74412         * lib/symlinkat.c: Likewise.
74413         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
74414         constants.
74416         faccessat, symlinkat: continue cleanup of previous patch
74417         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
74418         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
74419         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
74420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
74421         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
74422         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
74423         set.
74425 2009-09-06  Bruno Haible  <bruno@clisp.org>
74427         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
74428         (fstatat): Declare if GNULIB_FSTATAT is set.
74429         (mkdirat): Declare if GNULIB_MKDIRAT is set.
74430         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
74431         (unlinkat): Declare if GNULIB_UNLINKAT is set.
74432         * modules/fcntl-h (Files): Remove m4/openat.m4.
74433         * modules/sys_stat (Files): Remove m4/openat.m4.
74434         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
74435         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
74436         * modules/unistd (Files): Remove m4/openat.m4.
74437         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
74438         GNULIB_OPENAT.
74439         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
74440         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
74441         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
74442         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
74443         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
74444         gl_OPENAT_DEFAULTS.
74445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
74446         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
74447         Don't require gl_OPENAT_DEFAULTS.
74448         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
74449         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
74450         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
74451         (gl_OPENAT_DEFAULTS): Remove macro.
74453 2009-09-06  Bruno Haible  <bruno@clisp.org>
74455         * modules/openat (configure.ac): Remove unneeded witness.
74457 2009-09-06  Bruno Haible  <bruno@clisp.org>
74459         Set errno to ENOSYS when a function is entirely unsupported.
74460         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
74461         EOPNOTSUPP.
74462         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
74463         * modules/chown (Depends-on): Remove errno.
74465 2009-09-06  Bruno Haible  <bruno@clisp.org>
74467         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
74469 2009-09-06  Bruno Haible  <bruno@clisp.org>
74471         * lib/sys_stat.in.h: Fix preprocessor command indentation.
74473 2009-09-06  Ben Pfaff  <blp@gnu.org>
74474             Bruno Haible  <bruno@clisp.org>
74476         Work around a glibc bug in strtok_r.
74477         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
74478         Undefine if UNDEFINE_STRTOK_R is set.
74479         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
74480         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
74481         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
74482         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
74483         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
74484         UNDEFINE_STRTOK_R.
74485         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
74487 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
74489         exclude: minor fix
74490         * lib/exclude.c: Include wctype.h
74492 2009-09-06  Akim Demaille  <demaille@gostai.com>
74494         bootstrap: improve error message
74495         * build-aux/bootstrap (find_tool): Upon failure, report the list
74496         of candidates.
74497         Honor the initial value of the envvar.
74499 2009-09-05  Eric Blake  <ebb9@byu.net>
74501         symlinkat: new module
74502         * modules/symlinkat: New file.
74503         * lib/symlinkat.c: Likewise.
74504         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
74505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
74506         * modules/unistd (Makefile.am): Use them.
74507         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
74508         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
74509         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
74510         * MODULES.html.sh (File system functions): Mention module.
74511         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
74512         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
74513         * modules/symlinkat-tests: New test.
74514         * tests/test-symlinkat.c: Likewise.
74516         test-openat-safer: add more checks
74517         * tests/test-openat-safer.c (main): Check more code paths.
74519 2009-09-05  Jim Meyering  <meyering@redhat.com>
74521         syntax-check: detect unnecessary inclusion of openat.h
74522         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
74524 2009-09-05  Bruno Haible  <bruno@clisp.org>
74526         Support towlower, towupper.
74527         * doc/posix-functions/towlower.texi: Mention module wctype.
74528         * doc/posix-functions/towupper.texi: Likewise.
74529         * lib/wctype.in.h (towlower, towupper): New functions.
74530         * tests/test-wctype.c: Include stdio.h, stdlib.h.
74531         (ASSERT): New macro.
74532         (e): New variable.
74533         (main): Test also towlower, towupper. Test WEOF argument.
74534         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
74536 2009-09-05  Bruno Haible  <bruno@clisp.org>
74538         Fix conversion behaviour when the input is invalid.
74539         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
74540         mark occurring in first pass of indirect conversion.
74541         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
74542         input.
74543         Found by clang's static analyzer.
74545 2009-09-05  Bruno Haible  <bruno@clisp.org>
74547         * tests/test-striconveh.c (main): Test indirect conversion on platforms
74548         where direct conversion is possible.
74550 2009-09-04  Eric Blake  <ebb9@byu.net>
74552         openat: fail with ENOENT on empty name
74553         * lib/openat-proc.c (openat_proc_name): Special-case the empty
74554         buffer.
74556         link-follow: fix logic bug in prior patch
74557         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
74558         reversed sense of yes and no in prior patch.  Avoid confusing
74559         compilation failure with desired semantics.
74561         link-follow: accommodate mingw and cross-compilation
74562         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
74563         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
74564         cross-compilation results to -1, to make linkat easier to
74565         implement when cross-compiling.  Trivially support mingw.
74566         * modules/link-follow (configure.ac): Call new name.
74567         * NEWS: Mention this.
74569 2009-09-03  Eric Blake  <ebb9@byu.net>
74571         faccessat: compile replacement
74572         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
74573         needed.
74575         fts: fix compilation error
74576         * lib/fts.c (includes): Re-add "openat.h", for
74577         openat_needs_fchdir.
74579         faccessat: new module
74580         * modules/faccessat: New file.
74581         * lib/faccessat.c: Likewise.
74582         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
74583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
74584         * modules/unistd (Makefile.am): Use it.
74585         * lib/unistd.in.h (faccessat): Declare it.
74586         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
74587         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
74588         * MODULES.html.sh (File system functions): Mention it.
74589         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
74590         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
74592         euidaccess: prefer POSIX over non-standard implementation
74593         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
74594         * lib/euidaccess.c (euidaccess): Use it if available.
74596         openat: make template easier to use
74597         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
74598         AT_FUNC_F2 to be undefined.
74599         (VALIDATE_FLAG): New macro; use it to reject bad flags.
74600         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
74601         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
74602         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
74603         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
74604         Likewise.
74605         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
74606         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
74607         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
74608         Likewise.
74610         openat: declare in POSIX headers
74611         * NEWS: Mention this.
74612         * modules/openat (configure.ac): Declare witnesses.
74613         (Depends-on): Add fcntl-h, sys_stat, unistd.
74614         (Include): Mention correct headers.
74615         * modules/fcntl-h (Depends-on): Add link-warning.
74616         (Files): Add openat.m4.
74617         (Makefile.am): Substitute witnesses.
74618         * modules/sys_stat (Files, Makefile.am): Likewise.
74619         * modules/unistd (Files, Makefile.am): Likewise.
74620         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
74621         (gl_OPENAT_DEFAULTS): New macro.
74622         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
74623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
74624         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
74625         (SYS_STAT_H): Remove unused variable.
74626         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
74627         * lib/fcntl--.h (includes): Remove unneeded header.
74628         * lib/openat-safer.c (includes): Likewise.
74629         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
74630         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
74631         appropriate headers.
74632         (__OPENAT_PREFIX): Delete.
74633         * lib/fcntl.in.h (openat): Provide declaration.
74634         (AT_FDCWD): Fix Solaris bug.
74635         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
74636         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
74637         * lib/fchmodat.c (includes):  Adjust to find declaration.
74638         * lib/fchownat.c (includes): Likewise.
74639         * lib/mkdirat.c (includes): Likewise.
74640         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
74641         still visible.
74643 2009-09-02  Eric Blake  <ebb9@byu.net>
74645         errno: use consistently
74646         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
74647         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
74648         * lib/canonicalize.c (ELOOP): Likewise.
74649         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
74650         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
74651         * lib/lchown.c (EOPNOTSUPP): Likewise.
74652         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
74653         * lib/savewd.c (ESTALE): Likewise.
74654         * lib/settime.c (ENOSYS): Likewise.
74655         * lib/utimens.c (ENOSYS): Likewise.
74656         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
74657         * lib/chdir-safer.c (ELOOP): Likewise.
74658         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
74659         * modules/c-stack (Depends-on): Add errno.
74660         * modules/canonicalize (Depends-on): Likewise.
74661         * modules/chdir-safer (Depends-on): Likewise.
74662         * modules/fdopendir (Depends-on): Likewise.
74663         * modules/inet_ntop (Depends-on): Likewise.
74664         * modules/inet_pton (Depends-on): Likewise.
74665         * modules/lchown (Depends-on): Likewise.
74666         * modules/openat (Depends-on): Likewise.
74667         * modules/savewd (Depends-on): Likewise.
74668         * modules/settime (Depends-on): Likewise.
74669         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
74671         fts: avoid leaking fds
74672         * modules/fts (Depends-on): Add cloexec.
74673         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
74674         flag.
74676         fts: make directory fds more robust
74677         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
74678         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
74680         backupfile, chdir-long, fts, savedir: make safer
74681         * lib/backupfile.c (includes): Use "dirent--.h", since
74682         numbered_backup can write to stderr during readdir.
74683         * lib/savedir.c (includes): Likewise.
74684         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
74685         emulation can write to stderr on failure.
74686         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
74687         * lib/getcwd.c: Document why opendir_safer is unused.
74688         * lib/glob.c: Likewise.
74689         * lib/scandir.c: Likewise.
74690         * lib/openat-proc.c: Likewise, for open_safer.
74691         * modules/backupfile (Depends-on): Add dirent-safer.
74692         * modules/savedir (Depends-on): Likewise.
74693         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
74694         * modules/chdir-long (Depends-on): Add openat-safer.
74696         openat-safer: new module
74697         * modules/openat-safer: New file.
74698         * lib/openat-safer.c: Likewise.
74699         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
74700         * lib/fcntl-safer.h (openat_safer): Declare.
74701         * lib/fcntl--.h (openat): Override.
74702         * MODULES.html.sh (File descriptor based I/O): Mention it.
74703         * lib/openat.h: Add double-inclusion guards.
74704         * lib/openat.c (includes): Only include "fcntl-safer.h", not
74705         "fcntl--.h", so we can implement openat.
74706         * modules/openat-safer-tests: New test.
74707         * tests/test-openat-safer.c: New file.
74709         dirent-safer: new module
74710         * modules/dirent-safer: New file.
74711         * lib/dirent--.h: Likewise.
74712         * lib/dirent-safer.h: Likewise.
74713         * lib/opendir-safer.c: Likewise.
74714         * m4/dirent-safer.m4: Likewise.
74715         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
74716         * modules/dirent-safer-tests: New test.
74717         * tests/test-dirent-safer.c: New file.
74718         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
74720         fdopendir: optimize on mingw
74721         * lib/unistd.in.h (_gl_directory_name): New prototype.
74722         * lib/fchdir.c (_gl_directory_name): Implement it.
74723         (fchdir): Use it to simplify implementation.
74724         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
74725         fchdir, when available, to avoid calling [f]chdir().
74727         fdopendir: split into its own module
74728         * lib/openat.c (fdopendir): Move...
74729         * lib/fdopendir.c: ...into new file.
74730         * modules/fdopendir: New module.
74731         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
74732         * modules/openat (Depends-on): Add fdopendir.
74733         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
74734         fdopendir here.
74735         * modules/savedir (Depends-on): Only need fdopendir, not full
74736         openat.
74737         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
74738         * lib/openat.h (fdopendir): Drop prototype.
74739         * lib/dirent.in.h (fdopendir): Provide prototype.
74740         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
74741         * modules/dirent (Makefile.am): Substitute them.
74742         * MODULES.html.sh (File system functions): Mention it.
74743         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
74744         * modules/fdopendir-tests: New file.
74745         * tests/test-fdopendir.c: Likewise.
74747         fchdir: use more consistent macro convention
74748         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
74749         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
74750         REPLACE_FCHDIR, rather than relying on config.h macros.
74751         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
74752         inside a single make-time REPLACE_FCHDIR block, rather than using
74753         the config.h FCHDIR_REPLACEMENT.
74754         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
74755         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
74756         Manage fstat replacement.
74757         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
74758         REPLACE_FCHDIR.
74759         * modules/sys_stat (Files): Add m4/unistd_h.m4.
74760         (Makefile.am): Substitute REPLACE_FCHDIR.
74761         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
74762         FCHDIR_REPLACEMENT.
74763         * lib/dup-safer.c (dup_safer): Likewise.
74764         * lib/dup2.c (rpl_dup2): Likewise.
74765         * lib/dup3.c (rpl_dup3): Likewise.
74766         * lib/open.c (rpl_open): Likewise.
74768         fchdir: simplify error handling, and support dup3
74769         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
74770         stdbool, malloc-posix, realloc-posix.
74771         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
74772         (ensure_dirs_slot): Return false on allocation failure.
74773         (rpl_dup2): Delete.
74774         (_gl_register_dup): New function.
74775         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
74776         (_gl_register_fd): Close fd on allocation failure.
74777         * lib/fcntl.in.h (_gl_register_fd): Update signature.
74778         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
74779         prototype.
74780         (rpl_dup2_fchdir): Delete prototype.
74781         * lib/open.c (open): Update caller.
74782         * lib/dup2.c (dup2): Track fchdir metadata.
74783         * lib/dup3.c (dup3): Likewise.
74784         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
74785         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
74787 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74789         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
74790         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
74791         don't pass arguments to AC_OUTPUT.
74793 2009-09-02  Bruno Haible  <bruno@clisp.org>
74795         * modules/mkdtemp (License): Relicense under LGPLv2+.
74796         Reported by Paolo Bonzini.
74798 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74800         Replace uses of obsolete autoconf macros in Jim's modules.
74801         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
74802         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
74803         can evoke a warning from autoconf when run with -Wobsolete
74804         enabled.  They were declared obsolete for good reasons (see
74805         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
74806         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
74807         should not continue using the deprecated macros.
74808         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
74809         obsolete Autoconf macros with modern counterparts.
74810         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74811         * m4/dos.m4 (gl_AC_DOS): Likewise.
74812         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
74813         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
74814         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
74815         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
74816         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
74817         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
74818         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
74819         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
74820         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74821         Likewise.
74822         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
74823         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74824         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
74825         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
74826         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74827         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74829 2009-09-01  Eric Blake  <ebb9@byu.net>
74831         fchdir: fix off-by-one bug in previous patch
74832         * lib/fchdir.c (rpl_fstat): Use correct bounds.
74833         (_gl_unregister_fd): Delete useless if.
74835 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
74837         maint.mk: sort the list of syntax-check rules
74838         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
74839         easier to get a sense of progress when the rules are run sequentially
74840         and take a long time.
74842 2009-09-01  Simon Josefsson  <simon@josefsson.org>
74844         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
74845         * modules/netinet_in: Likewise.
74846         * modules/sys_file: Likewise.
74847         * modules/sys_ioctl: Likewise.
74848         * modules/sys_select: Likewise.
74849         * modules/sys_socket: Likewise.
74850         * modules/sys_stat: Likewise.
74851         * modules/sys_time: Likewise.
74852         * modules/sys_times: Likewise.
74853         * modules/sys_utsname: Likewise.
74854         * modules/sys_wait: Likewise.
74856 2009-09-01  Jim Meyering  <meyering@redhat.com>
74858         fts: help ensure that return values are not ignored
74859         * lib/fts_.h (__GNUC_PREREQ): Define.
74860         (__attribute_warn_unused_result__): Define.
74861         (fts_children, fts_close, fts_open, fts_read): Declare with
74862         __attribute_warn_unused_result__.
74864         fts: fts_close now fails also when closing a dir file descriptor fails
74865         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
74866         and propagate to caller, along with errno.
74868         announce-gen: correct formatting in --help output
74869         * build-aux/announce-gen (usage): Move the one-line description in
74870         --help output "up", to where it belongs, just after Usage:.
74872 2009-08-31  Eric Blake  <ebb9@byu.net>
74874         fchdir: port to mingw
74875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
74876         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
74877         opened, then use a substitute.
74878         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
74879         replacement.
74880         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
74881         (_gl_register_fd): No need to check stat if open already filters
74882         all directories.
74883         (fchdir): Fix error condition to match POSIX.
74884         * modules/fchdir (Depends-on): Add sys_stat.
74885         * doc/posix-functions/open.texi (open): Document the limitation.
74886         * modules/fchdir-tests: New file.
74887         * tests/test-fchdir.c: Likewise.
74889         canonicalize: allow cross-testing from cygwin to mingw
74890         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
74891         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
74892         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
74893         Likewise.
74894         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
74895         target does not support symlinks.
74896         * tests/test-canonicalize-lgpl.sh: Likewise.
74898         chown: avoid compilation warning on mingw
74899         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
74900         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
74901         mingw.
74902         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
74903         * modules/chown (Depends-on): Add errno.
74905 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
74907         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
74908         command.
74910 2009-08-31  Jim Meyering  <meyering@redhat.com>
74912         canonicalize: remove useless initialization
74913         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
74914         initialization of local, "end".
74916 2009-08-30  Bruno Haible  <bruno@clisp.org>
74918         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
74919         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
74920         ENOSYS.
74922 2009-08-30  Bruno Haible  <bruno@clisp.org>
74924         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
74925         /usr/xpg4/bin/tr when it exists.
74926         * tests/test-pipe-filter-gi1.sh: Likewise.
74928 2009-08-30  Bruno Haible  <bruno@clisp.org>
74930         Work around deficient /usr/bin/id program on Solaris.
74931         * tests/test-file-has-acl.sh (ID): New variable.
74932         * tests/test-set-mode-acl.sh (ID): Likewise.
74933         * tests/test-copy-acl.sh (ID): Likewise.
74934         * tests/test-copy-file.sh (ID): Likewise.
74936 2009-08-30  Bruno Haible  <bruno@clisp.org>
74938         New module 'xstriconveh'.
74939         * lib/xstriconveh.h: New file.
74940         * lib/xstriconveh.c: New file.
74941         * modules/xstriconveh: New file.
74943 2009-08-30  Bruno Haible  <bruno@clisp.org>
74945         Make it easier to use mem_cd_iconveh.
74946         * lib/striconveh.h (iconveh_t): New type.
74947         (iconveh_open, iconveh_close): New declarations.
74948         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
74949         with a single 'const iconveh_t *' argument.
74950         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
74951         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
74952         with a single 'const iconveh_t *' argument.
74953         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
74954         * tests/test-striconveh.c (main): Update.
74955         * NEWS: Mention the change.
74957 2009-08-30  Bruno Haible  <bruno@clisp.org>
74959         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
74960         problem.
74962 2009-08-30  Bruno Haible  <bruno@clisp.org>
74964         Work around iconv_open problem on Solaris.
74965         * lib/iconv_open-solaris.gperf: New file.
74966         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
74967         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
74968         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
74969         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
74970         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
74971         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
74973 2009-08-29  Jim Meyering  <meyering@redhat.com>
74975         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
74976         * top/maint.mk (cvs-check): Remove target; it was just an alias
74977         to the better-named vc-diff-check.
74978         (maintainer-distcheck): Remove rule.  It was used only from
74979         the (alpha/beta/major) target, and all of its commands but one
74980         were coreutils-specific.
74981         (vc-dist): Remove rule.
74982         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
74983         Run vc-diff-check, not vc-dist.
74984         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
74986 2009-08-27  Bruno Haible  <bruno@clisp.org>
74988         * tests/test-bitrotate.c (main): Remove test that uses a shift count
74989         of 0.
74991 2009-08-27  Bruno Haible  <bruno@clisp.org>
74993         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
74994         compilers.
74995         * doc/func.texi: Document the SunPRO C bug.
74997 2009-08-27  Bruno Haible  <bruno@clisp.org>
74999         Fix link error on Solaris.
75000         * tests/test-parse-duration.c (xstrdup): Remove function.
75002 2009-08-26  Pádraig Brady  <P@draigbrady.com>
75004         ignore-value: handle pointer types, too
75005         * lib/ignore-value.h (__attribute__): Remove definition.
75006         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
75007         of a more concise and more-often effective "(void) i" statement.
75008         (ignore_ptr): New function to suppress warnings from functions that
75009         return pointers, and to make it explicit that one function doesn't
75010         handle all cases.
75012 2009-08-25  Bruno Haible  <bruno@clisp.org>
75014         dup2: work around a Linux bug.
75015         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
75016         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
75017         * doc/posix-functions/dup2.texi: Mention the Linux bug.
75018         Reported by Simon Josefsson.
75020 2009-08-25  Jim Meyering  <meyering@redhat.com>
75022         libguestfs uses gnulib
75023         * users.txt: Add libguestfs.
75025 2009-08-24  Eric Blake  <ebb9@byu.net>
75027         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
75028         * lib/pipe2.c (includes): Add binary-io.h.
75029         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
75031 2009-08-24  Bruno Haible  <bruno@clisp.org>
75033         Tolerate declared but missing accept4 syscall.
75034         * lib/accept4.c (accept4): Invoke original accept4 function first, if
75035         available.
75036         * lib/sys_socket.in.h (accept4): If the function is already present,
75037         override it.
75038         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
75039         * modules/accept4 (Makefile.am): Compile accept4.c always.
75040         Reported by Paolo Bonzini and Eric Blake.
75042 2009-08-23  Bruno Haible  <bruno@clisp.org>
75044         New module 'accept4'.
75045         * lib/sys_socket.in.h (accept4): New declaration.
75046         * lib/accept4.c: New file.
75047         * m4/accept4.m4: New file.
75048         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
75049         GNULIB_ACCEPT4, HAVE_ACCEPT4.
75050         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
75051         HAVE_ACCEPT4.
75052         * modules/accept4: New file.
75053         * doc/glibc-functions/accept4.texi: Mention the new module.
75055 2009-08-24  Jim Meyering  <meyering@redhat.com>
75057         progname: also set global program_invocation_name, when possible
75058         Before this change, a libtool-enabled program that calls glibc's
75059         error function would report the program name as
75060         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
75061         * modules/progname (configure.ac): Check for a declaration of
75062         program_invocation_name.
75063         * lib/progname.c:  Include <errno.h>.
75064         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
75065         Set program_invocation_name.
75067 2009-08-23  Bruno Haible  <bruno@clisp.org>
75069         * lib/dup3.c: Include <string.h>.
75071 2009-08-23  Bruno Haible  <bruno@clisp.org>
75073         * lib/dup3.c (dup3): Test only once whether the system actually exists.
75074         * lib/pipe2.c (pipe2): Likewise.
75075         Suggested by Eric Blake.
75077 2009-08-23  Bruno Haible  <bruno@clisp.org>
75079         Tolerate declared but missing dup3 syscall.
75080         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
75081         * lib/unistd.in.h (dup3): If the function is already present,
75082         override it.
75083         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
75084         * modules/dup3 (Makefile.am): Compile dup3.c always.
75085         Reported by Paolo Bonzini.
75087 2009-08-23  Bruno Haible  <bruno@clisp.org>
75089         Tolerate declared but missing pipe2 syscall.
75090         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
75091         available.
75092         * lib/unistd.in.h (pipe2): If the function is already present,
75093         override it.
75094         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
75095         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
75096         Reported by Paolo Bonzini.
75098 2009-08-23  Bruno Haible  <bruno@clisp.org>
75100         * lib/pipe2.c (pipe2): Move #ifs inside function.
75102 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
75104         quotearg: document limitations of quote_these_too
75105         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
75106         those limitations are created.
75107         * lib/quotearg.h (set_char_quoting): Document that digits and
75108         letters that are special after backslash are not permitted.
75109         (quotearg_char): Cross-reference set_char_quoting documentation.
75111 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
75113         quotearg: implement custom_quoting_style
75114         * lib/quotearg.c: (struct quoting_options): Add left_quote and
75115         right_quote fields.
75116         (set_custom_quoting): New public function.
75117         (quotearg_buffer_restyled): Add left_quote and right_quote
75118         arguments, handle them very much like locale quoting, and update
75119         all uses.
75120         (quotearg_n_custom): New public function.
75121         (quotearg_n_custom_mem): New public function.
75122         (quotearg_custom): New public function.
75123         (quotearg_custom_mem): New public function.
75124         * lib/quotearg.h: Prototype and document new public functions.
75125         (enum quoting_style): For escape_quoting_style and
75126         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
75127         ignored even though they're otherwise like c_quoting_style.
75128         Add custom_quoting_style member and document with comparison to
75129         clocale_quoting_style.
75130         * tests/test-quotearg.c (custom_quotes): New array.
75131         (custom_results): New array.
75132         (main): Extend to test custom quoting.
75134 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
75136         quotearg: fix right quote escaping when it's in quote_these_too
75137         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
75138         quote, be sure to prepend only one backslash.
75139         * tests/test-quotearg.c (use_quote_double_quotes): New function.
75140         (main): Test it.
75142 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
75144         quotearg-tests: test escaping of embedded locale quotes
75145         * tests/test-quotearg.c (struct result_strings): Add member for
75146         new input.
75147         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
75148         (inputs): Add new input.
75149         (results_g): Add expected results.
75150         (flag_results): Likewise.
75151         (locale_results): Likewise.
75152         (compare_strings): Check those.
75154 2009-08-23  Bruno Haible  <bruno@clisp.org>
75156         Tests for module 'dup3'.
75157         * modules/dup3-tests: New file.
75158         * tests/test-dup3.c: New file.
75160         New module 'dup3'.
75161         * lib/unistd.in.h (dup3): New declaration.
75162         * lib/dup3.c: New file.
75163         * m4/dup3.m4: New file.
75164         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
75165         HAVE_DUP3.
75166         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
75167         * modules/dup3: New file.
75168         * doc/glibc-functions/dup3.texi: Mention the new module.
75170 2009-08-23  Bruno Haible  <bruno@clisp.org>
75172         Tweak the dup2 test.
75173         * tests/test-dup2.c (main): Create the test file empty. Verify that an
75174         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
75175         the test file is still empty. Fix argument order of lseek.
75177 2009-08-23  Bruno Haible  <bruno@clisp.org>
75179         Avoid test link errors when the modules getopt-gnu, gettext are used.
75180         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
75181         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75183 2009-08-23  Bruno Haible  <bruno@clisp.org>
75185         Fix getdtablesize() on mingw.
75186         * lib/getdtablesize.c (getdtablesize): Implement differently.
75187         * lib/unistd.in.h (getdtablesize): Improve comment.
75189 2009-08-23  Bruno Haible  <bruno@clisp.org>
75191         New module 'mkostemp'.
75192         Based on Ulrich Drepper's 2007-08-10 change in glibc.
75193         * lib/stdlib.in.h (mksotemp): New declaration.
75194         * lib/mkostemp.c: New file, from glibc with modifications.
75195         * lib/tempname.h (GT_FILE): Remove outdated comment.
75196         (gen_tempname): Add flags argument.
75197         * lib/tempname.c (__GT_BIGFILE): Remove macro.
75198         (__GT_FILE): Map to 1.
75199         (small_open, large_open): Remove macros.
75200         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
75201         * lib/mkstemp.c (mkstemp): Update.
75202         * lib/mkdtemp.c (mkdtemp): Likewise.
75203         * m4/mkostemp.m4: New file.
75204         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
75205         HAVE_MKOSTEMP.
75206         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
75207         HAVE_MKOSTEMP.
75208         * modules/mkostemp: New file, based on modules/mkstemp.
75209         * doc/glibc-functions/mkostemp.texi: Mention the new module.
75210         * NEWS: Mention the change.
75212 2009-08-23  Bruno Haible  <bruno@clisp.org>
75214         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
75215         Reported by Eric Blake.
75217 2009-08-23  Bruno Haible  <bruno@clisp.org>
75219         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
75220         Reported by Eric Blake.
75222 2009-08-23  Bruno Haible  <bruno@clisp.org>
75224         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
75225         * modules/pipe2 (Depends-on): Likewise.
75227 2009-08-23  Eric Blake  <ebb9@byu.net>
75229         fcntl-h: add O_TTY_INIT support
75230         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
75231         * tests/test-fcntl-h.c (o): Test it.
75232         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
75234         fcntl-h: rename from fcntl, in preparation for fcntl(2)
75235         * modules/fcntl: Move <fcntl.h> header replacement...
75236         * modules/fcntl-h: ...to new name, so as not to collide with
75237         like-named function.
75238         * tests/test-fcntl.c: Rename...
75239         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
75240         * modules/fcntl-tests: Rename...
75241         * modules/fcntl-h-tests: ...to this.  Update test file name.
75242         * modules/chdir-long (Depends-on): Update clients.
75243         * modules/chdir-safer (Depends-on): Likewise.
75244         * modules/fcntl-safer (Depends-on): Likewise.
75245         * modules/fts (Depends-on): Likewise.
75246         * modules/mkancesdirs (Depends-on): Likewise.
75247         * modules/mkdir-p (Depends-on): Likewise.
75248         * modules/open (Depends-on): Likewise.
75249         * modules/savewd (Depends-on): Likewise.
75250         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
75251         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
75253 2009-08-22  Bruno Haible  <bruno@clisp.org>
75255         * modules/binary-io (License): Relicense under LGPL.
75256         * modules/pipe2 (License): Likewise.
75258 2009-08-22  Bruno Haible  <bruno@clisp.org>
75260         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
75261         return value.
75262         * lib/pipe-filter-gi.c (filter_init): Likewise.
75263         Reported by Eric Blake.
75265 2009-08-22  Bruno Haible  <bruno@clisp.org>
75267         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
75268         * modules/pipe (Depends-on): Add pipe2.
75270 2009-08-22  Bruno Haible  <bruno@clisp.org>
75272         Tests for module 'pipe2'.
75273         * modules/pipe2-tests: New file.
75274         * tests/test-pipe2.c: New file.
75276         New module 'pipe2'.
75277         * lib/unistd.in.h (pipe2): New declaration.
75278         * lib/pipe2.c: New file.
75279         * m4/pipe2.m4: New file.
75280         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
75281         HAVE_PIPE2.
75282         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
75283         * modules/pipe2: New file.
75284         * doc/glibc-functions/pipe2.texi: Mention the new module.
75286 2009-08-22  Bruno Haible  <bruno@clisp.org>
75288         Reference some new glibc functions.
75289         * doc/glibc-functions/accept4.texi: New file.
75290         * doc/glibc-functions/dup3.texi: New file.
75291         * doc/glibc-functions/mkostemp.texi: New file.
75292         * doc/glibc-functions/pipe2.texi: New file.
75293         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
75294         (Glibc sys/socket.h): Refer to accept4.
75295         (Glibc unistd.h): Refer to dup3, pipe2.
75296         Reported by Eric Blake.
75298 2009-08-22  Jim Meyering  <meyering@redhat.com>
75299             Bruno Haible  <bruno@clisp.org>
75301         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
75302         This makes it so packages using automake-1.11's silent-rules option
75303         can print e.g., a single "GEN    configmake.h" line, rather than
75304         the 30+ statements that perform the job.  If you want to see the
75305         actual commands, you can still run "make V=1".
75306         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
75307         so that make output is abbreviated when those variables are defined
75308         appropriately.
75309         * modules/argz: Likewise.
75310         * modules/arpa_inet: Likewise.
75311         * modules/byteswap: Likewise.
75312         * modules/configmake: Likewise.
75313         * modules/dirent: Likewise.
75314         * modules/errno: Likewise.
75315         * modules/fcntl: Likewise.
75316         * modules/float: Likewise.
75317         * modules/fnmatch: Likewise.
75318         * modules/getopt-posix: Likewise.
75319         * modules/glob: Likewise.
75320         * modules/iconv_open: Likewise.
75321         * modules/inttypes: Likewise.
75322         * modules/localcharset: Likewise.
75323         * modules/locale: Likewise.
75324         * modules/math: Likewise.
75325         * modules/netdb: Likewise.
75326         * modules/netinet_in: Likewise.
75327         * modules/poll: Likewise.
75328         * modules/posix_spawnp-tests: Likewise.
75329         * modules/sched: Likewise.
75330         * modules/search: Likewise.
75331         * modules/selinux-h: Likewise.
75332         * modules/signal: Likewise.
75333         * modules/spawn: Likewise.
75334         * modules/stdarg: Likewise.
75335         * modules/stdbool: Likewise.
75336         * modules/stddef: Likewise.
75337         * modules/stdint: Likewise.
75338         * modules/stdio: Likewise.
75339         * modules/stdlib: Likewise.
75340         * modules/string: Likewise.
75341         * modules/strings: Likewise.
75342         * modules/sys_file: Likewise.
75343         * modules/sys_ioctl: Likewise.
75344         * modules/sys_select: Likewise.
75345         * modules/sys_socket: Likewise.
75346         * modules/sys_stat: Likewise.
75347         * modules/sys_time: Likewise.
75348         * modules/sys_times: Likewise.
75349         * modules/sys_utsname: Likewise.
75350         * modules/sys_wait: Likewise.
75351         * modules/sysexits: Likewise.
75352         * modules/time: Likewise.
75353         * modules/unistd: Likewise.
75354         * modules/wchar: Likewise.
75355         * modules/wctype: Likewise.
75357 2009-08-22  Jim Meyering  <meyering@redhat.com>
75359         announce-gen: detect write failure
75360         * build-aux/announce-gen: Add Coda at end.
75361         Remove equivalent-but-more-verbose block at top.
75363 2009-08-19  Akim Demaille  <demaille@gostai.com>
75365         bootstrap: --help to stdout.
75366         * bootstrap (usage): Don't send --help to stderr.
75367         Use a here doc instead of a long string.
75369 2009-08-21  Eric Blake  <ebb9@byu.net>
75371         test-popen-safer: split from test-popen
75372         * tests/test-popen.c (main): Move...
75373         * tests/test-popen.h: ...into new file.
75374         * tests/test-popen-safer2.c: New file.
75375         * modules/popen-tests (Files): Add test-popen.h.
75376         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
75377         Suggested by Bruno Haible.
75379         test-fcntl-safer: split from test-open
75380         * tests/test-open.c (main): Move...
75381         * tests/test-open.h: ...into new file.
75382         * tests/test-fcntl-safer.c: New file.
75383         * modules/open-tests (Files): Add test-open.h.
75384         * modules/fcntl-safer-tests: New file.
75385         Suggested by Bruno Haible.
75387         test-fopen-safer: split from test-fopen
75388         * tests/test-fopen.c (main): Move...
75389         * tests/test-fopen.h: ...into new file.
75390         * tests/test-fopen-safer.c: New file.
75391         * modules/fopen-tests (Files): Add test-fopen.h.
75392         * modules/fopen-safer-tests: New file.
75393         Suggested by Bruno Haible.
75395 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
75397         popen-safer: test O_CLOEXEC at run-time.
75398         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
75400 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
75402         fcntl: move more flags to the header
75403         * lib/cloexec.c: Do not define FD_CLOEXEC here.
75404         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
75405         * lib/fcntl.in.h: Do both things here.
75407 2009-08-21  Jim Meyering  <meyering@redhat.com>
75409         consistently remove $@-t before redirecting to it
75410         * modules/argz: Remove $@-t and $@ before redirecting to the former.
75411         * modules/alloca-opt: Likewise.
75412         * modules/byteswap: Likewise.
75413         * modules/fnmatch: Likewise.
75414         * modules/getopt-posix: Likewise.
75415         * modules/glob: Likewise.
75416         * modules/poll: Likewise.
75417         * modules/posix_spawnp-tests: Likewise.
75418         * modules/sys_socket: Likewise.
75419         * modules/sysexits: Likewise.
75421 2009-08-21  Eric Blake  <ebb9@byu.net>
75423         popen: simplify access to original popen
75424         * lib/popen.c (rpl_popen): No need to worry about popen being a
75425         macro.
75426         Reported by Bruno Haible.
75428 2009-08-20  Eric Blake  <ebb9@byu.net>
75430         build: avoid some compiler warnings
75431         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
75432         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
75433         type.
75434         (new_exclude_segment, excluded_file_pattern_p)
75435         (excluded_file_name_p): Reduce scope.
75436         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
75437         old-style declaration.
75439 2009-08-20  Simon Josefsson  <simon@josefsson.org>
75441         * tests/test-exclude1.sh: Handle Windows EOL.
75442         * tests/test-exclude2.sh: Likewise.
75443         * tests/test-exclude3.sh: Likewise.
75444         * tests/test-exclude4.sh: Likewise.
75445         * tests/test-exclude5.sh: Likewise.
75446         * tests/test-exclude6.sh: Likewise.
75447         * tests/test-exclude7.sh: Likewise.
75449 2009-08-19  Akim Demaille  <demaille@gostai.com>
75451         bootstrap: find sha1sum when named gsha1sum.
75452         * bootstrap (find_tool): New.
75453         ($SHA1SUM): New.
75454         Use it.
75456 2009-08-20  Jim Meyering  <meyering@redhat.com>
75458         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
75459         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
75460         expression that converts "." in a file name to "\." in the resulting
75461         regexp.  Start with a dummy statement, so that prior shell variable
75462         definitions are expanded portably.  Reported by Simon Josefsson.
75464 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
75466         Fix polling for writeability of a screen buffer.
75467         * lib/poll.c: Distinguish input and screen buffers for the
75468         Win32 implementation.
75469         * lib/select.c: Likewise.
75471 2009-08-19  Eric Blake  <ebb9@byu.net>
75473         popen-safer: prevent popen from clobbering std descriptors
75474         * modules/popen-safer: New file.
75475         * lib/popen-safer.c: Likewise.
75476         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
75477         * lib/stdio--.h (popen): Provide override.
75478         * lib/stdio-safer.h (popen_safer): Provide declaration.
75479         * tests/test-popen.c (includes): Partially test this.
75480         * modules/popen-safer-tests: New file, for more tests.
75481         * tests/test-popen-safer.c: Likewise.
75482         * MODULES.html.sh (file stream based Input/Output): Mention it.
75484         tests: test some of the *-safer modules
75485         * modules/fopen-safer (Depends-on): Add fopen.
75486         * modules/fcntl-safer (Depends-on): Add fcntl.
75487         * modules/stdlib-safer (Depends-on): Add stdlib.
75488         (configure.ac): Set indicator.
75489         * modules/unistd-safer (configure.ac): Likewise.
75490         * modules/tmpfile-safer (configure.ac): Likewise.
75491         (Depends-on): Add tmpfile.
75492         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
75493         active.
75494         * tests/test-fopen.c (includes): Test safer versions when they are
75495         in use.
75496         * tests/test-open.c (includes): Likewise.
75498         popen: fix cygwin 1.5 bug when stdin closed
75499         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
75500         * modules/popen: New file.
75501         * modules/popen-tests: Likewise.
75502         * tests/test-popen.c: Likewise.
75503         * m4/popen.m4: Likewise.
75504         * lib/popen.c: Likewise.
75505         * lib/stdio.in.h (popen): New declaration.
75506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
75507         * modules/stdio (Makefile.am): Likewise.
75508         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
75510 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
75512         maint.mk: give full control over update-copyright exclusions
75513         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
75514         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
75515         (update-copyright): Don't force inclusion of top-level
75516         ChangeLog.  Don't force exclusion of all COPYING files, but make
75517         them the default exclusion instead.
75519 2009-08-16  Bruno Haible  <bruno@clisp.org>
75521         Fix test failures on Solaris 10.
75522         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
75523         tests when Solaris iconv() is used.
75524         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
75525         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
75526         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
75527         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
75528         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
75530 2009-08-16  Bruno Haible  <bruno@clisp.org>
75532         Fix test failures on Solaris 10.
75533         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
75534         'tr' program and pass it as first argument.
75535         * tests/test-pipe-filter-gi1.sh: Likewise.
75536         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
75537         program as first argument.
75538         * tests/test-pipe-filter-gi1.c (main): Likewise.
75540 2009-08-16  Eric Blake  <ebb9@byu.net>
75542         fpurge: fix previous commits
75543         * modules/fpurge (Makefile.am): Make replacement conditional,
75544         partially reverting 2007-04-29 change; missed in previous
75545         attempt.
75546         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
75547         is missing.
75549 2009-08-16  Bruno Haible  <bruno@clisp.org>
75551         Clarify fpurge's effect on the file position.
75552         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
75553         * tests/test-fpurge.c (main): Make a second pass for checking the file
75554         position.
75556 2009-08-16  Bruno Haible  <bruno@clisp.org>
75558         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
75559         declaration of fpurge is missing.
75560         * tests/test-fpurge.c (main): Check that the file has not more contents
75561         than expected. Close the file before removing it.
75563 2009-08-15  Eric Blake  <ebb9@byu.net>
75565         fpurge: don't wrap working cygwin implementation
75566         * lib/fpurge.c (fpurge): Fix comment typo.
75567         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
75568         1.7 to avoid replacement.
75569         * tests/test-fpurge.c (main): Enhance test.
75571 2009-08-15  Eric Blake  <ebb9@byu.net>
75572         and Jim Meyering  <meyering@redhat.com>
75574         test-update-copyright: skip if perl is insufficient
75575         * tests/test-update-copyright.sh: Failure to run maintainer tool
75576         should not cause testsuite failure on cygwin 1.5.
75578 2009-08-14  Eric Blake  <ebb9@byu.net>
75580         doc: mention more functions added in cygwin 1.7.0
75581         * doc/posix-headers/limits.texi (limits.h): Update for recent
75582         cygwin additions.
75583         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
75584         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
75585         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
75586         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
75587         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
75589 2009-08-14  Eric Blake  <ebb9@byu.net>
75591         maint.mk: simplify update-copyright rule
75592         * top/maint.mk (update-copyright-local): Delete, and document how
75593         to do it in cfg.mk instead.
75594         (update-copyright-exclude-regexp): Delete, and document how to do
75595         it in .x-update-copyright instead.
75596         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
75597         exclude ChangeLog.
75599 2009-08-14  Bruno Haible  <bruno@clisp.org>
75601         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
75603 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
75605         maint.mk: support update-copyright-env
75606         * top/maint.mk (update-copyright-env): Define place-holder.
75607         (update-copyright): Expand $(update-copyright-env) before
75608         invoking update-copyright.
75610 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
75612         update-copyright: implement forced reformatting
75613         * build-aux/update-copyright: Implement and document
75614         UPDATE_COPYRIGHT_FORCE.
75615         * tests/test-update-copyright.sh: Test it.
75617 2009-08-14  Eric Blake  <ebb9@byu.net>
75618         and Bruno Haible  <bruno@clisp.org>
75620         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
75621         * tests/test-locale.c: Revert previous patch related to NULL.
75622         * tests/test-stdio.c: Likewise.
75623         * tests/test-stdlib.c: Likewise.
75624         * tests/test-string.c: Likewise.
75625         * tests/test-unistd.c: Likewise.
75626         * modules/time-tests (Depends-on): Add verify.
75627         * modules/wchar-tests (Depends-on): Likewise.
75628         * tests/test-time.c: Test for NULL compliance.
75629         * tests/test-wchar.c: Likewise.
75630         * modules/locale (Depends-on): Add stddef.
75631         * modules/stdio (Depends-on): Likewise.
75632         * modules/stdlib (Depends-on): Likewise.
75633         * modules/string (Depends-on): Likewise.
75634         * modules/time (Depends-on): Likewise.
75635         * modules/unistd (Depends-on): Likewise.
75636         * modules/wchar (Depends-on): Likewise.
75637         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
75638         * lib/stdlib.in.h (includes): Likewise.
75639         * lib/string.in.h (includes): Likewise.
75640         * lib/time.in.h (includes): Likewise.
75641         * lib/unistd.in.h (includes): Likewise.
75642         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
75643         replaced.
75644         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
75645         * m4/stddef_h.m4: New file.
75646         * modules/stddef: Likewise.
75647         * lib/stddef.in.h: Likewise.
75648         * modules/stddef-tests: Likewise.
75649         * tests/test-stddef.c: Likewise.
75650         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
75651         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
75652         * doc/posix-headers/locale.texi (locale.h): Likewise.
75653         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
75654         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
75655         * doc/posix-headers/string.texi (string.h): Likewise.
75656         * doc/posix-headers/time.texi (time.h): Likewise.
75657         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
75658         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
75660 2009-08-14  Eric Blake  <ebb9@byu.net>
75662         doc: improve git diff of texinfo files
75663         * .gitattributes: Add rule for *.texi files, with hint on how to
75664         use it.
75665         Copied from m4, and based on a report by Bruno Haible.
75667 2009-08-14  Bruno Haible  <bruno@clisp.org>
75669         Disable multithread support by default on Cygwin 1.5.x for real.
75670         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
75672 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
75674         update-copyright: much ado about intervals
75675         * build-aux/update-copyright: Implement and document
75676         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
75677         of copyright year intervals.
75678         Also, document UPDATE_COPYRIGHT_YEAR.
75679         * tests/test-update-copyright.sh: Test it.
75681         update-copyright: convert 2-digit to 4-digit years
75682         * build-aux/update-copyright: Implement and document.
75683         * tests/test-update-copyright.sh: Update.
75685 2009-08-14  Jim Meyering  <meyering@redhat.com>
75687         test-exclude: avoid coreutils "make check" failure
75688         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
75689         just as in test-argmatch.c.
75691 2009-08-13  Eric Blake  <ebb9@byu.net>
75693         test-dup2: fix bad assumption
75694         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
75695         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
75697         test-version-etc: fix CRLF portability issue
75698         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
75699         recognize \r.
75700         * tests/test-argp-version-etc-1.sh: Likewise.
75702         getopt: update client modules
75703         * modules/argp (Depends-on): Use getopt-gnu.
75704         * modules/git-merge-changelog (Depends-on): Likewise.
75705         * modules/long-options (Depends-on): Likewise.
75706         * modules/xstrtol (Depends-on): Likewise.
75708 2009-08-13  Simon Josefsson  <simon@josefsson.org>
75710         * tests/test-version-etc.sh: Don't fail on different
75711         project/version.  Don't fail on CRLF differences.  Rewrite to use
75712         multiple -e instead of multiple sed forks, suggested by Eric Blake
75713         <ebb9@byu.net>.
75714         * tests/test-argp-version-etc-1.sh: Likewise.
75716 2009-08-13  Simon Josefsson  <simon@josefsson.org>
75718         * tests/test-version-etc.sh: Don't fail on different
75719         project/version.
75721 2009-08-12  Bruno Haible  <bruno@clisp.org>
75723         Tests for modules 'getopt-posix', 'getopt-gnu'.
75724         * modules/getopt-posix-tests: New file.
75725         * tests/test-getopt.c: New file.
75726         * tests/test-getopt.h: New file.
75727         * tests/test-getopt_long.h: New file.
75729         New modules 'getopt-posix', 'getopt-gnu'.
75730         * modules/getopt-gnu: New file, renamed from modules/getopt.
75731         * modules/getopt-posix: New file.
75732         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
75733         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
75734         (gl_GETOPT): Remove macro.
75735         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
75736         Disable the test against BSD systems that declare optreset. Test
75737         against mingw bug. Test against lack of support of optional arguments
75738         on many platforms.
75739         * doc/glibc-headers/getopt.texi: Update module name and list of
75740         relevant platforms.
75741         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
75742         'getopt-gnu' and more portability problems.
75743         * NEWS: Mention the changes.
75745 2009-08-12  Bruno Haible  <bruno@clisp.org>
75747         Ensure that optarg etc. get declared by <unistd.h>.
75748         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
75749         AC_USE_SYSTEM_EXTENSIONS.
75750         * modules/getopt (Depends-on): Add 'extensions'.
75752 2009-08-12  Bruno Haible  <bruno@clisp.org>
75754         Avoid test link errors.
75755         * modules/pipe-filter-ii-tests (Makefile.am): Define
75756         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
75757         * modules/pipe-filter-gi-tests (Makefile.am): Define
75758         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
75759         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75761 2009-08-12  Bruno Haible  <bruno@clisp.org>
75763         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
75764         gl_GETOPT_SUBSTITUTE before.
75765         (gl_GETOPT): Use it.
75766         * m4/argp.m4 (gl_ARGP): Update.
75767         Reported by Sergey Poznyakoff.
75769         * m4/getopt.m4: Reorder macros.
75770         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
75771         (gl_GETOPT_SUBSTITUTE): Remove macro.
75773 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75775         Minor improvement in gitlog-to-changelog
75777         * build-aux/gitlog-to-changelog: New option `--format' makes
75778         output format string configurable.
75780 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75782         Optimize exclude: use hash tables for non-wildcard patterns.
75784         * lib/exclude.c: Include hash.h and mbuiter.h
75785         (struct exclude_pattern, exclude_segment): New data types.
75786         (struct exclude): Rewrite.
75787         (fnmatch_pattern_has_wildcards): New function.
75788         (new_exclude_segment, free_exclude_segment): New functions.
75789         (excluded_file_pattern_p, excluded_file_name_p): New functions.
75790         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
75791         * lib/exclude.h (is_fnmatch_pattern): New prototype.
75792         * modules/exclude: Depend on hash and mbuiter.
75794         * modules/exclude-tests: New file.
75795         * tests/test-exclude.c: New file.
75796         * tests/test-exclude1.sh: New file.
75797         * tests/test-exclude2.sh: New file.
75798         * tests/test-exclude3.sh: New file.
75799         * tests/test-exclude4.sh: New file.
75800         * tests/test-exclude5.sh: New file.
75801         * tests/test-exclude6.sh: New file.
75802         * tests/test-exclude7.sh: New file.
75804 2009-08-12  Bruno Haible  <bruno@clisp.org>
75806         Ensure that getopt() gets declared by <unistd.h>.
75807         * lib/unistd.in.h: Conditionally include getopt.h.
75808         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
75809         Set GNULIB_UNISTD_H_GETOPT.
75810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
75811         GNULIB_UNISTD_H_GETOPT.
75812         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
75814 2009-08-12  Bruno Haible  <bruno@clisp.org>
75816         Clarify logic.
75817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
75818         gl_replace_getopt instead of GETOPT_H.
75820 2009-08-12  Bruno Haible  <bruno@clisp.org>
75822         * m4/getopt.m4: Add comments.
75824 2009-08-12  Bruno Haible  <bruno@clisp.org>
75826         Disable multithread support by default on Cygwin 1.5.x.
75827         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
75828         set gl_use_threads=no if not specified otherwise.
75830 2009-08-11  Bruno Haible  <bruno@clisp.org>
75832         Avoid compilation error on NetBSD 5.0.
75833         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
75834         * tests/test-stdio.c: Likewise.
75835         * tests/test-stdlib.c: Likewise.
75836         * tests/test-string.c: Likewise.
75837         * tests/test-unistd.c: Likewise.
75838         Reported by Greg Troxel <gdt@ir.bbn.com>
75839         at <https://savannah.gnu.org/support/?106973>.
75841 2009-08-11  Bruno Haible  <bruno@clisp.org>
75843         * modules/dup2-tests (Depends-on): Remove close.
75845         Undo 2009-07-19 commit.
75846         * modules/acl-tests (Depends-on): Remove close.
75847         * modules/binary-io-tests (Depends-on): Likewise.
75848         * modules/closein-tests (Depends-on): Likewise.
75849         * modules/flock-tests (Depends-on): Likewise.
75850         * modules/fsync-tests (Depends-on): Likewise.
75851         * modules/lseek-tests (Depends-on): Likewise.
75852         * modules/pipe-tests (Depends-on): Likewise.
75853         * modules/posix_spawn-tests (Depends-on): Likewise.
75854         * modules/posix_spawnp-tests (Depends-on): Likewise.
75855         * modules/stat-time-tests (Depends-on): Likewise.
75856         * modules/yesno-tests (Depends-on): Likewise.
75858 2009-08-10  Bruno Haible  <bruno@clisp.org>
75860         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
75862 2009-08-10  Bruno Haible  <bruno@clisp.org>
75864         Fix a gcc warning.
75865         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
75867 2009-08-10  Bruno Haible  <bruno@clisp.org>
75869         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
75870         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
75871         not only the first time.
75872         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
75873         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
75874         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
75875         is 1, not only the first time.
75877 2009-08-10  Bruno Haible  <bruno@clisp.org>
75879         Make it possible to use module 'gethostname' without module 'close'.
75880         * lib/unistd.in.h (close): Evoke a link error only if
75881         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
75882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
75883         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
75884         * modules/unistd (Makefile.am): Substitute
75885         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
75886         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
75887         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
75888         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
75889         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
75890         * modules/sys_ioctl (Makefile.am): Substitute
75891         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
75892         * modules/socket (configure.ac): On native Windows, set
75893         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
75894         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
75895         Reported by Sam Steingold <sds@gnu.org>.
75897 2009-08-10  Bruno Haible  <bruno@clisp.org>
75899         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
75900         * modules/ioctl (configure.ac): Likewise.
75902 2009-08-10  Bruno Haible  <bruno@clisp.org>
75904         Avoid collision between gnulib wrapper and libintl wrapper.
75905         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
75906         already defined in intl/printf.c.
75907         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
75908         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
75910 2009-08-09  Bruno Haible  <bruno@clisp.org>
75912         Make <sys/select.h> really self-contained, also on Solaris 10.
75913         * lib/sys_select.in.h: Include <string.h>.
75914         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
75915         Solaris 10 problem.
75916         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
75917         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
75918         Reported by Jim Meyering.
75920 2009-08-09  Bruno Haible  <bruno@clisp.org>
75922         Avoid warnings from 'aclocal' that are due to a use of macro name
75923         AM_XGETTEXT_OPTION that is not defined in automake.
75924         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
75925         automake.
75926         * modules/error (configure.ac): Likewise.
75927         * modules/propername (configure.ac): Likewise.
75928         * modules/vasprintf (configure.ac): Likewise.
75929         * modules/verror (configure.ac): Likewise.
75930         * modules/xprintf (configure.ac): Likewise.
75931         * modules/xvasprintf (configure.ac): Likewise.
75933 2009-08-08  Bruno Haible  <bruno@clisp.org>
75935         Avoid compilation error in C++ mode.
75936         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
75937         Reported by Sam Steingold <sds@gnu.org>.
75939 2009-08-08  Bruno Haible  <bruno@clisp.org>
75941         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
75942         for the various Unix platforms.
75943         * doc/posix-headers/limits.texi: Update platforms list regarding
75944         HOST_NAME_MAX.
75945         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75947 2009-08-07  Jim Meyering  <meyering@redhat.com>
75949         selinux-at: fix typo in a comment
75950         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
75951         Spotted by Paolo Bonzini.
75953         selinux-at: remove redundant m4 code, add documentation
75954         * modules/selinux-at (configure.ac): Remove redundant code.
75955         LIB_SELINUX is already set via the dependent module, selinux-h.
75956         (Include): Add quotes around selinux-at.h.
75957         * lib/selinux-at.h: Add documentation.
75958         Reported by Bruno Haible in
75959         http://marc.info/?l=gnulib-bug&m=124958988300749
75961 2009-08-07  Bruno Haible  <bruno@clisp.org>
75963         Avoid link error on MacOS X 10.3 and 10.4.
75964         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
75965         on non-ELF systems.
75966         * lib/argp-pv.c (argp_program_version): Likewise.
75967         Reported by Simon Josefsson.
75969 2009-08-07  Simon Josefsson  <simon@josefsson.org>
75971         * tests/test-version-etc.sh: Use $EXEEXT.
75973 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
75975         update-copyright: update documentation to point to maint.mk
75976         * build-aux/update-copyright: Here.
75978 2009-08-06  Jim Meyering  <meyering@redhat.com>
75980         maint.mk: support update-copyright-local
75981         * top/maint.mk (update-copyright-local): Define place-holder.
75982         (update-copyright): Depend on $(update-copyright-local).
75984 2009-08-06  Jim Meyering  <meyering@redhat.com>
75986         selinux-at: new module
75987         Initially written for coreutils, this module will soon be
75988         used by findutils, too.
75989         * MODULES.html.sh [Misc]: Add selinux-at.
75990         * lib/selinux-at.h: New file, from coreutils.
75991         * lib/selinux-at.c: Likewise.
75992         * modules/selinux-at: Likewise.
75993         (License): Change from LGPL to GPL, since it depends
75994         on the GPL'd openat module.
75996         doc: update README
75997         * README: Remove references to cogito.
75998         Remove cvs-repo-updating instructions from 2007.
75999         Don't imply that CVS is better if you have limited disk space.
76001 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
76003         update-copyright: support C-style comments
76004         * build-aux/update-copyright: Implement and document.
76005         * tests/test-update-copyright.sh: Test.
76007 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
76009         update-copyright: support omitted "(C)"
76010         * build-aux/update-copyright: Implement and document.  Also,
76011         allow variable whitespace before "(C)".
76012         * tests/test-update-copyright.sh: Test.
76014 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
76016         update-copyright: don't trip on non-FSF copyright statements
76017         * build-aux/update-copyright: Fix so that the first correctly
76018         formatted FSF copyright statement is recognized no matter what
76019         appears before it.  Update documentation.
76020         * tests/test-update-copyright.sh: Test that.
76022 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
76024         update-copyright: clean up code a little
76025         * build-aux/update-copyright: Append "_re" to the name of any
76026         variable holding a regular expression.
76027         Replace "old" and "new" with "stmt" in variable names.
76028         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
76029         handled correctly.
76030         Format code more consistently.
76032 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
76034         update-copyright-tests: improve portability
76035         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
76036         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
76038 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
76040         update-copyright: support @copyright{} and &copy;
76041         * build-aux/update-copyright: Implement and document.
76042         * tests/test-update-copyright.sh: Test.
76044 2009-08-04  Jim Meyering  <meyering@redhat.com>
76046         update-copyright-tests: correctly test EOL=\r\n handling
76047         * tests/test-update-copyright.sh: Put \r at the end of some lines
76048         for the dos-eol tests.  Based on a patch by Joel E. Denny.
76050         maint.mk: make update-copyright exclusion list more configurable
76051         * top/maint.mk (update-copyright): Default to excluding COPYING,
76052         but allow an override, in case someone does want to update that file.
76054         maint.mk: don't update copyright date in COPYING
76055         * top/maint.mk (update-copyright): Exclude COPYING.
76057         maint.mk: add a copyright-updating rule
76058         * top/maint.mk (update-copyright): New rule.
76059         Derived from coreutils/Makefile.am.
76061         update-copyright: rename some variables
76062         * build-aux/update-copyright: Rename a few variables for clarity.
76063         Tweak syntax.  List Joel E. Denny as coauthor.
76065 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
76067         update-copyright: fix bug for 2-digit last year and add tests
76068         * build-aux/update-copyright: Fix bug.
76069         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
76070         specified.
76071         * modules/update-copyright-tests: New
76072         * tests/test-update-copyright.sh: New.
76074 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
76076         update-copyright: handle leading tabs in line prefix
76077         * build-aux/update-copyright: Count leading tabs as 8 spaces
76078         when computing margin.  This helps with the formatting of
76079         ChangeLogs, for example.
76080         Fix documentation a little.
76082 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
76084         update-copyright: support EOL=\r\n
76085         * build-aux/update-copyright: Implement that.
76087 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
76089         update-copyright: automatically format copyright statements
76090         * build-aux/update-copyright: Implement that.
76091         Also, be a little more predictable and safer by always failing
76092         when the full copyright format is not perfectly recognized as an
76093         unbroken whole.  Discussed at
76094         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
76095         Rewrite documentation.
76097 2009-08-03  Bruno Haible  <bruno@clisp.org>
76099         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
76101 2009-08-02  Bruno Haible  <bruno@clisp.org>
76103         Tests for module 'uname'.
76104         * modules/uname-tests: New file.
76105         * tests/test-uname.c: New file.
76107         New module 'uname'.
76108         * lib/uname.c: New file.
76109         * m4/uname.m4: New file.
76110         * modules/uname: New file.
76111         * doc/posix-functions/uname.texi: Mention the new module.
76113 2009-08-02  Bruno Haible  <bruno@clisp.org>
76115         Tests for module 'sys_utsname'.
76116         * modules/sys_utsname-tests: New file.
76117         * tests/test-sys_utsname.c: New file.
76119         New module 'sys_utsname'.
76120         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
76121         * m4/sys_utsname_h.m4: New file.
76122         * modules/sys_utsname: New file.
76123         * doc/posix-headers/sys_utsname.texi: Mention the new module.
76125 2009-08-02  Bruno Haible  <bruno@clisp.org>
76127         Implicitly initialize the sockets library.
76128         * lib/gethostname.c: Include sockets.h.
76129         (rpl_gethostname): Invoke gl_sockets_startup.
76130         * lib/socket.c: Include sockets.h.
76131         (rpl_socket): Invoke gl_sockets_startup.
76132         * modules/gethostname (Depends-on): Add sockets.
76133         * modules/socket (Depends-on): Likewise.
76134         * tests/test-poll.c: Don't include sockets.h.
76135         (main): Don't invoke gl_sockets_startup.
76136         * tests/test-select.c: Don't include sockets.h.
76137         (main): Don't invoke gl_sockets_startup.
76139 2009-08-02  Bruno Haible  <bruno@clisp.org>
76141         Allow multiple calls to gl_sockets_startup.
76142         * lib/sockets.c (initialized_sockets_version): New variable.
76143         (gl_sockets_startup): Do nothing if already called for this or a higher
76144         version.
76145         (gl_sockets_cleanup): Reset initialized_sockets_version.
76147 2009-08-03  Simon Josefsson  <simon@josefsson.org>
76149         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
76150         different project/version.
76152 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
76153             Bruno Haible  <bruno@clisp.org>
76155         Tests for module 'pipe-filter-gi'.
76156         * modules/pipe-filter-gi-tests: New file.
76157         * tests/test-pipe-filter-gi1.sh: New file.
76158         * tests/test-pipe-filter-gi1.c: New file.
76159         * tests/test-pipe-filter-gi2.sh: New file.
76160         * tests/test-pipe-filter-gi2-main.c: New file.
76161         * tests/test-pipe-filter-gi2-child.c: New file.
76163         New module 'pipe-filter-gi'.
76164         * lib/pipe-filter-gi.c: New file.
76165         * modules/pipe-filter-gi: New file.
76167 2009-08-02  Bruno Haible  <bruno@clisp.org>
76168             Paolo Bonzini  <bonzini@gnu.org>
76170         Tests for module 'pipe-filter-ii'.
76171         * modules/pipe-filter-ii-tests: New file.
76172         * tests/test-pipe-filter-ii1.sh: New file.
76173         * tests/test-pipe-filter-ii1.c: New file.
76174         * tests/test-pipe-filter-ii2.sh: New file.
76175         * tests/test-pipe-filter-ii2-main.c: New file.
76176         * tests/test-pipe-filter-ii2-child.c: New file.
76178         New module 'pipe-filter-ii'.
76179         * lib/pipe-filter.h: New file.
76180         * lib/pipe-filter-ii.c: New file.
76181         * lib/pipe-filter-aux.h: New file.
76182         * modules/pipe-filter-ii: New file.
76184 2009-08-02  Simon Josefsson  <simon@josefsson.org>
76186         * lib/gc-libgcrypt.c: Change copyright to FSF.
76187         * lib/gc-gnulib.c: Likewise.
76189 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
76191         * lib/gethostname.c: Include limits.h.
76193 2009-08-02  Simon Josefsson  <simon@josefsson.org>
76194             Bruno Haible  <bruno@clisp.org>
76196         Ensure HOST_NAME_MAX as part of the gethostname module.
76197         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
76198         define also HOST_NAME_MAX.
76199         * tests/test-gethostname.c: Include <limits.h>.
76200         (main): Check also HOST_NAME_MAX.
76201         * doc/posix-headers/limits.texi: Document the mingw problem.
76203 2009-08-02  Bruno Haible  <bruno@clisp.org>
76205         * lib/gethostname.c (gethostname): Fix handling of large len argument.
76206         Add comments.
76208 2009-03-31  Simon Josefsson  <simon@josefsson.org>
76210         * lib/gethostname.c: Add Windows wrapper.
76211         * m4/gethostname.m4: Look for gethostname in -lws2_32.
76212         * modules/gethostname: Depend on sys_socket & errno, for also
76213         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
76214         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
76216 2009-07-31  Jim Meyering  <meyering@redhat.com>
76218         getloadavg: fix symbol name in comment
76219         * lib/getloadavg.c: Correct a typo I introduced when adding
76220         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
76221         Matt Kraai spotted the problem.
76223 2009-07-29  Matt Kraai  <mkraai@beckman.com>
76225         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
76226         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
76227         code also if ! defined N_NAME_POINTER.
76228         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
76229         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
76230         but the n_name member is a 12-byte array.
76232 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
76234         update-copyright: generalize comment handling
76235         * build-aux/update-copyright: Handle copyright statements
76236         within more comment styles.
76237         Document usage.
76238         Report any file with an external copyright holder or parse failure.
76240 2009-07-29  Jim Meyering  <meyering@redhat.com>
76242         mktime: correct setting of REPLACE_MKTIME
76243         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
76245         update-copyright: new module
76246         * modules/update-copyright: New file.
76247         * build-aux/update-copyright: New file.
76248         * MODULES.html.sh (maint+release support): Add update-copyright.
76250 2009-07-27  Bruno Haible  <bruno@clisp.org>
76252         Fix compilation error when <ctime> is used and mktime is replaced.
76253         * lib/time.in.h (mktime): New declaration.
76254         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
76255         REPLACE_MKTIME instead of defining mktime in config.h.
76256         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
76257         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
76258         Reported by Ross McFarland <rwmcfa1@neces.com>.
76260 2009-07-27  Bruno Haible  <bruno@clisp.org>
76262         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
76263         Reported by Matt Kraai <mkraai@beckman.com>.
76265 2009-07-25  Jim Meyering  <meyering@redhat.com>
76267         maint.mk: avoid warnings about missing files
76268         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
76269         diagnostic when .prev-version does not exist.
76270         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
76271         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
76272         nonexistent cfg.mk.
76273         Suggestions from Simon Josefsson.
76275 2009-07-25  Bruno Haible  <bruno@clisp.org>
76277         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
76278         defined as macros. Needed on QNX 6.4.1.
76279         Reported by Matt Kraai <mkraai@beckman.com>.
76281 2009-07-23  Jim Meyering  <meyering@redhat.com>
76283         maint.mk: invoke "make dist" with a working value of XZ_OPT
76284         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
76286 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
76288         Make fseeko.c compile on QNX.
76289         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
76291 2009-07-22  Peter Simons  <simons@cryp.to>
76293         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
76294         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
76295         * lib/md4.h: Likewise.
76296         * lib/md5.h: Likewise.
76297         * lib/sha1.h: Likewise.
76298         * lib/sha256.h: Likewise.
76299         * lib/sha512.h: Likewise.
76301         tests-sha1: don't assign literal string to 'char *' variable
76302         * tests/test-sha1.c (main): Declare locals with "const" to match
76303         attributes of the right hand side.
76305 2009-07-21  Eric Blake  <ebb9@byu.net>
76307         dup2: fix more mingw problems
76308         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
76309         fd to itself.
76310         * doc/posix-functions/dup2.texi (dup2): Document the bug.
76311         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
76312         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
76313         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
76314         care of mingw bugs.
76316 2009-07-21  Jim Meyering  <meyering@redhat.com>
76318         vc-list-files: avoid failure when /bin/sh is dash
76319         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
76320         On some Debian based systems, /bin/sh is a symlink to dash, and running
76321         this command would omit the "/" following each 'tests' prefix:
76322           dash -x build-aux/vc-list-files -C . tests
76323         That is because bash and dash work differently:
76324           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
76325           bash ok
76326           dash odd
76328 2009-07-21  Eric Blake  <ebb9@byu.net>
76330         dup2-tests: test previous patch
76331         * modules/dup2-tests: New file.
76332         * tests/test-dup2.c: Likewise.
76333         * tests/test-open.c (main): Avoid unspecified behavior.
76334         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
76335         test.
76337         dup2: work around mingw and cygwin 1.5 bug
76338         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
76339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
76340         * modules/unistd (Makefile.am): Substitute it.
76341         * lib/unistd.in.h (dup2): Declare the replacement.
76342         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
76343         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
76344         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
76345         * modules/execute (Depends-on): Add dup2.
76346         * modules/fseterr (Depends-on): Likewise.
76347         * modules/pipe (Depends-on): Likewise.
76348         * modules/posix_spawn-internal (Depends-on): Likewise.
76350 2009-07-21  Bruno Haible  <bruno@clisp.org>
76352         * modules/.gitattributes: New file.
76354 2009-07-20  Bruno Haible  <bruno@clisp.org>
76356         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
76357         (main): Use it.
76359 2009-07-20  Eric Blake  <ebb9@byu.net>
76361         test-pipe: make a bit more robust.
76362         * tests/test-pipe.c (myerr): Allow error messages regardless of
76363         what we do to stderr.
76364         (test_pipe): Rearrange to avoid deadlock.
76365         (child_main): Try a larger read, to ensure we avoided deadlock.
76366         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
76367         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
76368         if misused.
76370 2009-07-19  Jim Meyering  <meyering@redhat.com>
76372         fts: avoid false-positive cycle-detection
76373         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
76374         for each new command line argument.
76376 2009-07-19  Bruno Haible  <bruno@clisp.org>
76378         Fix build error on mingw with the modules sys_select and unistd.
76379         * modules/acl-tests (Depends-on): Add close.
76380         * modules/binary-io-tests (Depends-on): Likewise.
76381         * modules/closein-tests (Depends-on): Likewise.
76382         * modules/flock-tests (Depends-on): Likewise.
76383         * modules/fsync-tests (Depends-on): Likewise.
76384         * modules/lseek-tests (Depends-on): Likewise.
76385         * modules/pipe-tests (Depends-on): Likewise.
76386         * modules/posix_spawn-tests (Depends-on): Likewise.
76387         * modules/posix_spawnp-tests (Depends-on): Likewise.
76388         * modules/stat-time-tests (Depends-on): Likewise.
76389         * modules/yesno-tests (Depends-on): Likewise.
76391 2009-07-19  Bruno Haible  <bruno@clisp.org>
76393         Unify conditionals.
76394         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
76395         macros, not at the compiler macros.
76396         * lib/pipe.c: Likewise.
76397         * lib/execute.c: Likewise.
76398         * lib/spawni.c: Likewise.
76400 2009-07-19  Bruno Haible  <bruno@clisp.org>
76402         Fix handling of closed stdin/stdout/stderr on mingw.
76403         * lib/w32spawn.h: Include unistd.h.
76404         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
76405         file descriptor with O_NOINHERIT flag.
76406         (fd_safer_noinherit): New function, based on fd-safer.c.
76407         (dup_safer_noinherit): New function, based on dup-safer.c.
76408         (undup_safer_noinherit): New function.
76409         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
76410         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
76411         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
76412         instead of fd_safer.
76413         * tests/test-pipe.c: Include <windows.h>.
76414         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
76415         result.
76417         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
76418         from main.
76419         (test_pipe): Pass an extra argument for disambiguation.
76420         (main): Invoke parent_main or child_main.
76422         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
76423         consistently.
76425 2009-07-18  Eric Blake  <ebb9@byu.net>
76427         test-pipe: fix mingw build
76428         * tests/test-pipe.c (main): Avoid fcntl on mingw.
76430 2009-07-18  Bruno Haible  <bruno@clisp.org>
76432         * modules/pipe-tests (Makefile.am): Fix typo.
76434 2009-07-18  Eric Blake  <ebb9@byu.net>
76436         error: fix mingw build
76437         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
76438         Reported by Bruno Haible.
76440         error: avoid undefined use of stdout
76441         * lib/error.c (error, error_at_line): Check that fd 1 is open
76442         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
76443         is handling faults and the close_stdout module wants to report the
76444         detection of closed stdout as an error.
76446 2009-07-17  Eric Blake  <ebb9@byu.net>
76448         pipe: be robust in face of closed fds
76449         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
76450         should cause child to misbehave.
76451         * modules/pipe-tests: New module.
76452         * tests/test-pipe.c: New file.
76453         * tests/test-pipe.sh: New file.
76454         Reported by Akim Demaille.
76456 2009-07-14  Bruno Haible  <bruno@clisp.org>
76458         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
76459         Reported by anonymous kc.
76461 2009-07-07  Jim Meyering  <meyering@redhat.com>
76463         maint.mk: don't look for translatable strings in *.m4 or *.mk
76464         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
76465         when searching for translatable strings.
76467 2009-07-05  Jim Meyering  <meyering@redhat.com>
76469         remove superfluous parentheses in STREQ definition
76470         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
76471         * lib/getugroups.c (STREQ): Likewise.
76472         * lib/fnmatch.c (STREQ): Likewise.
76473         Spotted by Bruno Haible.
76475 2009-07-04  Jim Meyering  <meyering@redhat.com>
76477         argv-iter: new module
76478         * MODULES.html.sh: Add argv-iter.
76479         * lib/argv-iter.c, lib/argv-iter.h: New files.
76480         * modules/argv-iter: New file.
76481         * modules/argv-iter-tests: New file.
76482         * tests/test-argv-iter.c: Test it.
76484 2009-07-04  Bruno Haible  <bruno@clisp.org>
76486         Fix assertion.
76487         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
76488         contains more exact copies of a given entry than file2, leave the extra
76489         copies unpaired rather than aborting.
76490         Reported by Eric Blake.
76492 2009-07-02  Bruno Haible  <bruno@clisp.org>
76494         Speedup git-merge-changelog for git cherry-pick.
76495         * lib/git-merge-changelog.c (struct entries_mapping): New type.
76496         (entries_mapping_get): New function, extracted from compute_mapping.
76497         (entries_mapping_reverse_get): New function.
76498         (compute_mapping): Add a 'full' argument. Return the result in a
76499         'struct entries_mapping'.
76500         (main): Update. Access the mappings through entries_mapping_get.
76501         Reported by Eric Blake.
76503 2009-07-02  Bruno Haible  <bruno@clisp.org>
76505         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
76506         best_i.
76508 2009-07-02  Bruno Haible  <bruno@clisp.org>
76510         Speed up approximate search for matching ChangeLog entries.
76511         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
76512         argument. Call fstrcmp_bounded instead of fstrcmp.
76513         (compute_mapping, try_split_merged_entry, main): Update callers.
76515 2009-07-02  Bruno Haible  <bruno@clisp.org>
76517         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
76519 2009-06-30  Bruno Haible  <bruno@clisp.org>
76521         Reduce the number of uc_is_cased calls.
76522         * lib/unicase.h (casing_suffix_context_t): Add
76523         'first_char_except_ignorable' field.
76524         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
76525         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
76526         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
76527         Update initializer.
76528         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
76529         case-ignorable characters.
76530         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
76531         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
76532         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
76533         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
76534         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
76536 2009-06-30  Bruno Haible  <bruno@clisp.org>
76538         Tests for module 'unicase/ignorable'.
76539         * modules/unicase/ignorable-tests: New file.
76540         * tests/unicase/test-ignorable.c: New file, generated by
76541         gen-uni-tables.
76543         Tests for module 'unicase/cased'.
76544         * modules/unicase/cased-tests: New file.
76545         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
76546         * tests/unicase/test-predicate-part1.h: New file, derived from
76547         tests/unictype/test-predicate-part1.h.
76548         * tests/unicase/test-predicate-part2.h: New file, same as
76549         tests/unictype/test-predicate-part2.h.
76551         Fix evaluation of "Before C" condition of FINAL_SIGMA.
76552         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
76553         (output_casing_properties): New function.
76554         (main): Call it.
76555         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
76556         * lib/unicase/cased.c: Include unictype/bitmap.h.
76557         (uc_is_cased): Define through a bitmap lookup.
76558         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
76559         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
76560         (uc_is_case_ignorable): Define through a bitmap lookup.
76561         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
76562         lib/unictype/bitmap.h.
76563         (Depends-on): Add inline. Clean up.
76564         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
76565         lib/unictype/bitmap.h.
76566         (Depends-on): Add inline. Clean up.
76567         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
76568         recognition.
76569         * tests/unicase/test-u16-tolower.c (main): Likewise.
76570         * tests/unicase/test-u32-tolower.c (main): Likewise.
76572 2009-06-30  Bruno Haible  <bruno@clisp.org>
76574         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
76575         * lib/unicase/u16-casemap.c: Likewise.
76576         * lib/unicase/u32-casemap.c: Likewise.
76578 2009-06-29  Bruno Haible  <bruno@clisp.org>
76580         Define u32_casefold as a wrapper around u32_ct_casefold.
76581         * lib/unicase/u32-casefold.c: Update.
76582         * modules/unicase/u32-casefold (Depends-on): Add
76583         unicase/u32-ct-casefold, unicase/empty-prefix-context,
76584         unicase/empty-suffix-context. Clean up.
76586         Define u16_casefold as a wrapper around u16_ct_casefold.
76587         * lib/unicase/u16-casefold.c: Update.
76588         * modules/unicase/u16-casefold (Depends-on): Add
76589         unicase/u16-ct-casefold, unicase/empty-prefix-context,
76590         unicase/empty-suffix-context. Clean up.
76592         Define u8_casefold as a wrapper around u8_ct_casefold.
76593         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
76594         * lib/unicase/u8-casefold.c: Update.
76595         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
76596         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
76598         Define u32_totitle as a wrapper around u32_ct_totitle.
76599         * lib/unicase/u32-totitle.c: Update.
76600         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
76601         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
76603         Define u16_totitle as a wrapper around u16_ct_totitle.
76604         * lib/unicase/u16-totitle.c: Update.
76605         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
76606         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
76608         Define u8_totitle as a wrapper around u8_ct_totitle.
76609         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
76610         functions.
76611         (FUNC): Delegate to U_CT_TOTITLE.
76612         * lib/unicase/u8-totitle.c: Update.
76613         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
76614         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
76616         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
76617         invocation.
76618         * modules/unicase/u32-tolower (Depends-on): Add
76619         unicase/empty-prefix-context, unicase/empty-suffix-context.
76621         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
76622         invocation.
76623         * modules/unicase/u16-tolower (Depends-on): Add
76624         unicase/empty-prefix-context, unicase/empty-suffix-context.
76626         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
76627         * modules/unicase/u8-tolower (Depends-on): Add
76628         unicase/empty-prefix-context, unicase/empty-suffix-context.
76630         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
76631         invocation.
76632         * modules/unicase/u32-toupper (Depends-on): Add
76633         unicase/empty-prefix-context, unicase/empty-suffix-context.
76635         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
76636         invocation.
76637         * modules/unicase/u16-toupper (Depends-on): Add
76638         unicase/empty-prefix-context, unicase/empty-suffix-context.
76640         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
76641         * modules/unicase/u8-toupper (Depends-on): Add
76642         unicase/empty-prefix-context, unicase/empty-suffix-context.
76644         New module 'unicase/u32-ct-casefold'.
76645         * lib/unicase/u32-ct-casefold.c: New file.
76646         * modules/unicase/u32-ct-casefold: New file.
76648         New module 'unicase/u16-ct-casefold'.
76649         * lib/unicase/u16-ct-casefold.c: New file.
76650         * modules/unicase/u16-ct-casefold: New file.
76652         New module 'unicase/u8-ct-casefold'.
76653         * lib/unicase/u8-ct-casefold.c: New file.
76654         * lib/unicase/u-ct-casefold.h: New file, derived from
76655         lib/unicase/u-casefold.h.
76656         * modules/unicase/u8-ct-casefold: New file.
76658         New module 'unicase/u32-ct-totitle'.
76659         * lib/unicase/u32-ct-totitle.c: New file.
76660         * modules/unicase/u32-ct-totitle: New file.
76662         New module 'unicase/u16-ct-totitle'.
76663         * lib/unicase/u16-ct-totitle.c: New file.
76664         * modules/unicase/u16-ct-totitle: New file.
76666         New module 'unicase/u8-ct-totitle'.
76667         * lib/unicase/u8-ct-totitle.c: New file.
76668         * lib/unicase/u-ct-totitle.h: New file, derived from
76669         lib/unicase/u-totitle.h.
76670         * modules/unicase/u8-ct-totitle: New file.
76672         New module 'unicase/u32-ct-tolower'.
76673         * lib/unicase/u32-ct-tolower.c: New file.
76674         * modules/unicase/u32-ct-tolower: New file.
76676         New module 'unicase/u16-ct-tolower'.
76677         * lib/unicase/u16-ct-tolower.c: New file.
76678         * modules/unicase/u16-ct-tolower: New file.
76680         New module 'unicase/u8-ct-tolower'.
76681         * lib/unicase/u8-ct-tolower.c: New file.
76682         * modules/unicase/u8-ct-tolower: New file.
76684         New module 'unicase/u32-ct-toupper'.
76685         * lib/unicase/u32-ct-toupper.c: New file.
76686         * modules/unicase/u32-ct-toupper: New file.
76688         New module 'unicase/u16-ct-toupper'.
76689         * lib/unicase/u16-ct-toupper.c: New file.
76690         * modules/unicase/u16-ct-toupper: New file.
76692         New module 'unicase/u8-ct-toupper'.
76693         * lib/unicase/u8-ct-toupper.c: New file.
76694         * modules/unicase/u8-ct-toupper: New file.
76696         Add context arguments to u*_casemap functions.
76697         * lib/unicase/unicasemap.h: Include unicase.h.
76698         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
76699         suffix_context arguments.
76700         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
76701         functions.
76702         (FUNC): Add prefix_context and suffix_context arguments. Use
76703         uc_is_cased and uc_is_case_ignorable.
76704         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
76705         * lib/unicase/u16-casemap.c: Likewise.
76706         * lib/unicase/u32-casemap.c: Likewise.
76707         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
76708         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
76709         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
76710         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
76711         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
76712         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
76714         New module 'unicase/u32-suffix-context'.
76715         * lib/unicase/u32-suffix-context.c: New file.
76716         * modules/unicase/u32-suffix-context: New file.
76718         New module 'unicase/u16-suffix-context'.
76719         * lib/unicase/u16-suffix-context.c: New file.
76720         * modules/unicase/u16-suffix-context: New file.
76722         New module 'unicase/u8-suffix-context'.
76723         * lib/unicase/u8-suffix-context.c: New file.
76724         * lib/unicase/u-suffix-context.h: New file.
76725         * modules/unicase/u8-suffix-context: New file.
76727         New module 'unicase/empty-suffix-context'.
76728         * lib/unicase/empty-suffix-context.c: New file.
76729         * modules/unicase/empty-suffix-context: New file.
76731         New module 'unicase/u32-prefix-context'.
76732         * lib/unicase/u32-prefix-context.c: New file.
76733         * modules/unicase/u32-prefix-context: New file.
76735         New module 'unicase/u16-prefix-context'.
76736         * lib/unicase/u16-prefix-context.c: New file.
76737         * modules/unicase/u16-prefix-context: New file.
76739         New module 'unicase/u8-prefix-context'.
76740         * lib/unicase/u8-prefix-context.c: New file.
76741         * lib/unicase/u-prefix-context.h: New file.
76742         * lib/unicase/context.h: New file.
76743         * modules/unicase/u8-prefix-context: New file.
76745         New module 'unicase/empty-prefix-context'.
76746         * lib/unicase/empty-prefix-context.c: New file.
76747         * modules/unicase/empty-prefix-context: New file.
76749         New module 'unicase/ignorable'.
76750         * lib/unicase/ignorable.c: New file.
76751         * modules/unicase/ignorable: New file.
76753         New module 'unicase/cased'.
76754         * lib/unicase/caseprop.h: New file.
76755         * lib/unicase/cased.c: New file.
76756         * modules/unicase/cased: New file.
76758         New functions for case mapping of substrings.
76759         * lib/unicase.h (casing_prefix_context_t): New type.
76760         (unicase_empty_prefix_context): New variable.
76761         (u8_casing_prefix_context, u16_casing_prefix_context,
76762         u32_casing_prefix_context, u8_casing_prefixes_context,
76763         u16_casing_prefixes_context, u32_casing_prefixes_context): New
76764         declarations.
76765         (casing_suffix_context_t): New type.
76766         (unicase_empty_suffix_context): New variable.
76767         (u8_casing_suffix_context, u16_casing_suffix_context,
76768         u32_casing_suffix_context, u8_casing_suffixes_context,
76769         u16_casing_suffixes_context, u32_casing_suffixes_context,
76770         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
76771         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
76772         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
76773         declarations.
76775 2009-06-28  Jim Meyering  <meyering@redhat.com>
76777         boostrap: indent only with spaces
76778         * build-aux/bootstrap: Indent only with spaces, never TABs.
76780         bootstrap: split long lines
76781         * build-aux/bootstrap: Keep line length < 80.
76783         bootstrap: sync from coreutils
76784         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
76785         just as autoreconf does.  Verify a list of prerequisite
76786         package-name,version-number pairs if defined in bootstrap.conf.
76787         Refer to README-prereq, if prerequisites are not satisfied.
76789 2009-06-27  Eric Blake  <ebb9@byu.net>
76791         tests: add test for bogus NULL definition
76792         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
76793         * tests/test-stdlib.c: Likewise.
76794         * tests/test-string.c: Likewise.
76795         * tests/test-locale.c: Likewise.
76796         * tests/test-unistd.c: Likewise.
76797         * modules/stdio-tests (Depends-on): Add verify.
76798         * modules/stdlib-tests (Depends-on): Likewise.
76799         * modules/string-tests (Depends-on): Likewise.
76800         * modules/locale-tests (Depends-on): Likewise.
76801         * modules/unistd-tests (Depends-on): Likewise.
76803 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
76805         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
76806         self-explaining comment.
76807         * m4/selinux-selinux-h: Update serial.
76808         (gl_LIBSELINUX): New macro, adding a warning for missing development
76809         packages to code extracted from...
76810         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
76811         Add warning for missing development packages here, too.
76813 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
76815         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
76817 2009-06-25  Eric Blake  <ebb9@byu.net>
76819         version-etc: fix regression
76820         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
76821         gcc.
76822         (version_etc): Use it, to catch bugs with trailing NULL.
76823         * lib/version-etc.c (version_etc_arn): Delete unused argument.
76824         (version_etc_va): Fix logic bug.
76825         * modules/version-etc-tests: Add test.
76826         * tests/test-version-etc.c: New file.
76827         * tests/test-version-etc.sh: Likewise.
76829 2009-06-25  Sam Steingold  <sds@gnu.org>
76831         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
76832         mbtowc declaration.
76834 2009-06-25  Eric Blake  <ebb9@byu.net>
76836         fpurge: migrate into <stdio.h>
76837         * lib/fpurge.h: Delete...
76838         * lib/stdio.in.h (fpurge): ...and declare here, instead.
76839         * lib/fpurge.c (fpurge): Change declaring header.
76840         * modules/fpurge (Files): Drop deleted file.
76841         (Depends-on): Add stdio.
76842         (configure.ac): Set witness.
76843         * modules/stdio (Makefile.am): Support fpurge macros.
76844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76845         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
76846         * lib/fflush.c: Update client.
76847         * tests/test-fpurge.c: Likewise.
76848         * NEWS: Mention the change.
76850 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76852         * lib/argp-version-etc.c (program_authors): Add const
76853         qualifier.
76854         * lib/version-etc.c: Fix typos in the comments.
76855         * modules/argp-version-etc: Depends on version-etc.
76857 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76859         argp-version-etc: new module.
76861         * lib/argp-version-etc.c: New file.
76862         * lib/argp-version-etc.h: New file.
76863         * modules/argp-version-etc: New file.
76864         * modules/argp-version-etc-tests: New file.
76865         * tests/test-argp-version-etc.c: New test.
76866         * tests/test-argp-version-etc-1.sh: New test.
76868 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76870         Provide additional interfaces and documentation for version-etc
76871         module.
76873         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
76874         interfaces.
76875         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
76876         prototypes.
76878 2009-06-24  Bruno Haible  <bruno@clisp.org>
76880         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
76881         HAVE_LIB${NAME} macro.
76882         Reported by Sam Steingold <sds@gnu.org>.
76884 2009-06-23  Simon Josefsson  <simon@josefsson.org>
76886         * modules/hash-tests (test_hash_LDADD): Link to libintl when
76887         needed.
76889 2009-06-21  Bruno Haible  <bruno@clisp.org>
76891         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
76892         work.
76893         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
76894         together with LIB${NAME}, LTLIB${NAME}.
76895         Reported by Sam Steingold <sds@gnu.org>.
76897 2009-06-20  Jim Meyering  <meyering@redhat.com>
76899         tests: make sc_require_test_exit_idiom more generic
76900         * top/maint.mk (Exit_witness_file): New overridable variable.
76901         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
76902         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
76904 2009-06-19  Jim Meyering  <meyering@redhat.com>
76906         hash: reverse order of src/dst parameters in an internal interface
76907         * lib/hash.c (transfer_entries): Reverse order of parameters to
76908         put DST before SRC.  Adjust callers.
76910         tests: test-hash: avoid wholesale duplication
76911         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
76912         Instead, use a loop and add a single conditional.
76914         tests: test-hash: allow seed selection via a command line argument
76915         * tests/test-hash.c (get_seed): New function.
76916         (main): Use it.
76918 2009-06-19  Eric Blake  <ebb9@byu.net>
76920         hash: avoid memory leak on allocation failure
76921         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
76922         failure.  Factor repeated algorithm...
76923         (transfer_entries): ...into new helper routine.
76924         (hash_delete): React to hash_rehash return value.
76926         hash: reduce memory pressure in hash_rehash no-op case
76927         * lib/hash.c (next_prime): Avoid overflow.
76928         (hash_initialize): Factor bucket size computation...
76929         (compute_bucket_size): ...into new helper function.
76930         (hash_rehash): Use new function and open coding to reduce memory
76931         pressure, and avoid a memory leak in USE_OBSTACK code.
76932         Reported by Jim Meyering.
76934 2009-06-18  Eric Blake  <ebb9@byu.net>
76936         hash: make rotation more obvious
76937         * modules/hash (Depends-on): Add bitrotate and stdint.
76938         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
76939         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
76940         (SIZE_MAX): Rely on headers for definition.
76941         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
76942         (raw_hasher): Use rotr_sz.
76943         Suggested by Jim Meyering.
76945         hash: fix memory leak in last patch
76946         * lib/hash.c (hash_rehash): Avoid memory leak.
76948         hash: avoid no-op rehashing
76949         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
76951         hash: provide default callback functions
76952         * lib/hash.c (raw_hasher, raw_comparator): New functions.
76953         (hash_initialize): Use them as defaults.
76954         * tests/test-hash.c (main): Test this.
76956         hash: minor optimization
76957         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
76958         when possible.
76959         (hash_initialize): Document this promise.
76960         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
76961         * tests/test-hash.c (hash_compare_strings): Test this.
76963 2009-06-18  Bruno Haible  <bruno@clisp.org>
76965         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
76966         going to be replaced anyway.
76968 2009-06-18  Bruno Haible  <bruno@clisp.org>
76970         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
76971         in one place.
76972         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
76973         be replaced anyway.
76975 2009-06-18  Eric Blake  <ebb9@byu.net>
76977         hash: check for resize before insertion
76978         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
76979         threshold before insertion, so that a pathological hash_rehash
76980         that fills every bucket can still trigger another rehash.
76982 2009-06-18  Jim Meyering  <meyering@redhat.com>
76984         hash-tests: add a loop around the small tests
76985         * tests/test-hash.c (main): Repeat small tests with selected
76986         small initial table sizes.
76988 2009-06-17  Eric Blake  <ebb9@byu.net>
76990         hash: minor cleanups
76991         * lib/hash.h (hash_entry): Make opaque, by moving...
76992         * lib/hash.c (hash_entry): ...here.
76993         (hash_insert): Clarify restrictions on what can be inserted.
76994         (hash_get_next): Clarify when it is safe to remove an element
76995         during traversal.
76996         (check_tuning): Skip verification when tuning is known safe.
76997         (hash_initialize): Clarify restrictions on tuning.
76999 2009-06-17  Jim Meyering  <jim@meyering.net>
77000         and Eric Blake  <ebb9@byu.net>
77002         hash-tests: new module
77003         * modules/hash-tests: New file.
77004         * tests/test-hash.c: New file.
77006 2009-06-17  Eric Blake  <ebb9@byu.net>
77008         strstr-simple: document new module
77009         * MODULES.html.sh: Document new module.
77011         strstr, strcasestr: replace on platforms with broken memchr
77012         * modules/strstr: Split into...
77013         * modules/strstr-simple: ...new module that does not care about
77014         performance, but does care about glibc bug.
77015         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
77016         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
77017         if platform memchr is broken, per Debian bug 521737.
77018         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
77019         memchr.
77020         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
77021         * doc/posix-functions/strstr.texi (strstr): Document the fix.
77022         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77023         * modules/mountlist (Depends-on): Add strstr-simple.
77024         * modules/gen-uni-tables (Depends-on): Likewise.
77025         * modules/argz (Depends-on): Add strstr.
77027 2009-06-17  Bruno Haible  <bruno@clisp.org>
77029         * modules/posix_spawn-internal (Depends-on): Add errno.
77031 2009-06-17  Bruno Haible  <bruno@clisp.org>
77033         Define missing ESTALE on Interix 3.5.
77034         * lib/errno.in.h (ESTALE): Assign a value if missing.
77035         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
77036         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
77037         missing.
77038         * doc/posix-headers/errno.texi: Mention the Interix bug.
77039         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
77041 2009-06-15  Eric Blake  <ebb9@byu.net>
77043         memchr, memchr2: add valgrind exception
77044         * lib/memchr.valgrind: New file.
77045         * lib/memchr2.valgrind: New file.
77046         * modules/memchr (Files): Distribute valgrind file.
77047         * modules/memchr2 (Files): Likewise.
77049         docs: memchr is no longer obsolete
77050         * MODULES.html.sh: Move memchr from obsolete to string.h section.
77051         * lib/string.in.h (memchr): Simplify logic.
77053 2009-06-14  Jim Meyering  <meyering@redhat.com>
77055         link-follow: fix the "checking..." message to not mention trailing slash
77056         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
77057         never considered trailing slashes.
77059 2009-06-14  Bruno Haible  <bruno@clisp.org>
77061         * m4/memchr.m4: Mention also the bug on IA-64.
77062         * doc/posix-functions/memchr.texi: Likewise.
77064 2009-06-12  Eric Blake  <ebb9@byu.net>
77066         memchr: detect broken x86_64 and alpha implementations
77067         * modules/memchr-tests (Depends-on): Move mmap detection...
77068         * modules/memchr (Depends-on): ...here.
77069         (configure.ac): Set indicator.
77070         * lib/string.in.h (memchr): Declare replacement.
77071         * modules/string (Makefile.am): Trigger replacement.
77072         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
77073         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
77074         bugs.
77075         * doc/posix-functions/memchr.texi (memchr): Document the bug.
77076         * modules/getpagesize (License): Relax license.
77078 2009-06-11  Bruno Haible  <bruno@clisp.org>
77080         * lib/idpriv.h: Add more references.
77082 2009-06-08  Bruno Haible  <bruno@clisp.org>
77084         Tests for module 'idpriv-droptemp'.
77085         * modules/idpriv-droptemp-tests: New file.
77086         * tests/test-idpriv-droptemp.sh: New file.
77087         * tests/test-idpriv-droptemp.su.sh: New file.
77088         * tests/test-idpriv-droptemp.c: New file.
77090         New module 'idpriv-droptemp'.
77091         * lib/idpriv-droptemp.c: New file.
77092         * modules/idpriv-droptemp: New file.
77094 2009-06-08  Bruno Haible  <bruno@clisp.org>
77096         Tests for module 'idpriv-drop'.
77097         * modules/idpriv-drop-tests: New file.
77098         * tests/test-idpriv-drop.sh: New file.
77099         * tests/test-idpriv-drop.su.sh: New file.
77100         * tests/test-idpriv-drop.c: New file.
77102         New module 'idpriv-drop'.
77103         * lib/idpriv.h: New file.
77104         * lib-idpriv-drop.c: New file.
77105         * m4/idpriv.m4: New file.
77106         * modules/idpriv-drop: New file.
77108 2009-06-08  Bruno Haible  <bruno@clisp.org>
77110         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
77111         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
77112         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
77113         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
77114         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
77115         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
77116         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
77118 2009-06-08  Eric Blake  <ebb9@byu.net>
77120         test-strstr: use memory fence, when possible
77121         * tests/test-strstr.c (main): Use memory fence, in order to be
77122         more likely to trigger Debian bug 521737.
77123         * modules/strstr-tests (Files): Pull in additional files.
77125         memchr: no longer obsolete, for wider field testing
77126         * modules/memchr (Status, Notice): Delete, this module is no
77127         longer obsolete.
77128         * modules/vasnprintf (Depends-on): Add memchr.
77130 2009-06-07  Jim Meyering  <meyering@redhat.com>
77132         hash: declare some functions with the warn_unused_result attribute
77133         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
77135 2009-06-07  Bruno Haible  <bruno@clisp.org>
77137         * tests/test-alignof.c: Don't test int64_t if it does not exist.
77138         Reported by Eric Blake.
77140 2009-06-06  Eric Blake  <ebb9@byu.net>
77142         test-alignof: fix typo with long double
77143         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
77144         compiler error.
77146 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
77148         Escape non-texinfo { and }s.
77149         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
77150         markup error.
77152 2009-06-04  Jim Meyering  <meyering@redhat.com>
77154         gitlog-to-changelog: don't infloop on an empty commit log
77155         * build-aux/gitlog-to-changelog: Warn about an empty log message.
77156         Reported by Boris Petersen <transacid@centerim.org>.
77158 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
77160         version-etc: extend for packagers
77161         Add three new configure options, intended for packagers:
77162           --with-packager="packager name"
77163           --with-packager-version="packager-specific version"
77164           --with-packager-bug-reports="packager bug reporting"
77165         An example with coreutils:
77166           $ ./configure \
77167             --with-packager=Gentoo \
77168             --with-packager-bug-report=http://bugs.gentoo.org/ \
77169             --with-packager-version="patchset 1.6"
77170           $ ./src/ls --version | head -n2
77171           ls (GNU coreutils) 7.1-dirty
77172           Packaged by Gentoo (patchset 1.6)
77173         Note that the bug reporting info via --help doesn't show up because
77174         coreutils uses its own custom emit_bug_reporting_address() implementation
77175         in src/system.h.  If it didn't, it'd look like:
77176           $ ./src/ls --help | tail -n4
77177           Report bugs to <bug-coreutils@gnu.org>.
77178           Report Gentoo bugs to <http://bugs.gentoo.org/>.
77179           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
77180           General help using GNU software: <http://www.gnu.org/gethelp/>.
77181         * lib/version-etc.c: Print new information, if provided.
77182         * m4/version-etc.m4: New file.
77183         * modules/version-etc (Files): Add m4/version-etc.m4.
77184         (configure.ac): Add gl_VERSION_ETC.
77186 2009-05-31  Bruno Haible  <bruno@clisp.org>
77188         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
77189         and 'int64_t'.
77190         * modules/alignof-tests (Dependencies): Add stdint.
77191         Reported by Eric Blake.
77193 2009-05-31  Bruno Haible  <bruno@clisp.org>
77195         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
77196         restriction due to compiler bugs.
77197         Reported by Eric Blake.
77199 2009-05-31  Simon Josefsson  <simon@josefsson.org>
77200             Bruno Haible  <bruno@clisp.org>
77202         Fix test-alignof failure.
77203         * lib/alignof.h (alignof_slot): New macro.
77204         (alignof_type): New macro, with the same semantics as the previous
77205         'alignof'.
77206         (alignof): Alias to alignof_slot.
77207         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
77208         check that the results are usable as constant expressions.
77210 2009-05-31  Bruno Haible  <bruno@clisp.org>
77212         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
77213         * tests/test-memchr.c (main): Check that memchr does not read past the
77214         first occurrence of the byte.
77215         * tests/test-strstr.c (main): Update comment.
77216         Suggested by Eric Blake.
77218 2009-05-30  Bruno Haible  <bruno@clisp.org>
77220         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
77221         detail how to use dumpbin.
77222         Reported by David Byron <dbyron@dbyron.com>.
77224 2009-06-02  Simon Josefsson  <simon@josefsson.org>
77226         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
77228 2009-06-02  Simon Josefsson  <simon@josefsson.org>
77230         * m4/manywarnings.m4: Add GCC 4.4 warnings.
77232 2009-05-28  Bruno Haible  <bruno@clisp.org>
77234         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
77235         build-aux/ files.
77237 2009-05-28  Simon Josefsson  <simon@josefsson.org>
77239         * gnulib-tool (func_import): Transform license on build-aux/ files too.
77241 2009-05-27  Simon Josefsson  <simon@josefsson.org>
77243         * gnulib-tool (sed_transform_main_lib_file)
77244         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
77245         regexps.
77247 2009-05-26  Simon Josefsson  <simon@josefsson.org>
77249         * tests/test-strstr.c: Add another self-test.
77250         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
77251         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
77253 2009-05-23  Bruno Haible  <bruno@clisp.org>
77255         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
77256         change.
77258 2009-05-21  Bruno Haible  <bruno@clisp.org>
77260         Simplify use of mode_t varargs.
77261         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
77262         uses 'mode_t' or 'int'.
77263         * lib/openat.c (openat): Likewise.
77264         * lib/open-safer.c (open_safer): Likewise.
77265         * m4/mode_t.m4: New file.
77266         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
77267         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
77268         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
77269         * modules/open (Files): Add m4/mode_t.m4.
77270         * modules/openat (Files): Likewise.
77271         * modules/fcntl-safer (Files): Likewise.
77272         Suggested by Eric Blake.
77274 2009-05-21  Pádraig Brady  <P@draigbrady.com>
77276         * doc/glibc-functions/fallocate.texi: New file.
77277         * doc/gnulib.texi: Include it.
77279 2009-05-21  Eric Blake  <ebb9@byu.net>
77280             Bruno Haible  <bruno@clisp.org>
77282         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
77283         invocations.
77284         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
77286 2009-05-21  Eric Blake  <ebb9@byu.net>
77287             Bruno Haible  <bruno@clisp.org>
77289         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
77290         include_next. Fix of 2008-11-20 commit.
77291         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
77292         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
77293         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
77294         NEXT_MATH_H.
77295         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
77296         instead of NEXT_MATH_H.
77298 2009-05-21  Bruno Haible  <bruno@clisp.org>
77300         Avoid redefinition warnings for SIZE_MAX.
77301         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
77302         Reported by Simon Josefsson.
77304 2009-05-21  Bruno Haible  <bruno@clisp.org>
77306         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
77307         AC_CACHE_VAL.
77309 2009-05-20  Bruno Haible  <bruno@clisp.org>
77311         Make zeroptr.h work on mingw.
77312         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
77313         mprotect.
77314         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
77315         * modules/memchr2-tests (configure.ac): Likewise.
77316         * modules/memcmp-tests (configure.ac): Likewise.
77317         * modules/memmem-tests (configure.ac): Likewise.
77318         * modules/memrchr-tests (configure.ac): Likewise.
77319         Reported by Simon Josefsson.
77321 2009-05-20  Simon Josefsson  <simon@josefsson.org>
77323         * tests/test-glob.c: Include string.h for strcmp prototype.
77325 2009-05-20  Simon Josefsson  <simon@josefsson.org>
77327         * modules/getdelim (Depends-on): Add explicit stdint, although it
77328         was implicitly already pulled in via realloc-posix.
77329         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
77331 2009-05-20  Simon Josefsson  <simon@josefsson.org>
77333         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
77334         G. Christensen" <tgc@jupiterrise.com>.
77335         * m4/sys_socket_h.m4: Check for sa_family_t.
77336         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
77337         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
77338         * tests/test-sys_socket.c: Check that sa_family_t works.
77340 2009-05-18  Eric Blake  <ebb9@byu.net>
77342         maint.mk: allow gnulib_dir in VPATH build
77343         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
77345 2009-05-15  Jim Meyering  <meyering@redhat.com>
77347         maint.mk: Give gnulib_dir a default definition.
77348         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
77349         Thus, most packages no longer need to specify this variable in cfg.mk
77351 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
77353         rename.m4: fix typos that would make non-mingw cross-configure fail
77354         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
77356 2009-05-13  Eric Blake  <ebb9@byu.net>
77358         mmap-anon: avoid out-of-order autoconf expansion
77359         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
77360         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
77361         * modules/memchr-tests (Depends-on): Add extensions.
77362         * modules/memchr2-tests (Depends-on): Add extensions.
77363         * modules/memcmp-tests (Depends-on): Add extensions.
77364         * modules/memmem-tests (Depends-on): Add extensions.
77365         * modules/memrchr-tests (Depends-on): Add extensions.
77367 2009-05-13  Bruno Haible  <bruno@clisp.org>
77369         Make some tests ISO C 99 compliant.
77370         * tests/zerosize-ptr.h: New file.
77371         * tests/test-memchr.c: Include zerosize-ptr.h.
77372         (main): Use a zero-size object pointer instead of NULL.
77373         * tests/test-memchr2.c: Include zerosize-ptr.h.
77374         (main): Use a zero-size object pointer instead of NULL.
77375         * tests/test-memcmp.c: Include zerosize-ptr.h.
77376         (main): Use a zero-size object pointer instead of NULL.
77377         * tests/test-memmem.c: Include zerosize-ptr.h.
77378         (main): Use a zero-size object pointer instead of NULL.
77379         * tests/test-memrchr.c: Include zerosize-ptr.h.
77380         (main): Use a zero-size object pointer instead of NULL.
77381         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
77382         m4/mmap-anon.m4.
77383         (Depends-on): Add getpagesize.
77384         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
77385         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
77386         m4/mmap-anon.m4.
77387         (Depends-on): Add getpagesize.
77388         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
77389         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
77390         m4/mmap-anon.m4.
77391         (Depends-on): Add getpagesize.
77392         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
77393         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
77394         m4/mmap-anon.m4.
77395         (Depends-on): Add getpagesize.
77396         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
77397         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
77398         m4/mmap-anon.m4.
77399         (Depends-on): Add getpagesize.
77400         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
77402 2009-05-12  Bruno Haible  <bruno@clisp.org>
77404         Tests for module 'alignof'.
77405         * modules/alignof-tests: New file.
77406         * tests/test-alignof.c: New file.
77408 2009-05-12  Bruno Haible  <bruno@clisp.org>
77410         Fix alignof macro.
77411         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
77412         vendor compilers that are always correct.
77414 2009-05-12  Bruno Haible  <bruno@clisp.org>
77416         Make the MAP_ANONYMOUS detection work on HP-UX 11.
77417         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
77418         not whether its fully works.
77420 2009-05-12  Bruno Haible  <bruno@clisp.org>
77422         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
77424 2009-05-12  Jim Meyering  <meyering@redhat.com>
77426         * top/maint.mk: Adjust backslash alignment.
77428 2009-05-11  Simon Josefsson  <simon@josefsson.org>
77430         * top/maint.mk: Make $(srcdir)/build-aux configurable.
77432 2009-05-11  Eric Blake  <ebb9@byu.net>
77434         argp: avoid undefined behavior
77435         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
77436         macros.
77438 2009-05-08  Simon Josefsson  <simon@josefsson.org>
77440         * tests/test-vc-list-files-git.sh: Do git config of user.email and
77441         user.name to prevent git commit from complaining.
77443 2009-05-10  Bruno Haible  <bruno@clisp.org>
77445         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
77446         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
77447         it rewrites every file name only once.
77448         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
77450 2009-05-08  Bruno Haible  <bruno@clisp.org>
77452         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
77453         instead of 'max'.
77455 2009-05-08  Simon Josefsson  <simon@josefsson.org>
77457         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
77458         sockaddr_storage test.
77460 2009-05-07  Simon Josefsson  <simon@josefsson.org>
77462         * modules/sys_socket (Makefile.am): Substitute
77463         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
77464         * m4/sys_socket_h.m4: Check for sockaddr_storage.
77465         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
77466         * tests/test-sys_socket.c: Check sockaddr_storage.
77468 2009-05-08  Bruno Haible  <bruno@clisp.org>
77470         New module 'alignof'.
77471         * lib/alignof.h: New file.
77472         * modules/alignof: New file.
77474 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
77475             Bruno Haible  <bruno@clisp.org>
77477         Fix test-file-has-acl on FreeBSD.
77478         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
77479         mask is implicitly added.
77480         * tests/test-file-has-acl.c: Include <signal.h>.
77481         (main): Terminate the test after 5 seconds.
77482         * modules/acl-tests (configure.ac): Check for alarm function.
77484 2009-05-04  Bruno Haible  <bruno@clisp.org>
77486         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
77487         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
77488         * modules/errno (configure.ac): Drop AC_REQUIRE.
77489         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
77490         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
77492 2009-05-04  Simon Josefsson  <simon@josefsson.org>
77494         * modules/glob-tests: New module.
77495         * tests/test-glob.c: Add.
77497 2009-05-04  Simon Josefsson  <simon@josefsson.org>
77499         * modules/fnmatch-tests: New module.
77500         * tests/test-fnmatch.c: Add.
77502 2009-05-04  Eric Blake  <ebb9@byu.net>
77504         maint: make the new no-submodule-changes rule VPATH-safe
77505         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
77507 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
77508             Bruno Haible  <bruno@clisp.org>
77510         acl: Fix infinite loop on FreeBSD.
77511         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
77512         of return value from acl_get_entry.
77513         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
77514         Likewise.
77516 2009-05-03  Bruno Haible  <bruno@clisp.org>
77518         * lib/acl-internal.h (acl_entries): Clarify return value.
77519         * lib/acl_entries.c (acl_entries): Likewise.
77521 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
77523         Bug fix in acl module.
77524         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
77526 2009-05-03  Bruno Haible  <bruno@clisp.org>
77528         Create gperf-generated file in the source dir, not in the build dir.
77529         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
77530         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
77531         * modules/unicase/locale-language (unicase/locale-languages.h):
77532         Likewise.
77533         * modules/unicase/special-casing (unicase/special-casing-table.h):
77534         Likewise.
77535         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
77536         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
77537         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
77538         Reported by Ralf Wildenhues.
77540 2009-05-03  Bruno Haible  <bruno@clisp.org>
77542         * modules/fnmatch (Description, configure.ac): Taken from
77543         fnmatch-posix.
77544         * modules/fnmatch-posix: Turn into a symbolic reference to the
77545         'fnmatch' module, and deprecate.
77546         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
77548 2009-05-03  Bruno Haible  <bruno@clisp.org>
77550         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
77551         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
77552         Reported by Ralf Wildenhues.
77554 2009-05-04  Simon Josefsson  <simon@josefsson.org>
77556         * m4/fnmatch.m4: Fix fnmatch re-define.
77558 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
77560         priv-set: new module and tests; adapt write-any-file
77561         * lib/priv-set.c: New file.
77562         * lib/priv-set.h: New file.
77563         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
77564         * lib/write-any-file.c: Simplify by using priv-set module.
77565         * m4/priv-set.m4: New file.
77566         * modules/priv-set: New file.
77567         * modules/unlinkdir: Add dependency on priv-set module.
77568         * modules/write-any-file: Likewise.
77570         Tests for module 'priv-set'.
77571         * modules/priv-set-tests: New file.
77572         * tests/test-priv-set.c: New file.
77574 2009-05-03  Jim Meyering  <meyering@redhat.com>
77575             Bruno Haible  <bruno@clisp.org>
77577         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
77578         use the converted UTF-8 variant of the name instead.
77580 2009-05-03  Jim Meyering  <meyering@redhat.com>
77582         tests: tighten some getdate tests
77583         * tests/test-getdate.c (main): Tighten tests: require equality,
77584         not just greater than.  Set TZ envvar to UTC0.
77586 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
77588         getdate: correctly interpret "next monday" when run on a Monday
77589         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
77590         that e.g., "next tues" (when run on a tuesday) results in a date
77591         that is one week in the future, and not today's date.
77592         I.e., add a week when the wday is the same as the current one.
77593         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
77594         and earlier by Martin Bernreuther and Jan Minář.
77595         * tests/test-getdate.c (main): Check that "next DAY" is always in
77596         the future and that "last DAY" is always in the past.
77598 2009-05-02  Jim Meyering  <meyering@redhat.com>
77600         build: ensure that a release build fails when a submodule is unclean
77601         * top/maint.mk (no-submodule-changes): New rule.
77602         (alpha beta major): Depend on it.
77604 2009-05-02  Bruno Haible  <bruno@clisp.org>
77606         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
77607         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
77608         shell variable gl_fnmatch_required to detect which variant is
77609         requested.
77610         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
77611         gl_FUNC_FNMATCH_POSIX.
77612         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
77613         exclude fnmatch-posix.
77615 2009-05-02  Bruno Haible  <bruno@clisp.org>
77617         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
77618         * modules/mbsrtowcs (License): Change to LGPLv2+.
77619         * modules/strnlen1 (License): Likewise.
77620         Reported by Simon Josefsson.
77622 2009-05-02  Bruno Haible  <bruno@clisp.org>
77624         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
77625         "cross".
77626         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
77627         gnulib-tool was called with option --source-base=lib.
77629 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77631         Use automake *-local hooks without commands, for extensibility.
77632         * modules/localcharset (Makefile.am): Rename install-exec-local
77633         rule to install-exec-localcharset, and make it a prerequisite of
77634         install-exec-local.  Likewise, rename the uninstall-local rule to
77635         uninstall-localcharset, and make it a prerequisite of the former.
77637 2009-05-01  Bruno Haible  <bruno@clisp.org>
77639         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
77640         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
77641         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
77642         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
77643         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
77644         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
77645         m4/locale-zh.m4, m4/codeset.m4.
77647         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
77648         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
77649         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
77650         m4/locale-zh.m4.
77652         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
77653         REPLACE_WCRTOMB if mbstate_t must be replaced.
77654         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
77655         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
77657 2009-05-01  Bruno Haible  <bruno@clisp.org>
77659         Avoid compiler warnings when redefining macros defined by <libintl.h>.
77660         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
77661         dngettext, dcngettext, textdomain, bindtextdomain,
77662         bind_textdomain_codeset): Undefine before redefining.
77664 2009-04-30  Bruno Haible  <bruno@clisp.org>
77666         Fix bug introduced on 2009-04-25.
77667         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
77668         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
77669         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
77670         is defined.
77671         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
77672         is defined.
77673         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
77674         is defined.
77675         Reported by Elbert_Pol <elbert.pol@gmail.com>.
77677 2009-04-28  Bruno Haible  <bruno@clisp.org>
77679         Comment tweaks.
77680         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
77681         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
77682         * lib/unicase.h (u*_casexfrm): Likewise.
77683         Reported by Paolo Bonzini.
77685 2009-04-28  Bruno Haible  <bruno@clisp.org>
77687         Fix a compilation error.
77688         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
77689         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
77690         Reported by Jim Meyering.
77692 2009-04-27  Bruno Haible  <bruno@clisp.org>
77694         New module 'libunistring'.
77695         * modules/libunistring: New file.
77696         * m4/libunistring.m4: New file.
77697         * MODULES.html.sh (Unicode string functions): Add it.
77699 2009-04-27  Eric Blake  <ebb9@byu.net>
77701         maint.mk: allow package-specific header to provide <config.h>
77702         * top/maint.mk (sc_require_config_h): New variable.
77703         (sc_require_config_h, sc_require_config_h_first): Use it.
77705 2009-04-27  Simon Josefsson  <simon@josefsson.org>
77707         * top/maint.mk (sc_avoid_if_before_free): Except
77708         useless-if-before-free script.
77710 2009-04-27  Eric Blake  <ebb9@byu.net>
77712         maintainer-makefile: depend on all required helper scripts
77713         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
77714         useless-if-before-free.
77715         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
77716         version, rather than assuming gnulib checkout is available.
77717         Reported by Simen Josefsson.
77719 2009-04-26  Bruno Haible  <bruno@clisp.org>
77721         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
77722         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
77723         "../" or "..".
77725 2009-04-26  Bruno Haible  <bruno@clisp.org>
77727         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
77728         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
77729         AC_LIB_HAVE_LINKFLAGS.
77731 2009-04-26  Bruno Haible  <bruno@clisp.org>
77733         Simplify calling convention of u*_conv_from_encoding.
77734         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
77735         u32_conv_from_encoding): Expect a resultbuf argument and return the
77736         result directly as a pointer.
77737         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
77738         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
77739         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
77740         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
77741         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
77742         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
77743         Update.
77744         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
77745         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
77746         * lib/vasnprintf.c (VASNPRINTF): Update.
77747         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
77748         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
77749         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
77750         * NEWS: Mention the change.
77752 2009-04-26  Bruno Haible  <bruno@clisp.org>
77754         Simplify calling convention of u*_conv_to_encoding.
77755         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
77756         u32_conv_to_encoding): Expect a resultbuf argument and return the
77757         result directly as a pointer.
77758         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
77759         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
77760         freeing scaled_offsets if mem_iconveha failed.
77761         * lib/unicase/u-casexfrm.h (FUNC): Update.
77762         * lib/uninorm/u-normxfrm.h (FUNC): Update.
77763         * lib/vasnprintf.c (VASNPRINTF): Update.
77764         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
77765         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
77766         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
77767         * NEWS: Mention the change.
77769 2009-04-26  Bruno Haible  <bruno@clisp.org>
77771         Avoid test failures on AIX and OSF/1.
77772         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
77773         malloc(0).
77774         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
77775         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
77776         Likewise.
77777         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
77778         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
77779         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
77780         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
77781         * doc/posix-functions/malloc.texi: Document the portability problem
77782         related to malloc(0).
77784 2009-04-26  Bruno Haible  <bruno@clisp.org>
77786         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
77787         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
77788         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
77790 2009-04-25  Bruno Haible  <bruno@clisp.org>
77792         Avoid link error when creating a namespace clean library.
77793         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
77794         as macro with arguments if already defined as an alias.
77795         * lib/signbitf.c (gl_signbitf): Don't undefine.
77796         * lib/signbitd.c (gl_signbitd): Don't undefine.
77797         * lib/signbitl.c (gl_signbitl): Don't undefine.
77799 2009-04-25  Jim Meyering  <meyering@redhat.com>
77801         vc-list-files: fix another quoting bug
77802         * build-aux/vc-list-files: Avoid sed backslash expansion
77803         of pathological directory names.
77805 2009-04-25  Eric Blake  <ebb9@byu.net>
77807         vc-list-files: fix shell quoting error
77808         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
77809         timestamp.
77811 2009-04-25  Jim Meyering  <meyering@redhat.com>
77813         vc-list-files: restore lost functionality with subdir argument
77814         * build-aux/vc-list-files: When given a non-"." sub-directory
77815         argument, substitute the $dir/ prefix back onto each resulting name.
77816         Otherwise, coreutils' root_tests check would fail.
77818 2009-04-24  Eric Blake  <ebb9@byu.net>
77820         vc-list-files: ignore git symlinks
77821         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
77822         than ls-files, to ignore git symlinks.
77824         maint.mk: import improvements from m4
77825         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
77826         (move_if_change): Delete unused macro.
77827         (news-date-check, vc-diff-check): Support VPATH builds.
77828         (announcement): Likewise.  Split --bootstrap-tools list...
77829         (boostrap-tools): ...into separate list, which can be overridden
77830         in cfg.mk.
77831         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
77832         requiring dependency on useless-if-before-free module.
77833         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
77834         Support VPATH builds.
77836 2009-04-24  Jim Meyering  <meyering@redhat.com>
77838         maint.mk: remove coreutils-specific rules and variables
77839         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
77840         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
77841         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
77843         maint.mk: remove obsolete rule
77844         * top/maint.mk (rel-check): Remove rule.
77845         (WGET, WGETFLAGS): Remove now-unused variables.
77847 2009-04-24  Simon Josefsson  <simon@josefsson.org>
77849         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
77850         consistency.
77852         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
77853         '$(PATH_SEPARATOR)' instead of ':'.
77855 2009-04-24  Simon Josefsson  <simon@josefsson.org>
77857         * lib/getopt1.c (main): Use 'const' for static array.
77859 2009-04-24  Simon Josefsson  <simon@josefsson.org>
77861         * top/maint.mk: Sync with coreutils.
77862         * NEWS: Explain incompatibilities.
77864 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77865             Bruno Haible  <bruno@clisp.org>
77867         Fix cross-compilation results.
77868         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
77869         statement, as third argument of AC_TRY_RUN.
77870         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
77871         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
77872         Likewise.
77873         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
77874         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
77875         Likewise.
77876         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
77877         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
77878         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
77880 2009-04-20  Bruno Haible  <bruno@clisp.org>
77882         Avoid test failure on mingw.
77883         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
77885 2009-04-20  Bruno Haible  <bruno@clisp.org>
77887         Avoid compilation error on mingw.
77888         * modules/localename-tests (Depends-on): Add locale.
77890 2009-04-19  Bruno Haible  <bruno@clisp.org>
77892         Support for building a shared library on Windows platforms.
77893         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
77894         (main): Test the presence of UNINORM_NFC here.
77895         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
77896         (main): Test the presence of UNINORM_NFD here.
77897         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
77898         (main): Test the presence of UNINORM_NFKC here.
77899         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
77900         (main): Test the presence of UNINORM_NFKD here.
77902 2009-04-19  Bruno Haible  <bruno@clisp.org>
77904         Avoid a compiler warning.
77905         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
77906         Change type of variable 'sequence'.
77908 2009-04-19  Bruno Haible  <bruno@clisp.org>
77910         * modules/configmake (Makefile.am): When the contents of configmake.h
77911         does not change, arrange to preserve its modification time.
77913 2009-04-17  Simon Josefsson  <simon@josefsson.org>
77915         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
77916         gettext domain.
77918 2009-04-16  Jim Meyering  <meyering@redhat.com>
77920         useless-if-before-free: improve conversion code
77921         * build-aux/useless-if-before-free: Adjust code-in-comment to match
77922         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
77924 2009-04-14  Bruno Haible  <bruno@clisp.org>
77926         * modules/fcntl (Depends-on): Add extensions.
77927         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
77929 2009-04-12  Ben Pfaff  <blp@gnu.org>
77931         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
77932         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
77934 2009-03-20  Ben Pfaff  <blp@gnu.org>
77936         Make rename replace existing destinations on Windows.
77937         * m4/rename.m4: Add test for Mingw.
77938         * lib/rename.c: Add rename replacement that uses MoveFileEx with
77939         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
77940         * doc/posix-functions/rename.texi: Document.
77942 2009-04-10  Bruno Haible  <bruno@clisp.org>
77944         New include file "iconveh.h".
77945         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
77946         * lib/striconveh.h: Include it.
77947         (enum iconv_ilseq_handler): Remove definition.
77948         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
77949         striconveh.h.
77950         * lib/striconveha.c: Include striconveh.h.
77951         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
77952         * modules/striconveh (Files): Add lib/iconveh.h.
77953         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
77954         lib/striconveh.h.
77956 2009-04-10  Bruno Haible  <bruno@clisp.org>
77958         * lib/uniconv.h: Update comment.
77960 2009-04-10  Bruno Haible  <bruno@clisp.org>
77962         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
77963         always.
77964         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
77965         * lib/unistr/u16-mbtouc-aux.c: Likewise.
77966         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
77967         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
77968         "unistring-notinline.h", so that the function gets defined always.
77969         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
77970         * lib/unistr/u8-uctomb.c: Likewise.
77971         * lib/unistr/u16-mbtouc.c: Likewise.
77972         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
77973         * lib/unistr/u16-uctomb.c: Likewise.
77974         * lib/unistr/u32-mbtouc.c: Likewise.
77975         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
77976         * lib/unistr/u32-uctomb.c: Likewise.
77978 2009-04-10  Bruno Haible  <bruno@clisp.org>
77980         Mark 'utime' obsolete.
77981         * modules/utime (Status, Notice): New sections.
77982         Suggested by Jim Meyering.
77984         Fix cross-compile guess for utime test.
77985         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
77986         autoconf.
77987         * doc/posix-functions/utime.texi: Give more precisions.
77988         Reported by Jan <ipif@ymail.com>.
77990 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
77992         filevercmp: correct today's change
77993         * lib/filevercmp.c: Also handle coreutils' test inputs.
77994         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
77996         Fix regression in 'filevercmp' module. Thanks Sven Joachim
77997         for reporting it.
77998         * lib/filevercmp.c: Special handle for "", "." and "..".
77999         * tests/test-filevercmp.c: Enlarge the set suite.
78001 2009-04-07  Jim Meyering  <meyering@redhat.com>
78003         useless-if-before-free: show how to remove braced useless free, too
78004         * build-aux/useless-if-before-free: still only in a comment, though.
78006 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
78008         maint.mk: import changes to syntax-check macros from coreutils
78009         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
78010         Use them in the relevant macros.
78012 2009-04-06  Bruno Haible  <bruno@clisp.org>
78014         Fix unportable use of bit-fields.
78015         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
78016         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
78017         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
78019 2009-04-06  Bruno Haible  <bruno@clisp.org>
78021         Avoid test failures on AIX and OSF/1.
78022         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
78023         that malloc(0) = NULL.
78024         * tests/unicase/test-u8-tolower.c (check): Likewise.
78025         * tests/unicase/test-u8-totitle.c (check): Likewise.
78026         * tests/unicase/test-u8-toupper.c (check): Likewise.
78027         * tests/unicase/test-u16-casefold.c (check): Likewise.
78028         * tests/unicase/test-u16-tolower.c (check): Likewise.
78029         * tests/unicase/test-u16-totitle.c (check): Likewise.
78030         * tests/unicase/test-u16-toupper.c (check): Likewise.
78031         * tests/unicase/test-u32-casefold.c (check): Likewise.
78032         * tests/unicase/test-u32-tolower.c (check): Likewise.
78033         * tests/unicase/test-u32-totitle.c (check): Likewise.
78034         * tests/unicase/test-u32-toupper.c (check): Likewise.
78035         * tests/uninorm/test-u8-nfc.c (check): Likewise.
78036         * tests/uninorm/test-u8-nfd.c (check): Likewise.
78037         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
78038         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
78039         * tests/uninorm/test-u16-nfc.c (check): Likewise.
78040         * tests/uninorm/test-u16-nfd.c (check): Likewise.
78041         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
78042         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
78043         * tests/uninorm/test-u32-nfc.c (check): Likewise.
78044         * tests/uninorm/test-u32-nfd.c (check): Likewise.
78045         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
78046         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
78048 2009-04-05  Bruno Haible  <bruno@clisp.org>
78050         Work around an autoconf limitation.
78051         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
78052         comment line if it would be longer than 3 KB.
78054 2009-04-05  Bruno Haible  <bruno@clisp.org>
78056         Avoid test failure with libiconv-1.13.
78057         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
78058         of the expected test results.
78060 2009-04-05  Bruno Haible  <bruno@clisp.org>
78062         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
78063         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
78064         that it should be installed.
78066 2009-04-05  Bruno Haible  <bruno@clisp.org>
78068         * gnulib-tool: New option --copy-file.
78069         (func_usage): Document it.
78070         (func_dest_tmpfilename): Moved out of func_import.
78071         (func_add_file, func_update_file): New functions, extracted from
78072         func_import.
78073         (func_import): Update.
78075 2009-04-05  Karl Berry  <karl@gnu.org>
78077         * README: prominently mention gnulib-tool.
78078         Rearrange sections so getting the code is near the top.
78080 2009-04-05  Bruno Haible  <bruno@clisp.org>
78082         * lib/unicase.h: Mention u*_cmp2.
78083         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
78084         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
78085         * lib/unicase/ulc-casecmp.c: Likewise.
78086         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
78087         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
78088         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
78089         unistr/u8-cmp.
78090         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
78091         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
78092         unistr/u16-cmp.
78093         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
78094         unistr/u32-cmp.
78096         * lib/uninorm.h: Mention u*_cmp2.
78097         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
78098         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
78099         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
78100         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
78101         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
78102         unistr/u8-cmp.
78103         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
78104         unistr/u16-cmp.
78105         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
78106         unistr/u32-cmp.
78108         New module 'unistr/u32-cmp2'.
78109         * lib/unistr/u32-cmp2.c: New file.
78110         * modules/unistr/u32-cmp2: New file.
78112         New module 'unistr/u16-cmp2'.
78113         * lib/unistr/u16-cmp2.c: New file.
78114         * modules/unistr/u16-cmp2: New file.
78116         New module 'unistr/u8-cmp2'.
78117         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
78118         * lib/unistr/u8-cmp2.c: New file.
78119         * lib/unistr/u-cmp2.h: New file.
78120         * modules/unistr/u8-cmp2: New file.
78122 2009-04-05  Bruno Haible  <bruno@clisp.org>
78124         * lib/unictype.h (uc_property_is_valid): New macro.
78125         * tests/unictype/test-pr_byname.c (main): Use it.
78127         * lib/unistr.h: Doc fixes.
78128         * lib/uniconv.h: Doc fixes.
78129         * lib/unictype.h: Doc fixes.
78131 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
78133         Port coreutils 7.2 to Solaris 8.
78135         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
78136         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
78137         for Solaris 8.  This is a bit of a hack, as it means it's the
78138         caller's responsibility to add -lnsl if needed, but most likely it
78139         won't be needed since only getaddrinfo uses this and getaddrinfo
78140         isn't needed on Solaris 8.
78142         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
78143         problem to Solaris 8 encountered with coreutils 7.2, which
78144         resulted in a message "fnmatch.c:292: warning: passing argument 4
78145         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
78146         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
78148 2009-04-03  Simon Josefsson  <simon@josefsson.org>
78150         * m4/ld-version-script.m4: Add FIXME comment.
78152 2009-04-02  Simon Josefsson  <simon@josefsson.org>
78154         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
78155         SOVERSION variable.
78157 2009-04-02  Bruno Haible  <bruno@clisp.org>
78159         * Makefile (info, html, dvi, pdf): Combine the rules.
78160         Suggested by Jim Meyering.
78162 2009-04-01  Bruno Haible  <bruno@clisp.org>
78164         * Makefile (info, html, dvi, pdf): New targets.
78165         Reported by Reuben Thomas <rrt@sc3d.org>.
78167 2009-04-01  Bruno Haible  <bruno@clisp.org>
78169         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
78170         can be put into PATH.
78171         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
78173 2009-04-01  Bruno Haible  <bruno@clisp.org>
78175         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
78177 2009-04-01  Bruno Haible  <bruno@clisp.org>
78179         Rename module 'visibility'.
78180         * modules/lib-symbol-visibility: Renamed from modules/visibility.
78181         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
78182         * doc/gnulib.texi: Update.
78183         * MODULES.html.sh (Misc): Update.
78184         * NEWS: Mention the change.
78186 2009-04-01  Simon Josefsson  <simon@josefsson.org>
78188         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
78189         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
78190         Eric Blake <ebb9@byu.net> for review.
78191         * MODULES.html.sh: Add lib-msvc-compat.
78192         * doc/gnulib.texi: Link to new section.
78193         * m4/ld-output-def.m4: New file.
78194         * doc/ld-output-def.texi: New file.
78196 2009-04-01  Simon Josefsson  <simon@josefsson.org>
78198         Rename ld-version-script to lib-symbol-versions.  Suggested by
78199         Bruno Haible <bruno@clisp.org>.
78200         * modules/ld-version-script: Renamed to lib-symbol-versions.
78201         * doc/ld-version-script.texi: Fix module name.
78202         * MODULES.html.sh: Add lib-symbol-versions.
78204 2009-03-31  Simon Josefsson  <simon@josefsson.org>
78206         * modules/u64-tests: New file.
78207         * tests/test-u64.c: New file.
78209 2009-03-04  Simon Josefsson  <simon@josefsson.org>
78211         * MODULES.html.sh: Mention u64.
78212         * modules/u64: New module.
78213         * modules/crypto/sha512: Depend on u64 module instead of providing
78214         u64.h.
78216 2009-03-27  Eric Blake  <ebb9@byu.net>
78218         test-strerror: make debugging EAI_SYSTEM easier
78219         * modules/getaddrinfo-tests (Depends-on): Add strerror.
78220         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
78221         failure was EAI_SYSTEM.
78223 2009-03-25  Bruno Haible  <bruno@clisp.org>
78225         Fix a problem with --enable-relocatable on Solaris 7.
78226         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
78227         since 2008-02-24.
78229 2009-03-25  Eric Blake  <ebb9@byu.net>
78231         test-sockets: avoid gcc warning
78232         * tests/test-sockets.c (main): Silence compiler warning.
78234 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78236         New modules nproc, pthread, contributed by Glen Lenker.
78238         * MODULES.html.sh: Add pthread, nproc.
78239         * lib/nproc.c: New file.
78240         * lib/nproc.h: New file.
78241         * lib/pthread.in.h: New file.
78242         * m4/pthread.m4: New file.
78243         * modules/nproc: New file.
78244         * modules/pthread: New file.
78246 2009-03-24  Simon Josefsson  <simon@josefsson.org>
78248         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
78249         New variable.
78251 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
78253         filevercmp: handle simple~ and numbered.~3~ backup suffixes
78254         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
78255         * tests/test-filevercmp.c: Add tests for backup suffixes.
78257 2009-03-24  Simon Josefsson  <simon@josefsson.org>
78259         * modules/stdlib (Depends-on): Add stdint, needed when defining
78260         struct random_data on, for example, HP-UX 10.20.  Reported by
78261         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
78263 2009-03-24  Simon Josefsson  <simon@josefsson.org>
78265         * lib/readline.c (readline): Call fflush on stdout after printing
78266         prompt.
78268 2009-03-20  Bruno Haible  <bruno@clisp.org>
78270         Remove dependency from 'close' module to -lws2_32 on native Windows.
78271         * lib/close-hook.h: New file.
78272         * lib/close-hook.c: New file.
78273         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
78274         w32sock.h.
78275         (_gl_close_fd_maybe_socket): Remove function.
78276         (rpl_close): Invoke execute_all_close_hooks instead of
78277         _gl_close_fd_maybe_socket.
78278         * lib/sockets.c: Include close-hook.h, w32sock.h.
78279         (close_fd_maybe_socket): New function, essentially from lib/close.c.
78280         (close_sockets_hook): New variable.
78281         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
78282         (gl_sockets_cleanup): Unregister it.
78283         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
78284         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
78285         * modules/close-hook: New file.
78286         * modules/close (Files): Remove lib/w32sock.h.
78287         (Depends-on): Add close-hook.
78288         (Link): Remove section.
78289         * modules/sockets (Files): Add lib/w32sock.h.
78290         (Depends-on): Add close-hook.
78291         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
78292         invocation.
78293         * NEWS: Mention that LIB_CLOSE is gone.
78295 2009-03-23  Eric Blake  <ebb9@byu.net>
78297         signal-tests: test previous patch
78298         * tests/test-signal.c: New file.
78299         * modules/signal-tests: Likewise.
78301         signal.h: always support 'volatile sig_atomic_t'
78302         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
78303         (gl_SIGNAL_H_DEFAULTS): Add a default.
78304         * modules/signal (Makefile.am): Substitute if needed.
78305         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
78306         users can blindly add volatile.
78307         * doc/posix-headers/signal.texi (signal.h): Document it.
78308         Reported by Matthew Woehlke.
78310 2009-03-23  Jim Meyering  <meyering@redhat.com>
78312         pathmax: PATH_MAX: use pathconf only when available
78313         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
78314         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
78315         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
78316         This avoids a link failure in a PSP cross-compilation environment
78317         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
78319         * lib/vasnprintf.c (divide): Fix typo in comment.
78321 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78323         * gnulib-tool (func_filter_filelist): Fix comment.
78325 2009-03-20  Bruno Haible  <bruno@clisp.org>
78327         Make sockets.h self-contained.
78328         * lib/sockets.c: Include sockets.h first.
78329         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
78331 2009-03-19  Eric Blake  <ebb9@byu.net>
78333         doc: mention more functions added in cygwin 1.7.0
78334         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
78335         addition.
78336         * doc/posix-functions/log2f.texi: Likewise.
78338 2009-03-19  Jim Meyering  <meyering@redhat.com>
78340         fsusage: avoid syntax error due to statement-before-declaration
78341         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
78342         after all declarations.  Reported by Matthew Woehlke in
78343         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
78345 2009-03-18  Eric Blake  <ebb9@byu.net>
78347         build-aux/compile: sync from automake
78348         * build-aux/compile: New file, from automake.
78349         * config/srclist.txt: Mention build-aux/compile.
78351 2009-03-17  Bruno Haible  <bruno@clisp.org>
78353         * lib/git-merge-changelog.c: Fix typo in comment.
78354         Reported by Reuben Thomas <rrt@sc3d.org>.
78356 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
78358         * m4/regex.m4: update and improve help for
78359         --without-included-regex.
78361 2009-03-17  Simon Josefsson  <simon@josefsson.org>
78363         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
78364         failure on missing include files.
78366 2009-03-17  Eric Blake  <ebb9@byu.net>
78368         doc: mention more functions added in cygwin 1.7.0
78369         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
78370         addition.
78371         * doc/posix-functions/fwscanf.texi: Likewise.
78372         * doc/posix-functions/swprintf.texi: Likewise.
78373         * doc/posix-functions/swscanf.texi: Likewise.
78374         * doc/posix-functions/vfwprintf.texi: Likewise.
78375         * doc/posix-functions/vfwscanf.texi: Likewise.
78376         * doc/posix-functions/vswprintf.texi: Likewise.
78377         * doc/posix-functions/vswscanf.texi: Likewise.
78378         * doc/posix-functions/vwprintf.texi: Likewise.
78379         * doc/posix-functions/vwscanf.texi: Likewise.
78380         * doc/posix-functions/wcscasecmp.texi: Likewise.
78381         * doc/posix-functions/wcsdup.texi: Likewise.
78382         * doc/posix-functions/wcsftime.texi: Likewise.
78383         * doc/posix-functions/wcsncasecmp.texi: Likewise.
78384         * doc/posix-functions/wprintf.texi: Likewise.
78385         * doc/posix-functions/wscanf.texi: Likewise.
78386         * doc/glibc-functions/gethostbyname2.texi: Likewise.
78388 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78390         maint.mk: really add $(AM_MAKEFLAGS)
78391         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
78392         was inadvertently omitted in the last commit.
78393         Spotted by Bruno Haible.
78395         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
78396         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
78397         $(AM_MAKEFLAGS)' rather than plain `make'.
78399         gnulib-tool: execute $MAKE not make
78400         * gnulib-tool: Default $MAKE to 'make'.
78401         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
78402         than make.  Initialize $MAKE in the do-autobuild script.
78404         gnulib-tool: use $MAKE not make in generated files
78405         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
78406         make, in generated files.  Initialize $MAKE in the do-autobuild
78407         script.
78409         * top/GNUmakefile (_have-git-version-gen): Fix typo.
78411         GNUmakefile: disable parallelism only for multiple, recursive targets
78412         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
78413         additions in the Makefile.
78414         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
78415         by Automake.
78416         (.NOTPARALLEL): Only disable parallel builds if multiple targets
78417         are listed on the command line and at least one of them is
78418         listed in $(ALL_RECURSIVE_TARGETS).
78420 2009-03-14  Bruno Haible  <bruno@clisp.org>
78422         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
78423         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
78424         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
78425         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
78426         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
78427         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
78428         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
78429         unistr/u8-uctomb.
78430         * modules/unistr/u8-strchr (Depends-on): Likewise.
78431         * modules/unistr/u8-strrchr (Depends-on): Likewise.
78432         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
78433         unistr/u16-uctomb.
78434         * modules/unistr/u16-strchr (Depends-on): Likewise.
78435         * modules/unistr/u16-strrchr (Depends-on): Likewise.
78437 2009-03-12  Bruno Haible  <bruno@clisp.org>
78439         Work around select() bug on Interix 3.5.
78440         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
78441         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
78442         * m4/select.m4: New file.
78443         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
78444         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
78445         * modules/select (Files): Add m4/select.m4.
78446         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
78447         * modules/nanosleep (Depends-on): Add select.
78448         * modules/poll (Depends-on): Likewise.
78449         * doc/posix-functions/select.texi: Mention the Interix bug.
78450         Reported by Markus Duft <mduft@gentoo.org>.
78452         * lib/select.c: Renamed from lib/winsock-select.c.
78453         * modules/select (Files): Add lib/select.c, remove
78454         lib/winsock-select.c.
78455         (configure.ac): Update.
78457 2009-03-12  Jim Meyering  <meyering@redhat.com>
78459         avoid gcc warnings about unused macro definitions
78460         * lib/readtokens.c (STREQ): Remove unused definition.
78461         * lib/xmalloc.c (SIZE_MAX): Likewise.
78462         * lib/openat-die.c (N_): Likewise.
78463         * lib/mountlist.c (SIZE_MAX): Remove definition.
78464         Instead, include <stdint.h>.
78465         * lib/readutmp.c: Likewise.
78466         * modules/readutmp (Depends-on): Add stdint.
78467         * modules/mountlist (Depends-on): Add stdint.
78468         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
78470 2009-03-10  Bruno Haible  <bruno@clisp.org>
78472         Tests for module 'mbmemcasecoll'.
78473         * modules/mbmemcasecoll-tests: New file.
78474         * tests/test-mbmemcasecoll1.sh: New file.
78475         * tests/test-mbmemcasecoll2.sh: New file.
78476         * tests/test-mbmemcasecoll3.sh: New file.
78477         * tests/test-mbmemcasecoll.c: New file.
78479         New module 'mbmemcasecoll'.
78480         * lib/mbmemcasecoll.h: New file.
78481         * lib/mbmemcasecoll.c: New file.
78482         * modules/mbmemcasecoll: New file.
78484         * tests/test-mbmemcasecmp.h: New file, extracted from
78485         tests/test-mbmemcasecmp.c.
78486         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
78487         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
78488         (main): Update.
78489         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
78491 2009-03-09  Bruno Haible  <bruno@clisp.org>
78493         Tests for module 'mbmemcasecmp'.
78494         * modules/mbmemcasecmp-tests: New file.
78495         * tests/test-mbmemcasecmp1.sh: New file.
78496         * tests/test-mbmemcasecmp2.sh: New file.
78497         * tests/test-mbmemcasecmp3.sh: New file.
78498         * tests/test-mbmemcasecmp.c: New file.
78500         New module 'mbmemcasecmp'.
78501         * lib/mbmemcasecmp.h: New file.
78502         * lib/mbmemcasecmp.c: New file.
78503         * modules/mbmemcasecmp: New file.
78505 2009-03-09  Bruno Haible  <bruno@clisp.org>
78507         Tests for module 'unicase/ulc-casecoll'.
78508         * modules/unicase/ulc-casecoll-tests: New file.
78509         * tests/unicase/test-ulc-casecoll1.sh: New file.
78510         * tests/unicase/test-ulc-casecoll2.sh: New file.
78511         * tests/unicase/test-ulc-casecoll.c: New file.
78513         New module 'unicase/ulc-casecoll'.
78514         * lib/unicase.h (ulc_casecoll): New declaration.
78515         * lib/unicase/ulc-casecoll.c: New file.
78516         * modules/unicase/ulc-casecoll: New file.
78518         New module 'unicase/ulc-casexfrm'.
78519         * lib/unicase.h (ulc_casexfrm): New declaration.
78520         * lib/unicase/ulc-casexfrm.c: New file.
78521         * modules/unicase/ulc-casexfrm: New file.
78523 2009-03-09  Bruno Haible  <bruno@clisp.org>
78525         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
78526         invocations.
78528         * m4/mbscasecmp.m4: Remove file.
78529         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
78530         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
78532         * m4/mbscasestr.m4: Remove file.
78533         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
78534         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
78536         * m4/mbschr.m4: Remove file.
78537         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
78538         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
78540         * m4/mbscspn.m4: Remove file.
78541         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
78542         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
78544         * m4/mbslen.m4: Remove file.
78545         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
78546         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
78548         * m4/mbsncasecmp.m4: Remove file.
78549         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
78550         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
78552         * m4/mbsnlen.m4: Remove file.
78553         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
78554         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
78556         * m4/mbspbrk.m4: Remove file.
78557         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
78558         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
78560         * m4/mbspcasecmp.m4: Remove file.
78561         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
78562         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
78564         * m4/mbsrchr.m4: Remove file.
78565         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
78566         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
78568         * m4/mbssep.m4: Remove file.
78569         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
78570         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
78572         * m4/mbsspn.m4: Remove file.
78573         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
78574         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
78576         * m4/mbsstr.m4: Remove file.
78577         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
78578         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
78580         * m4/mbstok_r.m4: Remove file.
78581         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
78582         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
78584         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
78586         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
78587         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
78589         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
78591 2009-03-08  Bruno Haible  <bruno@clisp.org>
78593         Tests for module 'unicase/ulc-casecmp'.
78594         * modules/unicase/ulc-casecmp-tests: New file.
78595         * tests/unicase/test-ulc-casecmp1.sh: New file.
78596         * tests/unicase/test-ulc-casecmp2.sh: New file.
78597         * tests/unicase/test-ulc-casecmp.c: New file.
78599         New module 'unicase/ulc-casecmp'.
78600         * lib/unicase.h (ulc_casecmp): New declaration.
78601         * lib/unicase/ulc-casecmp.c: New file.
78602         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
78603         'const SRC_UNIT *'.
78604         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
78605         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
78606         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
78607         * modules/unicase/ulc-casecmp: New file.
78609         Tests for module 'unicase/u32-is-cased'.
78610         * modules/unicase/u32-is-cased-tests: New file.
78611         * tests/unicase/test-u32-is-cased.c: New file.
78613         Tests for module 'unicase/u16-is-cased'.
78614         * modules/unicase/u16-is-cased-tests: New file.
78615         * tests/unicase/test-u16-is-cased.c: New file.
78617         Tests for module 'unicase/u8-is-cased'.
78618         * modules/unicase/u8-is-cased-tests: New file.
78619         * tests/unicase/test-u8-is-cased.c: New file.
78620         * tests/unicase/test-is-cased.h: New file.
78622         New module 'unicase/u32-is-cased'.
78623         * lib/unicase/u32-is-cased.c: New file.
78624         * modules/unicase/u32-is-cased: New file.
78626         New module 'unicase/u16-is-cased'.
78627         * lib/unicase/u16-is-cased.c: New file.
78628         * modules/unicase/u16-is-cased: New file.
78630         New module 'unicase/u8-is-cased'.
78631         * lib/unicase/u8-is-cased.c: New file.
78632         * lib/unicase/u-is-cased.h: New file.
78633         * modules/unicase/u8-is-cased: New file.
78635         Tests for module 'unicase/u32-is-casefolded'.
78636         * modules/unicase/u32-is-casefolded-tests: New file.
78637         * tests/unicase/test-u32-is-casefolded.c: New file.
78639         Tests for module 'unicase/u16-is-casefolded'.
78640         * modules/unicase/u16-is-casefolded-tests: New file.
78641         * tests/unicase/test-u16-is-casefolded.c: New file.
78643         Tests for module 'unicase/u8-is-casefolded'.
78644         * modules/unicase/u8-is-casefolded-tests: New file.
78645         * tests/unicase/test-u8-is-casefolded.c: New file.
78646         * tests/unicase/test-is-casefolded.h: New file.
78648         New module 'unicase/u32-is-casefolded'.
78649         * lib/unicase/u32-is-casefolded.c: New file.
78650         * modules/unicase/u32-is-casefolded: New file.
78652         New module 'unicase/u16-is-casefolded'.
78653         * lib/unicase/u16-is-casefolded.c: New file.
78654         * modules/unicase/u16-is-casefolded: New file.
78656         New module 'unicase/u8-is-casefolded'.
78657         * lib/unicase/u8-is-casefolded.c: New file.
78658         * modules/unicase/u8-is-casefolded: New file.
78660         Tests for module 'unicase/u32-is-titlecase'.
78661         * modules/unicase/u32-is-titlecase-tests: New file.
78662         * tests/unicase/test-u32-is-titlecase.c: New file.
78664         Tests for module 'unicase/u16-is-titlecase'.
78665         * modules/unicase/u16-is-titlecase-tests: New file.
78666         * tests/unicase/test-u16-is-titlecase.c: New file.
78668         Tests for module 'unicase/u8-is-titlecase'.
78669         * modules/unicase/u8-is-titlecase-tests: New file.
78670         * tests/unicase/test-u8-is-titlecase.c: New file.
78671         * tests/unicase/test-is-titlecase.h: New file.
78673         New module 'unicase/u32-is-titlecase'.
78674         * lib/unicase/u32-is-titlecase.c: New file.
78675         * modules/unicase/u32-is-titlecase: New file.
78677         New module 'unicase/u16-is-titlecase'.
78678         * lib/unicase/u16-is-titlecase.c: New file.
78679         * modules/unicase/u16-is-titlecase: New file.
78681         New module 'unicase/u8-is-titlecase'.
78682         * lib/unicase/u8-is-titlecase.c: New file.
78683         * modules/unicase/u8-is-titlecase: New file.
78685         Tests for module 'unicase/u32-is-lowercase'.
78686         * modules/unicase/u32-is-lowercase-tests: New file.
78687         * tests/unicase/test-u32-is-lowercase.c: New file.
78689         Tests for module 'unicase/u16-is-lowercase'.
78690         * modules/unicase/u16-is-lowercase-tests: New file.
78691         * tests/unicase/test-u16-is-lowercase.c: New file.
78693         Tests for module 'unicase/u8-is-lowercase'.
78694         * modules/unicase/u8-is-lowercase-tests: New file.
78695         * tests/unicase/test-u8-is-lowercase.c: New file.
78696         * tests/unicase/test-is-lowercase.h: New file.
78698         New module 'unicase/u32-is-lowercase'.
78699         * lib/unicase/u32-is-lowercase.c: New file.
78700         * modules/unicase/u32-is-lowercase: New file.
78702         New module 'unicase/u16-is-lowercase'.
78703         * lib/unicase/u16-is-lowercase.c: New file.
78704         * modules/unicase/u16-is-lowercase: New file.
78706         New module 'unicase/u8-is-lowercase'.
78707         * lib/unicase/u8-is-lowercase.c: New file.
78708         * modules/unicase/u8-is-lowercase: New file.
78710         Tests for module 'unicase/u32-is-uppercase'.
78711         * modules/unicase/u32-is-uppercase-tests: New file.
78712         * tests/unicase/test-u32-is-uppercase.c: New file.
78714         Tests for module 'unicase/u16-is-uppercase'.
78715         * modules/unicase/u16-is-uppercase-tests: New file.
78716         * tests/unicase/test-u16-is-uppercase.c: New file.
78718         Tests for module 'unicase/u8-is-uppercase'.
78719         * modules/unicase/u8-is-uppercase-tests: New file.
78720         * tests/unicase/test-u8-is-uppercase.c: New file.
78721         * tests/unicase/test-is-uppercase.h: New file.
78723         New module 'unicase/u32-is-uppercase'.
78724         * lib/unicase/u32-is-uppercase.c: New file.
78725         * modules/unicase/u32-is-uppercase: New file.
78727         New module 'unicase/u16-is-uppercase'.
78728         * lib/unicase/u16-is-uppercase.c: New file.
78729         * modules/unicase/u16-is-uppercase: New file.
78731         New module 'unicase/u8-is-uppercase'.
78732         * lib/unicase/u8-is-uppercase.c: New file.
78733         * modules/unicase/u8-is-uppercase: New file.
78735         New module 'unicase/u32-is-invariant'.
78736         * lib/unicase/u32-is-invariant.c: New file.
78737         * modules/unicase/u32-is-invariant: New file.
78739         New module 'unicase/u16-is-invariant'.
78740         * lib/unicase/u16-is-invariant.c: New file.
78741         * modules/unicase/u16-is-invariant: New file.
78743         New module 'unicase/u8-is-invariant'.
78744         * lib/unicase/u8-is-invariant.c: New file.
78745         * lib/unicase/invariant.h: New file.
78746         * lib/unicase/u-is-invariant.h: New file.
78747         * modules/unicase/u8-is-invariant: New file.
78749         Tests for module 'unicase/u32-casecoll'.
78750         * modules/unicase/u32-casecoll-tests: New file.
78751         * tests/unicase/test-u32-casecoll.c: New file.
78753         Tests for module 'unicase/u16-casecoll'.
78754         * modules/unicase/u16-casecoll-tests: New file.
78755         * tests/unicase/test-u16-casecoll.c: New file.
78757         Tests for module 'unicase/u8-casecoll'.
78758         * modules/unicase/u8-casecoll-tests: New file.
78759         * tests/unicase/test-u8-casecoll.c: New file.
78761         New module 'unicase/u32-casecoll'.
78762         * lib/unicase/u32-casecoll.c: New file.
78763         * modules/unicase/u32-casecoll: New file.
78765         New module 'unicase/u16-casecoll'.
78766         * lib/unicase/u16-casecoll.c: New file.
78767         * modules/unicase/u16-casecoll: New file.
78769         New module 'unicase/u8-casecoll'.
78770         * lib/unicase/u8-casecoll.c: New file.
78771         * lib/unicase/u-casecoll.h: New file.
78772         * modules/unicase/u8-casecoll: New file.
78774         New module 'unicase/u32-casexfrm'.
78775         * lib/unicase/u32-casexfrm.c: New file.
78776         * modules/unicase/u32-casexfrm: New file.
78778         New module 'unicase/u16-casexfrm'.
78779         * lib/unicase/u16-casexfrm.c: New file.
78780         * modules/unicase/u16-casexfrm: New file.
78782         New module 'unicase/u8-casexfrm'.
78783         * lib/unicase/u8-casexfrm.c: New file.
78784         * lib/unicase/u-casexfrm.h: New file.
78785         * modules/unicase/u8-casexfrm: New file.
78787         Tests for module 'unicase/u32-casecmp'.
78788         * modules/unicase/u32-casecmp-tests: New file.
78789         * tests/unicase/test-u32-casecmp.c: New file.
78791         Tests for module 'unicase/u16-casecmp'.
78792         * modules/unicase/u16-casecmp-tests: New file.
78793         * tests/unicase/test-u16-casecmp.c: New file.
78795         Tests for module 'unicase/u8-casecmp'.
78796         * modules/unicase/u8-casecmp-tests: New file.
78797         * tests/unicase/test-u8-casecmp.c: New file.
78798         * tests/unicase/test-casecmp.h: New file.
78800         New module 'unicase/u32-casecmp'.
78801         * lib/unicase/u32-casecmp.c: New file.
78802         * modules/unicase/u32-casecmp: New file.
78804         New module 'unicase/u16-casecmp'.
78805         * lib/unicase/u16-casecmp.c: New file.
78806         * modules/unicase/u16-casecmp: New file.
78808         New module 'unicase/u8-casecmp'.
78809         * lib/unicase/u8-casecmp.c: New file.
78810         * lib/unicase/u-casecmp.h: New file.
78811         * modules/unicase/u8-casecmp: New file.
78813         Tests for module 'unicase/u32-casefold'.
78814         * modules/unicase/u32-casefold-tests: New file.
78815         * tests/unicase/test-u32-casefold.c: New file.
78817         Tests for module 'unicase/u16-casefold'.
78818         * modules/unicase/u16-casefold-tests: New file.
78819         * tests/unicase/test-u16-casefold.c: New file.
78821         Tests for module 'unicase/u8-casefold'.
78822         * modules/unicase/u8-casefold-tests: New file.
78823         * tests/unicase/test-u8-casefold.c: New file.
78825         New module 'unicase/u32-casefold'.
78826         * lib/unicase/u32-casefold.c: New file.
78827         * modules/unicase/u32-casefold: New file.
78829         New module 'unicase/u16-casefold'.
78830         * lib/unicase/u16-casefold.c: New file.
78831         * modules/unicase/u16-casefold: New file.
78833         New module 'unicase/u8-casefold'.
78834         * lib/unicase/u8-casefold.c: New file.
78835         * lib/unicase/u-casefold.h: New file.
78836         * modules/unicase/u8-casefold: New file.
78838         New module 'unicase/tocasefold'.
78839         * lib/unicase/casefold.h: New file.
78840         * lib/unicase/tocasefold.c: New file.
78841         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
78842         * modules/unicase/tocasefold: New file.
78844         Tests for module 'unicase/u32-totitle'.
78845         * modules/unicase/u32-totitle-tests: New file.
78846         * tests/unicase/test-u32-totitle.c: New file.
78848         Tests for module 'unicase/u16-totitle'.
78849         * modules/unicase/u16-totitle-tests: New file.
78850         * tests/unicase/test-u16-totitle.c: New file.
78852         Tests for module 'unicase/u8-totitle'.
78853         * modules/unicase/u8-totitle-tests: New file.
78854         * tests/unicase/test-u8-totitle.c: New file.
78856         New module 'unicase/u32-totitle'.
78857         * lib/unicase/u32-totitle.c: New file.
78858         * modules/unicase/u32-totitle: New file.
78860         New module 'unicase/u16-totitle'.
78861         * lib/unicase/u16-totitle.c: New file.
78862         * modules/unicase/u16-totitle: New file.
78864         New module 'unicase/u8-totitle'.
78865         * lib/unicase/u8-totitle.c: New file.
78866         * lib/unicase/u-totitle.h: New file.
78867         * modules/unicase/u8-totitle: New file.
78869         Tests for module 'unicase/u32-tolower'.
78870         * modules/unicase/u32-tolower-tests: New file.
78871         * tests/unicase/test-u32-tolower.c: New file.
78873         Tests for module 'unicase/u16-tolower'.
78874         * modules/unicase/u16-tolower-tests: New file.
78875         * tests/unicase/test-u16-tolower.c: New file.
78877         Tests for module 'unicase/u8-tolower'.
78878         * modules/unicase/u8-tolower-tests: New file.
78879         * tests/unicase/test-u8-tolower.c: New file.
78881         New module 'unicase/u32-tolower'.
78882         * lib/unicase/u32-tolower.c: New file.
78883         * modules/unicase/u32-tolower: New file.
78885         New module 'unicase/u16-tolower'.
78886         * lib/unicase/u16-tolower.c: New file.
78887         * modules/unicase/u16-tolower: New file.
78889         New module 'unicase/u8-tolower'.
78890         * lib/unicase/u8-tolower.c: New file.
78891         * modules/unicase/u8-tolower: New file.
78893         Tests for module 'unicase/u32-toupper'.
78894         * modules/unicase/u32-toupper-tests: New file.
78895         * tests/unicase/test-u32-toupper.c: New file.
78897         Tests for module 'unicase/u16-toupper'.
78898         * modules/unicase/u16-toupper-tests: New file.
78899         * tests/unicase/test-u16-toupper.c: New file.
78901         Tests for module 'unicase/u8-toupper'.
78902         * modules/unicase/u8-toupper-tests: New file.
78903         * tests/unicase/test-u8-toupper.c: New file.
78905         New module 'unicase/u32-toupper'.
78906         * lib/unicase/u32-toupper.c: New file.
78907         * modules/unicase/u32-toupper: New file.
78909         New module 'unicase/u16-toupper'.
78910         * lib/unicase/u16-toupper.c: New file.
78911         * modules/unicase/u16-toupper: New file.
78913         New module 'unicase/u8-toupper'.
78914         * lib/unicase/u8-toupper.c: New file.
78915         * modules/unicase/u8-toupper: New file.
78917         New module 'unicase/u32-casemap'.
78918         * lib/unicase/u32-casemap.c: New file.
78919         * modules/unicase/u32-casemap: New file.
78921         New module 'unicase/u16-casemap'.
78922         * lib/unicase/u16-casemap.c: New file.
78923         * modules/unicase/u16-casemap: New file.
78925         New module 'unicase/u8-casemap'.
78926         * lib/unicase/unicasemap.h: New file.
78927         * lib/unicase/u8-casemap.c: New file.
78928         * lib/unicase/u-casemap.h: New file.
78929         * modules/unicase/u8-casemap: New file.
78931         New module 'unicase/special-casing'.
78932         * lib/unicase/special-casing.h: New file.
78933         * lib/unicase/special-casing.c: New file.
78934         * lib/unicase/special-casing-table.gperf: New file, generated by
78935         gen-uni-tables.c.
78936         * modules/unicase/special-casing: New file.
78938         Tests for module 'unicase/locale-language'.
78939         * modules/unicase/locale-language-tests: New file.
78940         * tests/unicase/test-locale-language.sh: New file.
78941         * tests/unicase/test-locale-language.c: New file.
78943         New module 'unicase/locale-language'.
78944         * lib/unicase/locale-language.c: New file.
78945         * lib/unicase/locale-languages.gperf: New file.
78946         * modules/unicase/locale-language: New file.
78948         Generate more tables for case conversion and case folding.
78949         * lib/gen-uni-tables.c (SCC_*): New enum items.
78950         (struct special_casing_rule): New type.
78951         (casing_rules, num_casing_rules, allocated_casing_rules): New
78952         variables.
78953         (add_casing_rule, fill_casing_rules): New functions.
78954         (struct casefold_rule): New type.
78955         (casefolding_rules, num_casefolding_rules,
78956         allocated_casefolding_rules): New variables.
78957         (fill_casefolding_rules): New function.
78958         (unicode_casefold): New variable.
78959         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
78960         sort_casing_rules, output_casing_rules): New functions.
78961         (main): Accept to more arguments: SpecialCasing.txt and
78962         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
78963         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
78964         Output mapping for casefolding.
78966         * lib/unicase.h: Include stdbool.h, uninorm.h.
78967         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
78968         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
78969         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
78970         arguments.
78971         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
78972         resultp arguments.
78973         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
78974         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
78975         resultp arguments.
78976         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
78977         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
78978         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
78979         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
78980         declarations.
78981         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
78983 2009-03-08  Bruno Haible  <bruno@clisp.org>
78985         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
78986         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
78987         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
78988         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
78990 2009-03-07  Bruno Haible  <bruno@clisp.org>
78992         Adjust u*_normcmp, u*_normcoll API.
78993         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
78994         u16_normcoll, u32_normcoll): Change failure conventions.
78995         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
78996         errno and return -1.
78997         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
78999 2009-03-07  Bruno Haible  <bruno@clisp.org>
79001         Tests for module 'uninorm/u32-normcoll'.
79002         * modules/uninorm/u32-normcoll-tests: New file.
79003         * tests/uninorm/test-u32-normcoll.c: New file.
79005         Tests for module 'uninorm/u16-normcoll'.
79006         * modules/uninorm/u16-normcoll-tests: New file.
79007         * tests/uninorm/test-u16-normcoll.c: New file.
79009         Tests for module 'uninorm/u8-normcoll'.
79010         * modules/uninorm/u8-normcoll-tests: New file.
79011         * tests/uninorm/test-u8-normcoll.c: New file.
79013 2009-03-07  Bruno Haible  <bruno@clisp.org>
79015         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
79016         tests/uninorm/test-u32-normcmp.c.
79017         * tests/uninorm/test-u32-normcmp.c: Include it.
79018         (test_nonascii): New function, extracted from main. Add some more
79019         tests.
79020         (main): Invoke test_ascii and test_nonascii.
79021         * modules/uninorm/u32-normcmp-tests (Files): Add
79022         tests/uninorm/test-u32-normcmp.h.
79023         (Depends-on): Remove uninorm/u32-normcmp.
79025         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
79026         tests/uninorm/test-u16-normcmp.c.
79027         * tests/uninorm/test-u16-normcmp.c: Include it.
79028         (test_nonascii): New function, extracted from main. Add some more
79029         tests.
79030         (main): Invoke test_ascii and test_nonascii.
79031         * modules/uninorm/u16-normcmp-tests (Files): Add
79032         tests/uninorm/test-u16-normcmp.h.
79033         (Depends-on): Remove uninorm/u16-normcmp.
79035         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
79036         tests/uninorm/test-u8-normcmp.c.
79037         * tests/uninorm/test-u8-normcmp.c: Include it.
79038         (test_nonascii): New function, extracted from main. Add some more
79039         tests.
79040         (main): Invoke test_ascii and test_nonascii.
79041         * modules/uninorm/u8-normcmp-tests (Files): Add
79042         tests/uninorm/test-u8-normcmp.h.
79043         (Depends-on): Remove uninorm/u8-normcmp.
79045 2009-03-07  Bruno Haible  <bruno@clisp.org>
79047         New module 'uninorm/u32-normcoll'.
79048         * lib/uninorm/u32-normcoll.c: New file.
79049         * modules/uninorm/u32-normcoll: New file.
79051         New module 'uninorm/u16-normcoll'.
79052         * lib/uninorm/u16-normcoll.c: New file.
79053         * modules/uninorm/u16-normcoll: New file.
79055         New module 'uninorm/u8-normcoll'.
79056         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
79057         declarations.
79058         * lib/uninorm/u8-normcoll.c: New file.
79059         * lib/uninorm/u-normcoll.h: New file.
79060         * modules/uninorm/u8-normcoll: New file.
79062         New module 'uninorm/u32-normxfrm'.
79063         * lib/uninorm/u32-normxfrm.c: New file.
79064         * modules/uninorm/u32-normxfrm: New file.
79066         New module 'uninorm/u16-normxfrm'.
79067         * lib/uninorm/u16-normxfrm.c: New file.
79068         * modules/uninorm/u16-normxfrm: New file.
79070         New module 'uninorm/u8-normxfrm'.
79071         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
79072         declarations.
79073         * lib/uninorm/u8-normxfrm.c: New file.
79074         * lib/uninorm/u-normxfrm.h: New file.
79075         * modules/uninorm/u8-normxfrm: New file.
79077 2009-03-07  Bruno Haible  <bruno@clisp.org>
79079         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
79080         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
79081         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
79083 2009-03-07  Bruno Haible  <bruno@clisp.org>
79085         New module 'memxfrm'.
79086         * lib/memxfrm.h: New file.
79087         * lib/memxfrm.c: New file.
79088         * modules/memxfrm: New file.
79090 2009-03-07  Bruno Haible  <bruno@clisp.org>
79092         New module 'memcmp2'.
79093         * lib/memcmp2.h: New file.
79094         * lib/memcmp2.c: New file.
79095         * modules/memcmp2: New file.
79097 2009-03-07  Bruno Haible  <bruno@clisp.org>
79099         Tests for module 'uninorm/decomposing-form'.
79100         * modules/uninorm/decomposing-form-tests: New file.
79101         * tests/uninorm/test-decomposing-form.c: New file.
79103         New module 'uninorm/decomposing-form'.
79104         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
79105         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
79106         Add 'decomposing_variant' field.
79107         * lib/uninorm/decomposing-form.c: New file.
79108         * lib/uninorm/nfc.c (uninorm_nfc): Update.
79109         * lib/uninorm/nfd.c (uninorm_nfd): Update.
79110         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
79111         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
79112         * modules/uninorm/decomposing-form: New file.
79113         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
79114         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
79116 2009-03-07  Bruno Haible  <bruno@clisp.org>
79118         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
79119         strings.
79121 2009-03-06  Bruno Haible  <bruno@clisp.org>
79123         Tests for module 'uninorm/u32-normcmp'.
79124         * tests/uninorm/test-u32-normcmp.c: New file.
79125         * modules/uninorm/u32-normcmp-tests: New file.
79127         Tests for module 'uninorm/u16-normcmp'.
79128         * tests/uninorm/test-u16-normcmp.c: New file.
79129         * modules/uninorm/u16-normcmp-tests: New file.
79131         Tests for module 'uninorm/u8-normcmp'.
79132         * tests/uninorm/test-u8-normcmp.c: New file.
79133         * modules/uninorm/u8-normcmp-tests: New file.
79135         New module 'uninorm/u32-normcmp'.
79136         * lib/uninorm/u32-normcmp.c: New file.
79137         * modules/uninorm/u32-normcmp: New file.
79139         New module 'uninorm/u16-normcmp'.
79140         * lib/uninorm/u16-normcmp.c: New file.
79141         * modules/uninorm/u16-normcmp: New file.
79143         New module 'uninorm/u8-normcmp'.
79144         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
79145         declarations.
79146         * lib/uninorm/u8-normcmp.c: New file.
79147         * lib/uninorm/u-normcmp.h: New file.
79148         * modules/uninorm/u8-normcmp: New file.
79150 2009-03-06  Bruno Haible  <bruno@clisp.org>
79152         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
79153         Reported by Eric Blake.
79155 2009-03-06  Eric Blake  <ebb9@byu.net>
79156             Bruno Haible  <bruno@clisp.org>
79158         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
79159         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
79160         condition.
79161         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
79162         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
79163         condition.
79164         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
79166 2009-03-06  Eric Blake  <ebb9@byu.net>
79168         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
79169         to avoid compiler warnings.
79170         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
79172 2009-03-05  Bruno Haible  <bruno@clisp.org>
79174         * tests/test-ftell.c (main): Disable test beyond end of file on
79175         FreeMiNT.
79176         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
79178 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
79180         * lib/filevercmp.c: Move hidden files up in ordering.
79181         * tests/test-filevercmp.c: Add tests for hidden files.
79183 2009-03-04  Bruno Haible  <bruno@clisp.org>
79185         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
79186         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
79187         AM_CFLAGS.
79188         Reported by Simon Josefsson.
79190 2009-03-03  Bruno Haible  <bruno@clisp.org>
79192         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
79193         Reported by Simon Josefsson.
79195         * doc/ld-version-script.texi: Update node reference.
79197 2009-03-03  Bruno Haible  <bruno@clisp.org>
79199         * modules/visibility (License): Change to 'unlimited'.
79200         Suggested by Simon Josefsson.
79202 2009-03-03  Jim Meyering  <meyering@redhat.com>
79204         unlinkdir: cannot_unlink_dir may modify process state
79205         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
79206         it's neither thread-safe nor appropriate for use in a library.
79208 2009-03-03  Eric Blake  <ebb9@byu.net>
79210         test-closein: silence test under Darwin
79211         * tests/test-closein.sh: Ignore stderr from cat, since we don't
79212         care if it dies from EPIPE or EBADF.
79214 2009-03-03  Bruno Haible  <bruno@clisp.org>
79216         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
79217         earlier.
79218         * doc/visibility.texi: Fix @node and @section.
79220 2009-03-03  Simon Josefsson  <simon@josefsson.org>
79222         * doc/gnulib.texi: Link to sections for ld version script and
79223         visibility.
79224         * doc/visibility.texi: Add @node and @section.
79225         * modules/ld-version-script: New module.
79226         * m4/ld-version-script.m4: New file.
79227         * doc/ld-version-script.texi: New file.
79229 2009-03-02  David Lutterkort  <lutter@redhat.com>
79231         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
79232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
79234 2009-03-02  Bruno Haible  <bruno@clisp.org>
79236         * doc/visibility.texi: Mention libtool's -export-symbols option.
79238 2009-03-02  Jim Meyering  <meyering@redhat.com>
79240         announce-gen: new option: --no-print-checksums
79241         * build-aux/announce-gen (usage): Describe it.
79242         (print_checksums): Print a newline here, not in the [*] footnote.
79243         (main): Honor it.
79245 2009-03-01  Bruno Haible  <bruno@clisp.org>
79247         Use socklen_t in the native Windows replacements prototypes.
79248         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
79249         instead of 'int'.
79250         * lib/getsockopt.c (rpl_getsockopt): Likewise.
79251         * lib/setsockopt.c (rpl_setsockopt): Likewise.
79252         * modules/getsockopt (Depends-on): Add socklen.
79253         * modules/setsockopt (Depends-on): Add socklen.
79255 2009-03-01  Bruno Haible  <bruno@clisp.org>
79257         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
79258         least 4.2.
79260 2009-03-01  Eric Blake  <ebb9@byu.net>
79261             Bruno Haible  <bruno@clisp.org>
79263         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
79264         error messages.
79265         * lib/wait-process.c (wait_subprocess): Omit error message about
79266         deadly signal sent to the child of termsigp != NULL.
79268 2009-03-01  Eric Blake  <ebb9@byu.net>
79270         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
79272 2009-03-01  Bruno Haible  <bruno@clisp.org>
79274         Avoid a gcc warning.
79275         * tests/test-sched.c (b): Make global.
79276         Reported by Eric Blake.
79278 2009-01-19  Martin Lambers  <marlam@marlam.de>
79280         Provide POSIX semantics for socket timeout options on W32.
79281         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
79282         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
79283         * modules/setsockopt: Depend on sys_time module for struct timeval.
79284         * modules/getsockopt: Depend on sys_time module for struct timeval.
79286 2009-03-01  Simon Josefsson  <simon@josefsson.org>
79288         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
79289         __USE_GNU, for consistency with netdb.in.h.
79290         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
79292 2009-03-01  Bruno Haible  <bruno@clisp.org>
79294         More support for FreeMiNT.
79295         * lib/fseeko.c (rpl_fseeko): Complete last commit.
79296         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
79298 2009-03-01  Bruno Haible  <bruno@clisp.org>
79300         More support for FreeMiNT.
79301         * lib/fpurge.c (fpurge): Correct last commit.
79302         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
79304 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79306         Fix unportable awk script in vc-list-files.
79307         * build-aux/vc-list-files: In the replacement awk script, use
79308         substr with a second argument of 1, not zero.
79309         Report by Simon Josefsson.
79311 2009-02-28  Bruno Haible  <bruno@clisp.org>
79313         More support for FreeMiNT.
79314         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
79315         to FreeMiNT today.
79316         * lib/fwriting.c (fwriting): Likewise.
79317         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
79319 2009-02-28  Bruno Haible  <bruno@clisp.org>
79321         * tests/test-freadseek.c (main): Disable test beyond end of file on
79322         FreeMiNT.
79323         * tests/test-ftello.c (main): Likewise.
79324         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
79326 2009-02-28  Bruno Haible  <bruno@clisp.org>
79328         Add tentative support for FreeMiNT.
79329         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
79330         * lib/fpurge.c (fpurge): Likewise.
79331         * lib/freadable.c (freadable): Likewise.
79332         * lib/freading.c (freading): Likewise.
79333         * lib/freadptr.c (freadptr): Likewise.
79334         * lib/freadseek.c (freadptrinc): Likewise.
79335         * lib/fseeko.c (rpl_fseeko): Likewise.
79336         * lib/fseterr.c (fseterr): Likewise.
79337         * lib/fwritable.c (fwritable): Likewise.
79338         * lib/fwriting.c (fwriting): Likewise.
79339         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
79340         Hourihane.
79341         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
79343 2009-02-28  Bruno Haible  <bruno@clisp.org>
79345         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
79346         SIGCHLD.
79347         Reported by Jim Meyering.
79349 2009-02-28  Bruno Haible  <bruno@clisp.org>
79351         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
79352         Mention the results of these tests on various platforms.
79353         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
79354         order.
79355         * doc/posix-functions/printf.texi: Likewise.
79356         * doc/posix-functions/snprintf.texi: Likewise.
79357         * doc/posix-functions/sprintf.texi: Likewise.
79358         * doc/posix-functions/vfprintf.texi: Likewise.
79359         * doc/posix-functions/vprintf.texi: Likewise.
79360         * doc/posix-functions/vsnprintf.texi: Likewise.
79361         * doc/posix-functions/vsprintf.texi: Likewise.
79362         * doc/glibc-functions/obstack_printf.texi: Likewise.
79363         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
79365 2009-02-28  Bruno Haible  <bruno@clisp.org>
79367         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
79368         Reported by Loïc Minier <lool@dooz.org>.
79370 2009-02-27  Bruno Haible  <bruno@clisp.org>
79372         * gnulib-tool (func_import): Make the sed expression used to create the
79373         sed script for updating the .gitignore file POSIX compliant.
79374         Reported by Eric Blake.
79376 2009-02-27  Bruno Haible  <bruno@clisp.org>
79378         * gnulib-tool (sed): Don't alias as "sed --posix".
79379         Reported by Eric Blake.
79381 2009-02-27  Bruno Haible  <bruno@clisp.org>
79383         Avoid test link errors.
79384         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
79385         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
79386         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
79387         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
79388         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
79390 2009-02-27  Bruno Haible  <bruno@clisp.org>
79392         Avoid spurious "(cached)" in configure output.
79393         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
79394         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
79395         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
79396         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
79397         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
79398         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
79399         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
79400         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
79401         Reported by Eric Blake.
79403 2009-02-27  Eric Blake  <ebb9@byu.net>
79405         printf: fix regression in previous patch
79406         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
79408 2009-02-27  Bruno Haible  <bruno@clisp.org>
79410         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
79411         value.
79412         * lib/stdint.in.h: Likewise.
79413         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
79415 2009-02-27  Eric Blake  <ebb9@byu.net>
79417         doc: mention more functions added in cygwin 1.7.0
79418         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
79419         addition.
79420         * doc/posix-functions/open_wmemstream.texi: Likewise.
79421         * doc/posix-functions/wcsnlen.texi: Likewise.
79422         * doc/posix-functions/wcsnrtombs.texi: Likewise.
79423         * doc/posix-functions/wcstod.texi: Likewise.
79424         * doc/posix-functions/wcstof.texi: Likewise.
79425         * doc/posix-functions/wcstoimax.texi: Likewise.
79426         * doc/posix-functions/wcstok.texi: Likewise.
79427         * doc/posix-functions/wcstoumax.texi: Likewise.
79429         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
79430         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
79431         * doc/posix-functions/fprintf.texi: Update.
79432         * doc/posix-functions/printf.texi: Update.
79433         * doc/posix-functions/snprintf.texi: Update.
79434         * doc/posix-functions/sprintf.texi: Update.
79435         * doc/posix-functions/vfprintf.texi: Update.
79436         * doc/posix-functions/vprintf.texi: Update.
79437         * doc/posix-functions/vsnprintf.texi: Update.
79438         * doc/posix-functions/vsprintf.texi: Update.
79439         * doc/glibc-functions/obstack_printf.texi: Update.
79440         * doc/glibc-functions/obstack_vprintf.texi: Update.
79442 2009-02-26  Eric Blake  <ebb9@byu.net>
79444         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
79445         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
79446         compilation bug by using runtime conversion.
79447         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
79448         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
79449         * modules/ceill-tests (Files): Use nan.h.
79450         * modules/floorl-tests (Files): Likewise.
79451         * modules/frexpl-tests (Files): Likewise.
79452         * modules/isnanl-tests (Files): Likewise.
79453         * modules/ldexpl-tests (Files): Likewise.
79454         * modules/roundl-tests (Files): Likewise.
79455         * modules/truncl-tests (Files): Likewise.
79456         * tests/test-ceill.c (main): Use a working NaN.
79457         * tests/test-floorl.c (main): Likewise.
79458         * tests/test-frexpl.c (main): Likewise.
79459         * tests/test-isnan.c (test_long_double): Likewise.
79460         * tests/test-isnanl.h (main): Likewise.
79461         * tests/test-ldexpl.h (main): Likewise.
79462         * tests/test-roundl.h (main): Likewise.
79463         * tests/test-truncl.h (main): Likewise.
79464         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
79466 2009-02-26  Eric Blake  <ebb9@byu.net>
79467             Bruno Haible  <bruno@clisp.org>
79469         Work around a *printf bug with %ls on Solaris.
79470         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
79471         precision is specified, sprintf stops converting the wide string
79472         argument when the number of bytes that have been produced by this
79473         conversion equals or exceeds the precision.
79474         * doc/posix-functions/fprintf.texi: Update.
79475         * doc/posix-functions/printf.texi: Update.
79476         * doc/posix-functions/snprintf.texi: Update.
79477         * doc/posix-functions/sprintf.texi: Update.
79478         * doc/posix-functions/vfprintf.texi: Update.
79479         * doc/posix-functions/vprintf.texi: Update.
79480         * doc/posix-functions/vsnprintf.texi: Update.
79481         * doc/posix-functions/vsprintf.texi: Update.
79482         * doc/glibc-functions/obstack_printf.texi: Update.
79483         * doc/glibc-functions/obstack_vprintf.texi: Update.
79485 2009-02-26  Eric Blake  <ebb9@byu.net>
79487         stdlib: favor compiler check of random.h
79488         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
79489         to avoid an ObjC random.h installed by Swarm.
79491 2009-02-26  Bruno Haible  <bruno@clisp.org>
79493         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
79494         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
79495         Reported by Gary V. Vaughan <gary@gnu.org>.
79497 2009-02-26  Bruno Haible  <bruno@clisp.org>
79499         Fix *printf behaviour regarding the %ls directive.
79500         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
79501         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
79502         NEED_PRINTF_DIRECTIVE_LS.
79503         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
79504         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
79505         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
79506         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
79507         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
79508         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
79509         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
79510         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
79511         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
79512         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
79513         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
79514         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
79515         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
79516         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79517         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
79518         * doc/posix-functions/fprintf.texi: Update.
79519         * doc/posix-functions/printf.texi: Update.
79520         * doc/posix-functions/snprintf.texi: Update.
79521         * doc/posix-functions/sprintf.texi: Update.
79522         * doc/posix-functions/vfprintf.texi: Update.
79523         * doc/posix-functions/vprintf.texi: Update.
79524         * doc/posix-functions/vsnprintf.texi: Update.
79525         * doc/posix-functions/vsprintf.texi: Update.
79526         * doc/glibc-functions/obstack_printf.texi: Update.
79527         * doc/glibc-functions/obstack_vprintf.texi: Update.
79528         Reported by Eric Blake.
79530 2009-02-25  Bruno Haible  <bruno@clisp.org>
79532         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
79533         with known value.
79534         Reported by Gary V. Vaughan <gary@gnu.org>.
79536 2009-02-25  Bruno Haible  <bruno@clisp.org>
79538         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
79539         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
79540         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
79541         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
79542         Reported by Gary V. Vaughan <gary@gnu.org>.
79544 2009-02-25  Bruno Haible  <bruno@clisp.org>
79546         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
79547         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
79548         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
79549         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
79550         Reported by Gary V. Vaughan <gary@gnu.org>.
79552 2009-02-25  Eric Blake  <ebb9@byu.net>
79554         tests: skip fseek/ftell tests if ungetc is broken
79555         * m4/ungetc.m4: New file.
79556         * modules/fseek-tests: Split test, so ungetc dependency is
79557         separate from rest of test.
79558         * modules/fseeko-tests: Likewise.
79559         * modules/ftell-tests: Likewise.
79560         * modules/ftello-tests: Likewise.
79561         * tests/test-fseek.c (main): Isolate ungetc dependency.
79562         * tests/test-fseeko.c (main): Likewise.
79563         * tests/test-ftell.c (main): Likewise.
79564         * tests/test-ftello.c (main): Likewise.
79565         * tests/test-fseek2.sh: New file.
79566         * tests/test-fseeko2.sh: Likewise.
79567         * tests/test-ftell2.sh: Likewise.
79568         * tests/test-ftello2.sh: Likewise.
79570 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
79572         test-getaddrinfo: fix usage of skip return code 77
79573         * tests/test-gettaddrinfo.c: Return skip code 77 only
79574         for first occurrence of skip (4x77 is not 77)
79576 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
79578         strtod: avoid C99 decl-after-statement
79579         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
79581 2009-02-24  Eric Blake  <ebb9@byu.net>
79583         strtod: detect HP-UX 11.31 bug
79584         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
79585         Reported by Gary V. Vaughan.
79587 2009-02-23  Bruno Haible  <bruno@clisp.org>
79589         Fix invalid read past end of memory block.
79590         * lib/vasnprintf.c (DCHAR_SET): Define.
79591         (local_wcslen): Define only when needed.
79592         (local_strnlen, local_wcsnlen): New functions.
79593         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
79594         directives that involve a conversion ourselves.
79595         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
79596         wcsnlen, mbrtowc, wcrtomb.
79597         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
79598         * tests/test-vasprintf-posix.c (test_function): Likewise.
79599         * tests/test-snprintf-posix.h (test_function): Likewise.
79600         * tests/test-sprintf-posix.h (test_function): Likewise.
79601         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79603 2009-02-22  Bruno Haible  <bruno@clisp.org>
79605         Implement new clarified decomposition of Hangul syllables.
79606         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
79607         of type LTV, return only a pairwise decomposition.
79608         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
79609         Likewise.
79610         * tests/uninorm/test-decomposition.c (main): Updated expected result.
79611         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
79612         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
79614 2009-02-22  Bruno Haible  <bruno@clisp.org>
79616         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
79617         zero-length results and shrink excess allocated memory.
79618         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
79619         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
79620         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
79621         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
79622         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
79623         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
79624         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
79625         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
79626         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
79627         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
79628         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
79629         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
79631 2009-02-21  Bruno Haible  <bruno@clisp.org>
79633         * doc/gnulib.texi: Include safe-alloc.texi earlier.
79634         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
79635         spaces after a period. Put a space between a macro name and its
79636         argument list. Trivial rewordings.
79637         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
79638         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
79639         (main): Return 0 explicitly.
79641 2009-02-21  Bruno Haible  <bruno@clisp.org>
79643         Tests for module 'uninorm/filter'.
79644         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
79645         * modules/uninorm/filter-tests: New file.
79647         New module 'uninorm/filter'.
79648         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
79649         uninorm_filter_flush, uninorm_filter_free): New declarations.
79650         * lib/uninorm/uninorm-filter.c: New file.
79651         * modules/uninorm/filter: New file.
79653 2009-02-21  Bruno Haible  <bruno@clisp.org>
79655         Tests for module 'uninorm/nfkc'.
79656         * tests/uninorm/test-nfkc.c: New file.
79657         * tests/uninorm/test-u8-nfkc.c: New file.
79658         * tests/uninorm/test-u16-nfkc.c: New file.
79659         * tests/uninorm/test-u32-nfkc.c: New file.
79660         * tests/uninorm/test-u32-nfkc-big.sh: New file.
79661         * tests/uninorm/test-u32-nfkc-big.c: New file.
79662         * modules/uninorm/nfkc-tests: New file.
79664         New module 'uninorm/nfkc'.
79665         * lib/uninorm/nfkc.c: New file.
79666         * modules/uninorm/nfkc: New file.
79668         Tests for module 'uninorm/nfkd'.
79669         * tests/uninorm/test-nfkd.c: New file.
79670         * tests/uninorm/test-u8-nfkd.c: New file.
79671         * tests/uninorm/test-u16-nfkd.c: New file.
79672         * tests/uninorm/test-u32-nfkd.c: New file.
79673         * tests/uninorm/test-u32-nfkd-big.sh: New file.
79674         * tests/uninorm/test-u32-nfkd-big.c: New file.
79675         * modules/uninorm/nfkd-tests: New file.
79677         New module 'uninorm/nfkd'.
79678         * lib/uninorm/nfkd.c: New file.
79679         * modules/uninorm/nfkd: New file.
79681         Tests for module 'uninorm/nfc'.
79682         * tests/uninorm/test-nfc.c: New file.
79683         * tests/uninorm/test-u8-nfc.c: New file.
79684         * tests/uninorm/test-u16-nfc.c: New file.
79685         * tests/uninorm/test-u32-nfc.c: New file.
79686         * tests/uninorm/test-u32-nfc-big.sh: New file.
79687         * tests/uninorm/test-u32-nfc-big.c: New file.
79688         * modules/uninorm/nfc-tests: New file.
79690         New module 'uninorm/nfc'.
79691         * lib/uninorm/nfc.c: New file.
79692         * modules/uninorm/nfc: New file.
79694         Tests for module 'uninorm/nfd'.
79695         * tests/uninorm/test-nfd.c: New file.
79696         * tests/uninorm/test-u8-nfd.c: New file.
79697         * tests/uninorm/test-u16-nfd.c: New file.
79698         * tests/uninorm/test-u32-nfd.c: New file.
79699         * tests/uninorm/test-u32-nfd-big.sh: New file.
79700         * tests/uninorm/test-u32-nfd-big.c: New file.
79701         * tests/uninorm/test-u32-normalize-big.h: New file.
79702         * tests/uninorm/test-u32-normalize-big.c: New file.
79703         * tests/uninorm/NormalizationTest.txt: New file, created from
79704         Unicode 5.1.0 NormalizationTest.txt.
79705         * modules/uninorm/nfd-tests: New file.
79707         New module 'uninorm/nfd'.
79708         * lib/uninorm/nfd.c: New file.
79709         * modules/uninorm/nfd: New file.
79711         New module 'uninorm/u32-normalize'.
79712         * lib/uninorm/u32-normalize.c: New file.
79713         * modules/uninorm/u32-normalize: New file.
79715         New module 'uninorm/u16-normalize'.
79716         * lib/uninorm/u16-normalize.c: New file.
79717         * modules/uninorm/u16-normalize: New file.
79719         New module 'uninorm/u8-normalize'.
79720         * lib/uninorm/u8-normalize.c: New file.
79721         * lib/uninorm/normalize-internal.h: New file.
79722         * lib/uninorm/u-normalize-internal.h: New file.
79723         * modules/uninorm/u8-normalize: New file.
79725         New module 'uninorm/decompose-internal'.
79726         * lib/uninorm/decompose-internal.c: New file.
79727         * modules/uninorm/decompose-internal: New file.
79729         Tests for module 'uninorm/composition'.
79730         * tests/uninorm/test-composition.c: New file.
79731         * modules/uninorm/composition-tests: New file.
79733         New module 'uninorm/composition'.
79734         * lib/uninorm/composition.c: New file.
79735         * lib/uninorm/composition-table.gperf: New file, generated by
79736         gen-uni-tables.
79737         * modules/uninorm/composition: New file.
79739         Tests for module 'uninorm/compat-decomposition'.
79740         * tests/uninorm/test-compat-decomposition.c: New file.
79741         * modules/uninorm/compat-decomposition-tests: New file.
79743         New module 'uninorm/compat-decomposition'.
79744         * lib/uninorm/decompose-internal.h: New file.
79745         * lib/uninorm/compat-decomposition.c: New file.
79746         * modules/uninorm/compat-decomposition: New file.
79748         Tests for module 'uninorm/canonical-decomposition'.
79749         * tests/uninorm/test-canonical-decomposition.c: New file.
79750         * modules/uninorm/canonical-decomposition-tests: New file.
79752         New module 'uninorm/canonical-decomposition'.
79753         * lib/uninorm/canonical-decomposition.c: New file.
79754         * modules/uninorm/canonical-decomposition: New file.
79756         Tests for module 'uninorm/decomposition'.
79757         * tests/uninorm/test-decomposition.c: New file.
79758         * modules/uninorm/decomposition-tests: New file.
79760         New module 'uninorm/decomposition'.
79761         * lib/uninorm/decomposition.c: New file.
79762         * modules/uninorm/decomposition: New file.
79764         New module 'uninorm/decomposition-table'.
79765         * lib/uninorm/decomposition-table.h: New file.
79766         * lib/uninorm/decomposition-table.c: New file.
79767         * lib/uninorm/decomposition-table1.h: New file, generated by
79768         gen-uni-tables.
79769         * lib/uninorm/decomposition-table2.h: New file, generated by
79770         gen-uni-tables.
79771         * modules/uninorm/decomposition-table: New file.
79773         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
79774         (UC_DECOMP_*): New enumeration items.
79775         (get_decomposition): New function.
79776         (struct decomp_table): New type.
79777         (output_decomposition, output_decomposition_tables): New functions.
79778         (unicode_composition_exclusions): New variable.
79779         (fill_composition_exclusions, debug_output_composition_tables): New
79780         functions.
79781         (main): Accept one more argument. Invoke fill_composition_exclusions.
79782         Output decomposition and composition tables.
79784         New module 'uninorm/base'.
79785         * lib/uninorm.h: New file.
79786         * lib/unictype.h: Update comment.
79787         * modules/uninorm/base: New file.
79789 2009-02-21  David Lutterkort  <lutter@redhat.com>
79791         Tests for module 'safe-alloc'.
79792         * tests/test-safe-alloc.c: New file.
79793         * modules/safe-alloc-tests: New file.
79795         New module 'safe-alloc'.
79796         * lib/safe-alloc.h: New file.
79797         * lib/safe-alloc.c: New file.
79798         * m4/safe-alloc.m4: New file.
79799         * modules/safe-alloc: New file.
79800         * doc/safe-alloc.texi: New file.
79801         * doc/gnulib.texi: Include it.
79802         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
79803         safe-alloc.
79805 2009-02-18  Bruno Haible  <bruno@clisp.org>
79807         Fix link error on non-glibc systems.
79808         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
79809         variable.
79810         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
79812 2009-02-18  Jim Meyering  <meyering@redhat.com>
79814         fts: avoid used-uninitialized error due to recent change
79815         * lib/fts.c (fts_read): Guard uses of the new member,
79816         parent->fts_n_dirs_remaining, since it's not relevant for
79817         the parent of a directory specified on the command-line.
79819 2009-02-17  James Youngman  <jay@gnu.org>
79820             Bruno Haible  <bruno@clisp.org>
79822         * m4/include_next.m4: Reformulate comment.
79824 2009-02-16  Jim Meyering  <meyering@redhat.com>
79826         fts: add #if guards so that the fts_lgpl module still builds
79827         * lib/fts.c: Guard just-added hash-table-using parts with
79828         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
79829         Reported by Simon Josefsson.
79831 2009-02-15  Bruno Haible  <bruno@clisp.org>
79833         * modules/array-mergesort-tests: New file.
79834         * tests/test-array-mergesort.c: New file.
79836         New module 'array-mergesort'.
79837         * modules/array-mergesort: New file.
79838         * lib/array-mergesort.h: New file.
79840 2009-02-15  Bruno Haible  <bruno@clisp.org>
79842         Fix 2009-02-07 commit.
79843         * lib/gen-uni-tables.c (output_predicate, output_category,
79844         output_combclass, output_bidi_category, output_decimal_digit,
79845         output_digit, output_numeric, output_mirror, output_scripts,
79846         output_ident_category, output_simple_mapping): Fix format directives.
79847         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
79849 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
79851         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
79852         fixes are available from IBM.
79854 2009-02-13  Jim Meyering  <meyering@redhat.com>
79856         fts: arrange not to stat non-directories in more cases
79857         This makes GNU find (when it doesn't need to stat each file)
79858         *much* more efficient at traversing reiserfs file systems.
79859         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
79860         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
79861         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
79862         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
79863         (leaf_optimization_applies): New function.
79864         (LCO_hash, LCO_compare): New helper functions.
79865         (link_count_optimize_ok): New function.
79866         (fts_stat): Initialize new member (if dir).
79867         (fts_read): Decrement parent's fts_n_dirs_remaining count if
79868         we've just stat'ed a directory.  Skip the stat call when possible.
79869         ---
79870         Note this AFS-related exchange:
79871         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
79872         and note find's pioctl call in find/fstype.c.
79873         But that is necessary only if you want to enable the
79874         optimization for AFS, and for now, I don't.
79876         fts: move a function definition "up" (no semantic change)
79877         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
79878         "up" to precede upcoming use of a related function.
79880 2009-02-11  Jim Meyering  <meyering@redhat.com>
79882         fts: correct internal computation of nlinks (optimization-related)
79883         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
79884         whether the current entry is a directory, so don't test it.
79886 2009-02-10  Bruno Haible  <bruno@clisp.org>
79888         Tests for module 'uniwbrk/ulc-wordbreaks'.
79889         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
79890         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
79891         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
79893         Tests for module 'uniwbrk/u32-wordbreaks'.
79894         * modules/uniwbrk/u32-wordbreaks-tests: New file.
79895         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
79897         Tests for module 'uniwbrk/u16-wordbreaks'.
79898         * modules/uniwbrk/u16-wordbreaks-tests: New file.
79899         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
79901         Tests for module 'uniwbrk/u8-wordbreaks'.
79902         * modules/uniwbrk/u8-wordbreaks-tests: New file.
79903         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
79905 2009-02-10  Bruno Haible  <bruno@clisp.org>
79907         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
79908         property.
79909         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
79910         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
79911         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
79913 2009-02-10  Simon Josefsson  <simon@josefsson.org>
79915         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
79916         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
79918 2009-02-10  Bruno Haible  <bruno@clisp.org>
79920         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
79921         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
79922         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
79923         * lib/unilbrk/u8-possible-linebreaks.c: Update.
79924         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
79925         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
79927 2009-02-09  Simon Josefsson  <simon@josefsson.org>
79929         * lib/sockets.h (gl_fd_to_handle): New function.
79931         * tests/test-sockets.c: Call gl_fd_to_handle.
79933 2009-02-09  Bruno Haible  <bruno@clisp.org>
79935         * doc/havelib.texi: Document the conventions on bi-arch systems.
79937 2009-02-08  Bruno Haible  <bruno@clisp.org>
79939         Document the AC_LIB_LINKFLAGS macro.
79940         * doc/havelib.texi: New file, mostly written on 2005-05-24.
79941         * doc/gnulib.texi: Include it.
79943 2009-02-08  Bruno Haible  <bruno@clisp.org>
79945         Fix wrong order of sections, compared to TOC.
79946         * doc/gnulib.texi: Include relocatable-maint.texi after the
79947         "Regular expressions" node, not before.
79949 2009-02-08  Bruno Haible  <bruno@clisp.org>
79951         Tests for module 'unicase/totitle'.
79952         * modules/unicase/totitle-tests: New file.
79954         Tests for module 'unicase/tolower'.
79955         * modules/unicase/tolower-tests: New file.
79957         Tests for module 'unicase/toupper'.
79958         * modules/unicase/toupper-tests: New file.
79959         * tests/unicase/test-mapping-part1.h: New file.
79960         * tests/unicase/test-mapping-part2.h: New file.
79962         New module 'unicase/totitle'.
79963         * modules/unicase/totitle: New file.
79964         * lib/unicase/totitle.c: New file.
79966         New module 'unicase/tolower'.
79967         * modules/unicase/tolower: New file.
79968         * lib/unicase/tolower.c: New file.
79970         New module 'unicase/toupper'.
79971         * modules/unicase/toupper: New file.
79972         * lib/unicase/toupper.c: New file.
79973         * lib/unicase/simple-mapping.h: New file.
79975         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
79976         (mapping_table): New structure.
79977         (output_simple_mapping): New function.
79978         (main): Invoke output_simple_mapping_test and output_simple_mapping.
79979         * modules/gen-uni-tables (Description): Update.
79980         * lib/unicase/toupper.h: New file, automatically generated by
79981         gen-uni-tables.
79982         * lib/unicase/tolower.h: New file, automatically generated by
79983         gen-uni-tables.
79984         * lib/unicase/totitle.h: New file, automatically generated by
79985         gen-uni-tables.
79986         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
79987         gen-uni-tables.
79988         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
79989         gen-uni-tables.
79990         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
79991         gen-uni-tables.
79993         New module 'unicase/base'.
79994         * modules/unicase/base: New file.
79995         * lib/unicase.h: New file.
79997 2009-02-08  Bruno Haible  <bruno@clisp.org>
79999         New module 'uniwbrk/ulc-wordbreaks'.
80000         * modules/uniwbrk/ulc-wordbreaks: New file.
80001         * lib/uniwbrk/ulc-wordbreaks.c: New file.
80003         New module 'uniwbrk/u32-wordbreaks'.
80004         * modules/uniwbrk/u32-wordbreaks: New file.
80005         * lib/uniwbrk/u32-wordbreaks.c: New file.
80007         New module 'uniwbrk/u16-wordbreaks'.
80008         * modules/uniwbrk/u16-wordbreaks: New file.
80009         * lib/uniwbrk/u16-wordbreaks.c: New file.
80011         New module 'uniwbrk/u8-wordbreaks'.
80012         * modules/uniwbrk/u8-wordbreaks: New file.
80013         * lib/uniwbrk/u8-wordbreaks.c: New file.
80014         * lib/uniwbrk/u-wordbreaks.h: New file.
80016         New module 'uniwbrk/table'.
80017         * modules/uniwbrk/table: New file.
80018         * lib/uniwbrk/wbrktable.h: New file.
80019         * lib/uniwbrk/wbrktable.c: New file.
80021         New module 'uniwbrk/wordbreak-property'.
80022         * modules/uniwbrk/wordbreak-property: New file.
80023         * lib/uniwbrk/wordbreak-property.c: New file.
80025         * lib/gen-uni-tables.c (WBP_*): New enum items.
80026         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
80027         (unicode_org_wbp): New variable.
80028         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
80029         New functions.
80030         (wbp_table): New structure.
80031         (output_wbp, output_wbrk_tables): New functions.
80032         (main): Accept additional argument. Invoke fill_org_wbp,
80033         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
80034         output_wbrk_tables.
80035         * modules/gen-uni-tables (Description): Update.
80036         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
80037         gen-uni-tables.
80039         New module 'uniwbrk/base'.
80040         * modules/uniwbrk/base: New file.
80041         * lib/uniwbrk.h: New file.
80043 2009-02-08  Bruno Haible  <bruno@clisp.org>
80045         Update to Unicode 5.1.0.
80046         * lib/gen-uni-tables.c (is_property_alphabetic): Include
80047         U+2185..U+2188.
80048         (is_property_default_ignorable_code_point): Don't include characters
80049         of category Cc or Cs and not-a-characters.
80050         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
80051         U+0D79, U+109E, U+109F, U+A60C.
80052         * lib/unictype/bidi_of.h: Regenerated.
80053         * lib/unictype/blocks.h: Regenerated.
80054         * lib/unictype/categ_C.h: Regenerated.
80055         * lib/unictype/categ_Cf.h: Regenerated.
80056         * lib/unictype/categ_Cn.h: Regenerated.
80057         * lib/unictype/categ_L.h: Regenerated.
80058         * lib/unictype/categ_Ll.h: Regenerated.
80059         * lib/unictype/categ_Lm.h: Regenerated.
80060         * lib/unictype/categ_Lo.h: Regenerated.
80061         * lib/unictype/categ_Lu.h: Regenerated.
80062         * lib/unictype/categ_M.h: Regenerated.
80063         * lib/unictype/categ_Mc.h: Regenerated.
80064         * lib/unictype/categ_Me.h: Regenerated.
80065         * lib/unictype/categ_Mn.h: Regenerated.
80066         * lib/unictype/categ_N.h: Regenerated.
80067         * lib/unictype/categ_Nd.h: Regenerated.
80068         * lib/unictype/categ_Nl.h: Regenerated.
80069         * lib/unictype/categ_No.h: Regenerated.
80070         * lib/unictype/categ_P.h: Regenerated.
80071         * lib/unictype/categ_Pd.h: Regenerated.
80072         * lib/unictype/categ_Pe.h: Regenerated.
80073         * lib/unictype/categ_Pf.h: Regenerated.
80074         * lib/unictype/categ_Pi.h: Regenerated.
80075         * lib/unictype/categ_Po.h: Regenerated.
80076         * lib/unictype/categ_Ps.h: Regenerated.
80077         * lib/unictype/categ_S.h: Regenerated.
80078         * lib/unictype/categ_Sk.h: Regenerated.
80079         * lib/unictype/categ_Sm.h: Regenerated.
80080         * lib/unictype/categ_So.h: Regenerated.
80081         * lib/unictype/categ_of.h: Regenerated.
80082         * lib/unictype/combining.h: Regenerated.
80083         * lib/unictype/ctype_alnum.h: Regenerated.
80084         * lib/unictype/ctype_alpha.h: Regenerated.
80085         * lib/unictype/ctype_graph.h: Regenerated.
80086         * lib/unictype/ctype_lower.h: Regenerated.
80087         * lib/unictype/ctype_print.h: Regenerated.
80088         * lib/unictype/ctype_punct.h: Regenerated.
80089         * lib/unictype/ctype_upper.h: Regenerated.
80090         * lib/unictype/decdigit.h: Regenerated.
80091         * lib/unictype/digit.h: Regenerated.
80092         * lib/unictype/mirror.h: Regenerated.
80093         * lib/unictype/numeric.h: Regenerated.
80094         * lib/unictype/pr_alphabetic.h: Regenerated.
80095         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
80096         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
80097         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
80098         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
80099         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
80100         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
80101         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
80102         * lib/unictype/pr_combining.h: Regenerated.
80103         * lib/unictype/pr_dash.h: Regenerated.
80104         * lib/unictype/pr_decimal_digit.h: Regenerated.
80105         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
80106         * lib/unictype/pr_deprecated.h: Regenerated.
80107         * lib/unictype/pr_diacritic.h: Regenerated.
80108         * lib/unictype/pr_extender.h: Regenerated.
80109         * lib/unictype/pr_format_control.h: Regenerated.
80110         * lib/unictype/pr_grapheme_base.h: Regenerated.
80111         * lib/unictype/pr_grapheme_extend.h: Regenerated.
80112         * lib/unictype/pr_grapheme_link.h: Regenerated.
80113         * lib/unictype/pr_id_continue.h: Regenerated.
80114         * lib/unictype/pr_id_start.h: Regenerated.
80115         * lib/unictype/pr_ideographic.h: Regenerated.
80116         * lib/unictype/pr_ignorable_control.h: Regenerated.
80117         * lib/unictype/pr_lowercase.h: Regenerated.
80118         * lib/unictype/pr_math.h: Regenerated.
80119         * lib/unictype/pr_numeric.h: Regenerated.
80120         * lib/unictype/pr_other_alphabetic.h: Regenerated.
80121         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
80122         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
80123         * lib/unictype/pr_other_id_continue.h: Regenerated.
80124         * lib/unictype/pr_other_lowercase.h: Regenerated.
80125         * lib/unictype/pr_other_math.h: Regenerated.
80126         * lib/unictype/pr_punctuation.h: Regenerated.
80127         * lib/unictype/pr_sentence_terminal.h: Regenerated.
80128         * lib/unictype/pr_soft_dotted.h: Regenerated.
80129         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
80130         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
80131         * lib/unictype/pr_unified_ideograph.h: Regenerated.
80132         * lib/unictype/pr_uppercase.h: Regenerated.
80133         * lib/unictype/pr_xid_continue.h: Regenerated.
80134         * lib/unictype/pr_xid_start.h: Regenerated.
80135         * lib/unictype/pr_zero_width.h: Regenerated.
80136         * lib/unictype/scripts.h: Regenerated.
80137         * lib/unictype/scripts_byname.gperf: Regenerated.
80138         * lib/unictype/sy_java_ident.h: Regenerated.
80139         * lib/unilbrk/lbrkprop1.h: Regenerated.
80140         * lib/unilbrk/lbrkprop2.h: Regenerated.
80141         * tests/unictype/test-categ_C.c: Regenerated.
80142         * tests/unictype/test-categ_Cf.c: Regenerated.
80143         * tests/unictype/test-categ_Cn.c: Regenerated.
80144         * tests/unictype/test-categ_L.c: Regenerated.
80145         * tests/unictype/test-categ_Ll.c: Regenerated.
80146         * tests/unictype/test-categ_Lm.c: Regenerated.
80147         * tests/unictype/test-categ_Lo.c: Regenerated.
80148         * tests/unictype/test-categ_Lu.c: Regenerated.
80149         * tests/unictype/test-categ_M.c: Regenerated.
80150         * tests/unictype/test-categ_Mc.c: Regenerated.
80151         * tests/unictype/test-categ_Me.c: Regenerated.
80152         * tests/unictype/test-categ_Mn.c: Regenerated.
80153         * tests/unictype/test-categ_N.c: Regenerated.
80154         * tests/unictype/test-categ_Nd.c: Regenerated.
80155         * tests/unictype/test-categ_Nl.c: Regenerated.
80156         * tests/unictype/test-categ_No.c: Regenerated.
80157         * tests/unictype/test-categ_P.c: Regenerated.
80158         * tests/unictype/test-categ_Pd.c: Regenerated.
80159         * tests/unictype/test-categ_Pe.c: Regenerated.
80160         * tests/unictype/test-categ_Pf.c: Regenerated.
80161         * tests/unictype/test-categ_Pi.c: Regenerated.
80162         * tests/unictype/test-categ_Po.c: Regenerated.
80163         * tests/unictype/test-categ_Ps.c: Regenerated.
80164         * tests/unictype/test-categ_S.c: Regenerated.
80165         * tests/unictype/test-categ_Sk.c: Regenerated.
80166         * tests/unictype/test-categ_Sm.c: Regenerated.
80167         * tests/unictype/test-categ_So.c: Regenerated.
80168         * tests/unictype/test-ctype_alnum.c: Regenerated.
80169         * tests/unictype/test-ctype_alpha.c: Regenerated.
80170         * tests/unictype/test-ctype_graph.c: Regenerated.
80171         * tests/unictype/test-ctype_lower.c: Regenerated.
80172         * tests/unictype/test-ctype_print.c: Regenerated.
80173         * tests/unictype/test-ctype_punct.c: Regenerated.
80174         * tests/unictype/test-ctype_upper.c: Regenerated.
80175         * tests/unictype/test-decdigit.h: Regenerated.
80176         * tests/unictype/test-digit.h: Regenerated.
80177         * tests/unictype/test-numeric.h: Regenerated.
80178         * tests/unictype/test-pr_alphabetic.c: Regenerated.
80179         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
80180         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
80181         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
80182         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
80183         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
80184         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
80185         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
80186         * tests/unictype/test-pr_combining.c: Regenerated.
80187         * tests/unictype/test-pr_dash.c: Regenerated.
80188         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
80189         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
80190         * tests/unictype/test-pr_deprecated.c: Regenerated.
80191         * tests/unictype/test-pr_diacritic.c: Regenerated.
80192         * tests/unictype/test-pr_extender.c: Regenerated.
80193         * tests/unictype/test-pr_format_control.c: Regenerated.
80194         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
80195         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
80196         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
80197         * tests/unictype/test-pr_id_continue.c: Regenerated.
80198         * tests/unictype/test-pr_id_start.c: Regenerated.
80199         * tests/unictype/test-pr_ideographic.c: Regenerated.
80200         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
80201         * tests/unictype/test-pr_lowercase.c: Regenerated.
80202         * tests/unictype/test-pr_math.c: Regenerated.
80203         * tests/unictype/test-pr_numeric.c: Regenerated.
80204         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
80205         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
80206         Regenerated.
80207         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
80208         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
80209         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
80210         * tests/unictype/test-pr_other_math.c: Regenerated.
80211         * tests/unictype/test-pr_punctuation.c: Regenerated.
80212         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
80213         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
80214         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
80215         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
80216         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
80217         * tests/unictype/test-pr_uppercase.c: Regenerated.
80218         * tests/unictype/test-pr_xid_continue.c: Regenerated.
80219         * tests/unictype/test-pr_xid_start.c: Regenerated.
80220         * tests/unictype/test-pr_zero_width.c: Regenerated.
80222         Update to Unicode 5.1.0.
80223         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
80224         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
80225         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
80226         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
80227         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
80228         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
80229         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
80230         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
80231         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
80232         (nonspacing_table_ind): Update.
80233         * tests/uniwidth/test-uc_width2.sh: Update expected result.
80235         Update to Unicode 5.1.0.
80236         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
80237         code transform.
80238         * lib/uniname/uniname.c (unicode_character_name,
80239         unicode_name_character): Add the range 0x1Fxxx to the code transform.
80240         * lib/uniname/uninames.h: Regenerated.
80241         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
80243 2009-02-07  Bruno Haible  <bruno@clisp.org>
80245         Merge gen-ctype and gen-lbrk into a single program.
80246         * lib/gen-uni-tables.c: New file, incorporating
80247         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
80248         Add directory prefixes to the names of the generated files.
80249         * lib/unictype/gen-ctype.c: Remove file.
80250         * lib/unilbrk/gen-lbrk.c: Remove file.
80251         * modules/gen-uni-tables: New file.
80252         * modules/unictype/gen-ctype: Remove file.
80253         * modules/unilbrk/gen-lbrk: Remove file.
80255 2009-02-07  Bruno Haible  <bruno@clisp.org>
80257         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
80259         New module 'unistr/u32-strcoll'.
80260         * modules/unistr/u32-strcoll: New file.
80261         * lib/unistr/u32-strcoll.c: New file.
80263         New module 'unistr/u16-strcoll'.
80264         * modules/unistr/u16-strcoll: New file.
80265         * lib/unistr/u16-strcoll.c: New file.
80267         New module 'unistr/u8-strcoll'.
80268         * modules/unistr/u8-strcoll: New file.
80269         * lib/unistr/u8-strcoll.c: New file.
80270         * lib/unistr/u-strcoll.h: New file.
80272 2009-02-07  Bruno Haible  <bruno@clisp.org>
80274         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
80275         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
80276         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
80277         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
80278         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
80279         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
80281 2009-02-07  Bruno Haible  <bruno@clisp.org>
80283         Make 64-bit clean.
80284         * lib/unictype/gen-ctype.c (output_predicate, output_category,
80285         output_combclass, output_bidi_category, output_decimal_digit,
80286         output_digit, output_numeric, output_mirror, output_scripts,
80287         output_ident_category): Use proper width specifier in format strings.
80289 2009-02-07  Bruno Haible  <bruno@clisp.org>
80291         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
80292         failure behaviour.
80294 2009-02-07  Jim Meyering  <meyering@redhat.com>
80296         regex: avoid compilation failure with upcoming gcc-4.4
80297         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
80298         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
80299         "... error: integer overflow in preprocessor expression".
80301 2009-02-05  Ben Pfaff  <blp@gnu.org>
80303         Fix link errors on Windows when close module is used.
80304         * modules/close: Add $(LIB_CLOSE) to Link section.
80305         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
80306         $(LIB_CLOSE) on Windows.
80308 2009-02-05  Jim Meyering  <meyering@redhat.com>
80310         still avoid unused-parameter warnings, but do it cleanly
80311         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
80312         (get_fs_usage): Cast to void instead.
80313         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
80314         (dev_from_mount_options, read_file_system_list): Cast to void.
80315         Prompted by Bruno Haible.
80317 2009-02-04  Jim Meyering  <meyering@redhat.com>
80319         fsusage.c: correct copyright year
80320         * lib/fsusage.c: Reflect year in which the change is pushed into
80322         avoid misc. warnings
80323         * lib/fsusage.c (UNUSED_PARAM): Define.
80324         (get_fs_usage): Mark parameter "disk" as unused.
80325         * lib/getugroups.c (getgrent): Use "void" in prototype.
80326         * lib/mountlist.c: Mark unused parameters.
80327         (read_file_system_list): Declare a local with "const".
80328         * lib/nanosleep.c (getnow): Declare static.
80329         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
80331         dirfd: set errno upon failure
80332         * lib/dirfd.c: Include <errno.h>.
80333         Set errno to ENOTSUP when returning -1.
80334         * modules/dirfd (Depends-on): Add errno.
80335         Suggested by John Kodis <kodis@comcast.net>.
80337 2009-02-01  Bruno Haible  <bruno@clisp.org>
80339         Don't assume sizeof (long) >= sizeof (void *).
80340         * lib/memcmp.c: Include stdint.h.
80341         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
80342         srcp2 to 'const byte *'.
80343         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
80344         types to uintptr_t.
80345         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
80346         * modules/memcmp (Depends-on): Add stdint.
80347         Reported by Ozkan Sezer <sezeroz@gmail.com>.
80349 2009-01-30  Eric Blake  <ebb9@byu.net>
80351         fix more require-before-expand issues
80352         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
80353         expand, AC_PROG_AWK.
80354         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
80356 2009-01-28  Eric Blake  <ebb9@byu.net>
80358         version-etc: use consistent URL formatting
80359         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
80360         Improve formatting.  Use fputs for string without %.
80362 2009-01-28  Jim Meyering  <meyering@redhat.com>
80364         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
80365         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
80366         "underquoted definition of NAME" from autoconf-2.59.
80368 2009-01-28  Bruno Haible  <bruno@clisp.org>
80370         * doc/gnulib.texi: Add "Obsolete modules" to index.
80372 2009-01-28  Jim Meyering  <meyering@redhat.com>
80374         useless-if-before-free: recognize more variants
80375         * build-aux/useless-if-before-free: Also recognize e.g.,
80376         if (NULL != p) free (p);
80378 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
80380         test-getaddrinfo: skip (don't fail) this test when there's no network
80381         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
80382         on the presumption that it means you lack network access.
80384 2009-01-26  Jim Meyering  <meyering@redhat.com>
80386         fflush: avoid warnings on modern systems
80387         * lib/fflush.c (rpl_fflush): Move declarations of locals,
80388         pos and result, into scopes where they're used.
80390 2009-01-26  Eric Blake  <ebb9@byu.net>
80392         Silence warning reintroduced by recent extensions patch.
80393         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
80394         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
80395         autoconf.
80397         Backport improved autoconf semantics of AC_DEFUN_ONCE.
80398         * m4/00gnulib.m4: New file.
80399         * gnulib-tool (func_get_filelist): Always use it.
80400         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
80401         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
80403 2009-01-25  Bruno Haible  <bruno@clisp.org>
80405         Make test-quotearg work on MacOS X and AIX.
80406         * tests/test-quotearg.sh: New file.
80407         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
80408         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
80409         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
80410         include <libintl.h>.
80411         (fake_locale): Remove variable.
80412         (gettext, dgettext, dcgettext): Remove functions.
80413         (main): Instead of setting a fake locale, set a real locale. Call
80414         textdomain and bindtextdomain.
80415         * modules/quotearg-tests (Files): Add the new files.
80416         (Depends-on): Add gettext, setenv, unsetenv.
80417         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
80418         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
80419         Augment TESTS_ENVIRONMENT.
80421 2009-01-25  Bruno Haible  <bruno@clisp.org>
80423         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
80424         fr_FR.ISO8859-1 locale on MacOS X.
80425         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
80426         ja_JP.eucJP locale on MacOS X.
80427         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
80428         zh_CN.GB18030 locale on MacOS X.
80430 2009-01-25  Bruno Haible  <bruno@clisp.org>
80432         Avoid link errors on MacOS X 10.3.
80433         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
80434         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
80436 2009-01-25  Bruno Haible  <bruno@clisp.org>
80438         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
80439         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
80440         * modules/pipe (Files): Remove m4/posix_spawn.m4.
80441         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
80442         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
80443         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
80444         posix_spawnattr_init, posix_spawnattr_setsigmask,
80445         posix_spawnattr_setflags, posix_spawnattr_destroy.
80447         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
80448         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
80449         * modules/execute (Files): Remove m4/posix_spawn.m4.
80450         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
80451         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
80452         posix_spawnattr_init, posix_spawnattr_setsigmask,
80453         posix_spawnattr_setflags, posix_spawnattr_destroy.
80455 2009-01-25  Bruno Haible  <bruno@clisp.org>
80457         * lib/glthread/threadlib.c: Include <stdlib.h>.
80459 2009-01-25  Bruno Haible  <bruno@clisp.org>
80461         * lib/glthread/threadlib.c (dummy): New declaration.
80463 2009-01-25  Bruno Haible  <bruno@clisp.org>
80465         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
80466         multibyte characters also for the GB18030 encoding. Don't crash when
80467         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
80469 2009-01-25  Bruno Haible  <bruno@clisp.org>
80471         Avoid redefining 'struct random_data' on OSF/1 5.1.
80472         * lib/stdlib.in.h: Include <random.h> if it exists.
80473         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
80474         HAVE_RANDOM_H. Include <random.h> when testing whether
80475         'struct random_data' exists.
80476         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
80478 2009-01-25  Bruno Haible  <bruno@clisp.org>
80480         Don't install charset.alias on MacOS X >= 10.3.
80481         * lib/localcharset.c (DARWIN7): New macro.
80482         (get_charset_aliases): Hardcode the result for Darwin7.
80483         * modules/localcharset (install-exec-local): Don't install
80484         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
80486 2009-01-25  Bruno Haible  <bruno@clisp.org>
80488         Don't install charset.alias on mingw and Cygwin.
80489         * modules/localcharset (install-exec-local): Don't install
80490         charset.alias on mingw and Cygwin, if the file does not yet exist.
80491         The result for these platforms is hardcoded in localcharset.c.
80493 2009-01-25  Bruno Haible  <bruno@clisp.org>
80495         Make it possible again to use AC_GNU_SOURCE together with gnulib.
80496         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
80497         before requiring AC_USE_SYSTEM_EXTENSIONS.
80499 2009-01-25  Jim Meyering  <meyering@redhat.com>
80501         c-strtod: avoid warnings
80502         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
80503         "assignment discards qualifiers from pointer target type" warnings.
80505 2009-01-24  Bruno Haible  <bruno@clisp.org>
80507         Add support for non-UTF-8 locales on MacOS X.
80508         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
80509         canonical encodings. For Darwin 7 and newer, don't map traditional
80510         encodings to UTF-8.
80511         Reported by Vincent Lefevre <vincent@vinc17.org>
80512         at <http://savannah.gnu.org/bugs/?25235>.
80514 2009-01-24  Bruno Haible  <bruno@clisp.org>
80516         * doc/gnulib.texi (Obsolete modules): New section.
80517         Reported by Mike Frysinger <vapier@gentoo.org>.
80519 2009-01-24  Bruno Haible  <bruno@clisp.org>
80521         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
80522         (%.dvi): New rule.
80524 2009-01-24  Bruno Haible  <bruno@clisp.org>
80526         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
80527         Reported by Eric Blake.
80529 2009-01-24  Bruno Haible  <bruno@clisp.org>
80531         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
80532         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
80533         Reported by Gary V. Vaughan <gary@gnu.org>.
80535 2009-01-24  Bruno Haible  <bruno@clisp.org>
80537         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
80539 2009-01-23  Bruno Haible  <bruno@clisp.org>
80541         Make c-strtod, c-strtold usable in libraries.
80542         * lib/c-strtod.c: Include string.h instead of xalloc.h.
80543         (C_STRTOD): Call strdup instead of xstrdup.
80544         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
80545         * modules/c-strtold (Depends-on): Likewise.
80546         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
80547         * NEWS: Mention the change.
80548         Reported by Michael Gold <mgold@ncf.ca>.
80550 2009-01-23  Jim Meyering  <meyering@redhat.com>
80552         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
80553         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
80554         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
80556 2009-01-23  Simon Josefsson  <simon@josefsson.org>
80558         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
80559         GNU CoreUtils.
80560         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
80561         * modules/version-etc (Description): Update.
80563 2009-01-22  Bruno Haible  <bruno@clisp.org>
80565         Cache the C locale object.
80566         * lib/c-strtod.c (c_locale_cache): New variable.
80567         (c_locale): New function.
80568         (C_STRTOD): Use it, and don't call freelocale.
80569         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
80570         Suggested by Paolo Bonzini.
80572 2009-01-21  Bruno Haible  <bruno@clisp.org>
80574         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
80575         conditions other than overflow.
80577 2009-01-21  Bruno Haible  <bruno@clisp.org>
80579         * lib/c-strtod.c: Include errno.h.
80580         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
80581         value from STRTOD_L and STRTOD.
80583 2009-01-21  Bruno Haible  <bruno@clisp.org>
80584         and Jim Meyering  <meyering@redhat.com>
80586         nanosleep: skip configure test (fail it) for apple universal builds
80587         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
80588         universal builds, assume that nanosleep does not work.
80589         * modules/nanosleep (Depends-on): Add multiarch.
80591         mktime: skip configure test (fail it) for apple universal builds
80592         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
80593         universal builds, assume that mktime does not work.
80594         * modules/mktime (Depends-on): Add multiarch.
80596 2009-01-21  Eric Blake  <ebb9@byu.net>
80598         multiarch: avoid expand-before-require warning
80599         * modules/multiarch (configure.ac): Require, rather than expand,
80600         gl_MULTIARCH.
80601         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
80602         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
80603         enforce that all clients require it.  Partial reversion of
80604         2008-12-29 patch.
80606         error: avoid expand-before-require warning
80607         * modules/errno (configure.ac): Require, rather than expand,
80608         gl_HEADER_ERRNO_H.
80609         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
80610         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
80611         enforce that all clients require it.
80613         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
80614         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
80615         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
80616         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
80618 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
80620         Revert:
80621         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
80623         regex: do not depend on obsolete modules.
80624         * modules/regex: Remove memcmp and memmove.
80626 2009-01-20  Bruno Haible  <bruno@clisp.org>
80628         Make the 'link' module link on Windows NT 4.
80629         * lib/link.c (_WIN32_WINNT): Don't define.
80630         (CreateHardLinkFuncType): New type.
80631         (CreateHardLinkFunc, initialized): New variables.
80632         (initialize): New function.
80633         (link): Invoke CreateHardLink indirectly through the function pointer.
80635 2009-01-20  Bruno Haible  <bruno@clisp.org>
80637         Fix compilation failure on mingw.
80638         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
80640 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
80642         * doc/c-strtod.texi: Mention a couple of restrictions.
80644 2009-01-20  Jim Meyering  <meyering@redhat.com>
80646         gettimeofday: move more declarations out of functions
80647         * lib/gettimeofday.c: Move extern declarations of tzset and
80648         gmtime out of containing functions.  Prompted by Bruno Haible.
80650 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
80652         regex: do not depend on obsolete modules.
80653         * modules/regex: Remove memcmp and memmove.
80655 2009-01-19  Bruno Haible  <bruno@clisp.org>
80657         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
80658         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
80659         gl_BIGENDIAN, not AC_C_BIGENDIAN.
80660         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
80661         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
80663 2009-01-19  Bruno Haible  <bruno@clisp.org>
80665         * tests/test-link.c: Include <errno.h>.
80666         (main): Exit with code 77 when a hard link cannot be created due to
80667         the file system.
80668         * tests/test-link.sh: Skip test when a hard link cannot be created due
80669         to the file system.
80670         Suggested by Eric Blake.
80672 2009-01-19  Martin Lambers  <marlam@marlam.de>
80674         * modules/link-tests: New file.
80675         * tests/test-link.sh: New file.
80676         * tests/test-link.c: New file.
80678 2009-01-19  Eric Blake  <ebb9@byu.net>
80680         doc: mention another function added in cygwin 1.7.0
80681         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
80682         Another new function in cygwin 1.7.
80684 2009-01-19  Bruno Haible  <bruno@clisp.org>
80686         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
80687         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
80688         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
80689         gl_BIGENDIAN, not AC_C_BIGENDIAN.
80690         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80691         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
80692         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
80693         * m4/md4.m4 (gl_MD4): Likewise.
80694         * m4/md5.m4 (gl_MD5): Likewise.
80695         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
80696         * m4/sha1.m4 (gl_SHA1): Likewise.
80697         * m4/sha256.m4 (gl_SHA256): Likewise.
80698         * m4/sha512.m4 (gl_SHA512): Likewise.
80700 2009-01-19  Bruno Haible  <bruno@clisp.org>
80702         * modules/uniname/uniname-tests (Depends-on): Add progname.
80703         * tests/uniname/test-uninames.c: Include progname.h.
80704         (main): Call set_program_name.
80706         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
80707         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
80708         (main): Call set_program_name.
80710         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
80711         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
80712         (main): Call set_program_name.
80714         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
80715         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
80716         (main): Call set_program_name.
80718         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
80719         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
80720         (main): Call set_program_name.
80722         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
80723         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
80724         (main): Call set_program_name.
80726         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
80727         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
80728         (main): Call set_program_name.
80730         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
80731         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
80732         (main): Call set_program_name.
80734         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
80735         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
80736         (main): Call set_program_name.
80738 2009-01-19  Eric Blake  <ebb9@byu.net>
80740         test-unistd: test previous patch
80741         * tests/test-unistd.c: Test *_FILENO macros.
80743         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
80744         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
80745         Guarantee a definition.
80746         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
80747         * modules/unistd-safer (Depends-on): Add dependency on unistd.
80748         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
80749         * lib/dup-safer.c (STDERR_FILENO): Likewise.
80750         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
80751         Likewise.
80752         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
80753         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
80754         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
80755         Likewise.
80756         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
80757         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
80758         (STDERR_FILENO): Likewise.
80759         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
80760         (STDERR_FILENO): Likewise.
80761         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
80762         (STDERR_FILENO): Likewise.
80763         Reported by Elbert Pol.
80765 2009-01-19  Eric Blake  <ebb9@byu.net>
80767         doc: mention more functions added in cygwin 1.7.0
80768         * doc/posix-functions/abort.texi (abort): Update wording related
80769         to cygwin.
80770         * doc/posix-functions/daylight.texi (daylight): Likewise.
80771         * doc/posix-functions/optarg.texi (optarg): Likewise.
80772         * doc/posix-functions/optarg.texi (opterr): Likewise.
80773         * doc/posix-functions/optarg.texi (optind): Likewise.
80774         * doc/posix-functions/optarg.texi (optopt): Likewise.
80775         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
80776         worked in 1.5.x, and was withdrawn in 1.7.
80777         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
80778         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
80779         cygwin versions.
80780         * doc/posix-functions/perror.texi (perror): Likewise.
80781         * doc/posix-functions/printf.texi (printf): Likewise.
80782         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
80783         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
80784         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
80785         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
80786         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
80787         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
80788         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
80789         Likewise.
80790         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
80791         Likewise.
80792         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
80793         this function.
80794         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
80795         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
80796         Likewise.
80797         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
80798         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
80799         * doc/posix-functions/confstr.texi (confstr): Likewise.
80800         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
80801         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
80802         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
80803         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
80804         * doc/posix-functions/fputws.texi (fputws): Likewise.
80805         * doc/posix-functions/fwide.texi (fwide): Likewise.
80806         * doc/posix-functions/getwc.texi (getwc): Likewise.
80807         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
80808         * doc/posix-functions/putwc.texi (putwc): Likewise.
80809         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
80810         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
80811         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
80812         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
80813         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
80814         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
80815         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
80816         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
80817         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
80818         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
80819         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
80821 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
80823         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
80824         * lib/ioctl.c: Include <sys/ioctl.h>.
80826 2009-01-19  Simon Josefsson  <simon@josefsson.org>
80828         * modules/getdate-tests (Depends-on): Add progname.
80829         * tests/test-getdate.c: Use progname module, to avoid link errors
80830         on non-glibc systems.
80832 2009-01-18  Simon Josefsson  <simon@josefsson.org>
80834         * modules/filenamecat-tests (Depends-on): Add progname.
80835         * modules/fstrcmp-tests (Depends-on): Likewise.
80837         * tests/test-filenamecat.c: Use progname module, to avoid link
80838         errors on non-glibc systems.
80839         * tests/test-fstrcmp.c: Likewise.
80841 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
80843         gettimeofday: avoid warning: nested extern declaration of 'localtime'
80844         * lib/gettimeofday.c: Move extern declaration out of function.
80846 2009-01-18  Bruno Haible  <bruno@clisp.org>
80848         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
80849         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
80850         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
80852 2009-01-18  Bruno Haible  <bruno@clisp.org>
80854         * lib/strftime.c (MEMPCPY): Remove unused macro.
80855         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
80857 2009-01-18  Martin Lambers  <marlam@marlam.de>
80859         New module 'link'.
80860         * lib/unistd.in.h (link): New declaration.
80861         * lib/link.c: New file.
80862         * m4/link.m4: New file.
80863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
80864         HAVE_LINK.
80865         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
80866         * modules/link: New file.
80867         * doc/posix-functions/link.texi: Mention the new module.
80869 2009-01-18  Bruno Haible  <bruno@clisp.org>
80871         * tests/test-avltree_list.c (main): Call set_program_name.
80872         * tests/test-avltree_oset.c (main): Likewise.
80873         * tests/test-obstack-printf.c: Include progname.h.
80874         (main): Call set_program_name.
80875         * tests/test-quotearg.c: Include progname.h.
80876         (main): Call set_program_name.
80877         * tests/test-xmemdup0.c: Include progname.h.
80878         (main): Call set_program_name.
80880 2009-01-18  Bruno Haible  <bruno@clisp.org>
80882         New module 'alphasort'.
80883         * lib/dirent.in.h (alphasort): New declaration.
80884         * lib/alphasort.c: New file, from glibc with modifications.
80885         * m4/alphasort.m4: New file.
80886         * modules/alphasort: New file.
80887         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
80888         HAVE_ALPHASORT.
80889         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
80890         HAVE_ALPHASORT.
80891         * doc/posix-functions/alphasort.texi: Mention the new module and the
80892         portability problems.
80894 2009-01-18  Bruno Haible  <bruno@clisp.org>
80896         New module 'scandir'.
80897         * lib/dirent.in.h (scandir): New declaration.
80898         * lib/scandir.c: New file, from glibc with modifications.
80899         * m4/scandir.m4: New file.
80900         * modules/scandir: New file.
80901         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
80902         HAVE_SCANDIR.
80903         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
80904         HAVE_SCANDIR.
80905         * doc/posix-functions/scandir.texi: Mention the new module and the
80906         portability problems.
80908 2009-01-17  Bruno Haible  <bruno@clisp.org>
80910         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
80911         Update documentation.
80912         (func_remove_suffix): Escape all dots in the suffix. Update
80913         documentation.
80914         (func_filter_filelist): Update documentation.
80915         Reported by Ralf Wildenhues.
80917 2009-01-17  Bruno Haible  <bruno@clisp.org>
80919         * modules/dprintf-posix-tests: New file.
80920         * tests/test-dprintf-posix.sh: New file.
80921         * tests/test-dprintf-posix.c: New file.
80923         New modules 'dprintf', 'dprintf-posix'.
80924         * lib/stdio.in.h (dprintf): New declaration.
80925         * lib/dprintf.c: New file.
80926         * m4/dprintf.m4: New file.
80927         * m4/dprintf-posix.m4: New file.
80928         * modules/dprintf: New file.
80929         * modules/dprintf-posix: New file.
80930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
80931         HAVE_DPRINTF, REPLACE_DPRINTF.
80932         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
80933         HAVE_DPRINTF, REPLACE_DPRINTF.
80934         * doc/posix-functions/dprintf.texi: Mention the new modules.
80936 2009-01-17  Bruno Haible  <bruno@clisp.org>
80938         * modules/vdprintf-posix-tests: New file.
80939         * tests/test-vdprintf-posix.sh: New file.
80940         * tests/test-vdprintf-posix.c: New file.
80942         New modules 'vdprintf', 'vdprintf-posix'.
80943         * lib/stdio.in.h (vdprintf): New declaration.
80944         * lib/vdprintf.c: New file.
80945         * m4/vdprintf.m4: New file.
80946         * m4/vdprintf-posix.m4: New file.
80947         * modules/vdprintf: New file.
80948         * modules/vdprintf-posix: New file.
80949         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
80950         HAVE_VDPRINTF, REPLACE_VDPRINTF.
80951         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
80952         HAVE_VDPRINTF, REPLACE_VDPRINTF.
80953         * doc/posix-functions/vdprintf.texi: Mention the new modules.
80955 2009-01-17  Bruno Haible  <bruno@clisp.org>
80957         Fix replacement of fopen on mingw.
80958         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
80959         mingw.
80961 2009-01-17  Bruno Haible  <bruno@clisp.org>
80963         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
80964         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
80966 2009-01-17  Bruno Haible  <bruno@clisp.org>
80968         Avoid test-fflush2.sh failure on mingw.
80969         * tests/test-fflush2.c: Include binary-io.h.
80970         (main): Put standard input into binary mode.
80971         * modules/fflush-tests (Depends-on): Add binary-io.
80973 2009-01-17  Bruno Haible  <bruno@clisp.org>
80975         * lib/wchar.in.h: In another particular situation, include only the
80976         system's <wchar.h> file.
80977         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
80978         Reported by Albert Chin-A-Young <china@thewrittenword.com>
80979         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
80981 2009-01-17  Bruno Haible  <bruno@clisp.org>
80983         Support for stripping executables in --enable-relocatable.
80984         * build-aux/install-reloc: Expect one more argument, or an environment
80985         variable RELOC_STRIP_PROG. If set, strip the destination program and
80986         its wrapper.
80987         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
80988         RELOC_STRIP_PROG.
80989         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
80990         to set RELOCATABLE_STRIP.
80991         * NEWS: Mention the new Makefile requirement.
80993 2009-01-17  Bruno Haible  <bruno@clisp.org>
80995         * build-aux/install-reloc: Remove debugging information left over by
80996         C compiler on MacOS X.
80998 2009-01-17  Bruno Haible  <bruno@clisp.org>
81000         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
81001         * lib/progreloc.c (find_executable): Fix type of pointer passed to
81002         _NSGetExecutablePath.
81004 2009-01-16  Jim Meyering  <meyering@redhat.com>
81006         strerror: avoid warnings about discarding "const"
81007         * lib/strerror.c (rpl_strerror): Instead of returning a const
81008         string from each and every "case", use a variable, and add a single
81009         cast after the switch.
81011 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
81013         * lib/arpa_inet.in.h: Add extern "C" block for C++.
81015 2009-01-16  Bruno Haible  <bruno@clisp.org>
81017         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
81018         array initializer syntax that also works in C++ mode.
81019         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
81021 2009-01-16  Jim Meyering  <meyering@redhat.com>
81023         poll: suppress a warning
81024         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
81025         to ignore "...unsigned expression < 0 is always false" warnings.
81027 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
81029         poll: remove declarations of unused variables
81030         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
81031         sockbuf and optlen.
81033 2009-01-15  Bruno Haible  <bruno@clisp.org>
81035         Make fflush-after-ungetc POSIX compliant on BSD systems.
81036         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
81037         (clear_ungetc_buffer): Implement also for other systems.
81038         (rpl_fflush): On glibc systems, invoke
81039         clear_ungetc_buffer_preserving_position. Otherwise, invoke
81040         clear_ungetc_buffer after fetching the stream's position, not before.
81042 2009-01-15  Bruno Haible  <bruno@clisp.org>
81044         Make fflush-after-ungetc POSIX compliant on glibc systems.
81045         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
81046         after ungetc.
81047         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
81048         (rpl_fflush): On glibc systems, simply call the system's fflush
81049         function after clearing the ungetc buffer.
81050         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
81051         Instead, lseek only to the end of file, then use the system's fseeko
81052         for the rest. On glibc systems, reset the EOF indicator bit.
81054 2009-01-15  Jim Meyering  <meyering@redhat.com>
81056         openmp.m4: revert quote-adding change, for portability to older autoconf
81057         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
81058         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
81059         Simon Josefsson noticed the problem when using autoconf-2.61.
81061 2009-01-15  Bruno Haible  <bruno@clisp.org>
81063         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
81064         * tests/test-fflush2.c (ASSERT): Always fail.
81065         (main): Add two tests for fflush() after ungetc(), taking into account
81066         the Austin Group's clarification.
81067         Suggested by Eric Blake.
81069 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
81071         mktime.m4: remove K&R-style function prototypes
81072         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
81073         for the Sun C++ compiler.
81075 2009-01-14  Bruno Haible  <bruno@clisp.org>
81077         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
81078         while including <wchar.h>.
81079         * lib/wchar.in.h: In two particular situations on HP-UX, include only
81080         the system's <wchar.h> file.
81081         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
81083 2009-01-14  Bruno Haible  <bruno@clisp.org>
81085         * m4/csharp.m4: Don't mention gettext on the serial number line.
81086         * m4/csharpexec.m4: Likewise.
81087         * m4/eaccess.m4: Likewise.
81088         * m4/javaexec.m4: Likewise.
81089         * m4/sig_atomic_t.m4: Likewise.
81090         * m4/tmpdir.m4: Likewise.
81091         * m4/intldir.m4: Bump gettext version.
81092         * m4/lib-ld.m4: Likewise.
81094 2009-01-14  Bruno Haible  <bruno@clisp.org>
81096         * lib/progname.c (set_program_name): Add more comments.
81097         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
81099 2009-01-14  Simon Josefsson  <simon@josefsson.org>
81101         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
81102         were sys/stat.h does not define it.
81104 2009-01-14  Jim Meyering  <meyering@redhat.com>
81106         many *.m4 files: improve m4 quoting
81107         99% of this change was performed by running the following commands:
81108         git ls-files | grep '\.m4$' | xargs perl -pi \
81109           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
81110           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
81111           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
81112           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
81113         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
81114         The remainder were to add Copyright dates, increment serial numbers,
81115         undo some changes in comments, exclude m4/intl.m4, and add quotes
81116         around the "1" in ",1" where the unusual spacing prohibited the
81117         above regexps from doing the job.  For more details, see
81118         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
81119         * m4/acl.m4: Modified.
81120         * m4/afs.m4: Likewise.
81121         * m4/alloca.m4: Likewise.
81122         * m4/argp.m4: Likewise.
81123         * m4/argz.m4: Likewise.
81124         * m4/atexit.m4: Likewise.
81125         * m4/bison-i18n.m4: Likewise.
81126         * m4/bison.m4: Likewise.
81127         * m4/byteswap.m4: Likewise.
81128         * m4/c-stack.m4: Likewise.
81129         * m4/c-strtod.m4: Likewise.
81130         * m4/calloc.m4: Likewise.
81131         * m4/canonicalize-lgpl.m4: Likewise.
81132         * m4/chown.m4: Likewise.
81133         * m4/clock_time.m4: Likewise.
81134         * m4/codeset.m4: Likewise.
81135         * m4/copy-file.m4: Likewise.
81136         * m4/csharp.m4: Likewise.
81137         * m4/csharpcomp.m4: Likewise.
81138         * m4/csharpexec.m4: Likewise.
81139         * m4/d-ino.m4: Likewise.
81140         * m4/d-type.m4: Likewise.
81141         * m4/dirfd.m4: Likewise.
81142         * m4/double-slash-root.m4: Likewise.
81143         * m4/eaccess.m4: Likewise.
81144         * m4/eealloc.m4: Likewise.
81145         * m4/environ.m4: Likewise.
81146         * m4/errno_h.m4: Likewise.
81147         * m4/euidaccess.m4: Likewise.
81148         * m4/execute.m4: Likewise.
81149         * m4/fatal-signal.m4: Likewise.
81150         * m4/fchdir.m4: Likewise.
81151         * m4/fcntl_h.m4: Likewise.
81152         * m4/fileblocks.m4: Likewise.
81153         * m4/filenamecat.m4: Likewise.
81154         * m4/findprog.m4: Likewise.
81155         * m4/flexmember.m4: Likewise.
81156         * m4/fnmatch.m4: Likewise.
81157         * m4/fopen.m4: Likewise.
81158         * m4/fpending.m4: Likewise.
81159         * m4/fprintf-posix.m4: Likewise.
81160         * m4/free.m4: Likewise.
81161         * m4/frexp.m4: Likewise.
81162         * m4/frexpl.m4: Likewise.
81163         * m4/fsusage.m4: Likewise.
81164         * m4/ftruncate.m4: Likewise.
81165         * m4/gc-camellia.m4: Likewise.
81166         * m4/gc-random.m4: Likewise.
81167         * m4/gc.m4: Likewise.
81168         * m4/getaddrinfo.m4: Likewise.
81169         * m4/getcwd-abort-bug.m4: Likewise.
81170         * m4/getcwd-path-max.m4: Likewise.
81171         * m4/getdate.m4: Likewise.
81172         * m4/getdomainname.m4: Likewise.
81173         * m4/getgroups.m4: Likewise.
81174         * m4/gethostname.m4: Likewise.
81175         * m4/gethrxtime.m4: Likewise.
81176         * m4/getline.m4: Likewise.
81177         * m4/getloadavg.m4: Likewise.
81178         * m4/getndelim2.m4: Likewise.
81179         * m4/getpass.m4: Likewise.
81180         * m4/gettext.m4: Likewise.
81181         * m4/gettime.m4: Likewise.
81182         * m4/gettimeofday.m4: Likewise.
81183         * m4/gnulib-common.m4: Likewise.
81184         * m4/group-member.m4: Likewise.
81185         * m4/host-os.m4: Likewise.
81186         * m4/iconv.m4: Likewise.
81187         * m4/iconv_open.m4: Likewise.
81188         * m4/inet_ntop.m4: Likewise.
81189         * m4/inet_pton.m4: Likewise.
81190         * m4/inline.m4: Likewise.
81191         * m4/intldir.m4: Likewise.
81192         * m4/intlmacosx.m4: Likewise.
81193         * m4/intmax.m4: Likewise.
81194         * m4/intmax_t.m4: Likewise.
81195         * m4/inttypes.m4: Likewise.
81196         * m4/inttypes_h.m4: Likewise.
81197         * m4/inttypes-pri.m4: Likewise.
81198         * m4/isapipe.m4: Likewise.
81199         * m4/isnand.m4: Likewise.
81200         * m4/isnanf.m4: Likewise.
81201         * m4/isnanl.m4: Likewise.
81202         * m4/javacomp.m4: Likewise.
81203         * m4/javaexec.m4: Likewise.
81204         * m4/jm-winsz1.m4: Likewise.
81205         * m4/jm-winsz2.m4: Likewise.
81206         * m4/lchown.m4: Likewise.
81207         * m4/lcmessage.m4: Likewise.
81208         * m4/ldexpl.m4: Likewise.
81209         * m4/lib-ld.m4: Likewise.
81210         * m4/lib-link.m4: Likewise.
81211         * m4/libsigsegv.m4: Likewise.
81212         * m4/link-follow.m4: Likewise.
81213         * m4/localcharset.m4: Likewise.
81214         * m4/locale-fr.m4: Likewise.
81215         * m4/locale-ja.m4: Likewise.
81216         * m4/locale-tr.m4: Likewise.
81217         * m4/locale-zh.m4: Likewise.
81218         * m4/lock.m4: Likewise.
81219         * m4/longlong.m4: Likewise.
81220         * m4/ls-mntd-fs.m4: Likewise.
81221         * m4/lstat.m4: Likewise.
81222         * m4/malloc.m4: Likewise.
81223         * m4/mathl.m4: Likewise.
81224         * m4/mbrtowc.m4: Likewise.
81225         * m4/mbstate_t.m4: Likewise.
81226         * m4/mbswidth.m4: Likewise.
81227         * m4/memchr.m4: Likewise.
81228         * m4/memcmp.m4: Likewise.
81229         * m4/memcpy.m4: Likewise.
81230         * m4/memmem.m4: Likewise.
81231         * m4/memmove.m4: Likewise.
81232         * m4/mempcpy.m4: Likewise.
81233         * m4/memrchr.m4: Likewise.
81234         * m4/memset.m4: Likewise.
81235         * m4/minmax.m4: Likewise.
81236         * m4/mkdir-slash.m4: Likewise.
81237         * m4/mkdtemp.m4: Likewise.
81238         * m4/mktime.m4: Likewise.
81239         * m4/mmap-anon.m4: Likewise.
81240         * m4/mountlist.m4: Likewise.
81241         * m4/nanosleep.m4: Likewise.
81242         * m4/nls.m4: Likewise.
81243         * m4/nocrash.m4: Likewise.
81244         * m4/open.m4: Likewise.
81245         * m4/openat.m4: Likewise.
81246         * m4/openmp.m4: Likewise.
81247         * m4/pathmax.m4: Likewise.
81248         * m4/perl.m4: Likewise.
81249         * m4/physmem.m4: Likewise.
81250         * m4/pipe.m4: Likewise.
81251         * m4/po.m4: Likewise.
81252         * m4/poll.m4: Likewise.
81253         * m4/posixtm.m4: Likewise.
81254         * m4/posixver.m4: Likewise.
81255         * m4/printf-frexp.m4: Likewise.
81256         * m4/printf-frexpl.m4: Likewise.
81257         * m4/printf-posix.m4: Likewise.
81258         * m4/printf-posix-rpl.m4: Likewise.
81259         * m4/printf.m4: Likewise.
81260         * m4/progtest.m4: Likewise.
81261         * m4/putenv.m4: Likewise.
81262         * m4/readline.m4: Likewise.
81263         * m4/readlink.m4: Likewise.
81264         * m4/readutmp.m4: Likewise.
81265         * m4/realloc.m4: Likewise.
81266         * m4/regex.m4: Likewise.
81267         * m4/relocatable.m4: Likewise.
81268         * m4/relocatable-lib.m4: Likewise.
81269         * m4/rename-dest-slash.m4: Likewise.
81270         * m4/rename.m4: Likewise.
81271         * m4/rmdir-errno.m4: Likewise.
81272         * m4/rmdir.m4: Likewise.
81273         * m4/roundf.m4: Likewise.
81274         * m4/roundl.m4: Likewise.
81275         * m4/rpmatch.m4: Likewise.
81276         * m4/save-cwd.m4: Likewise.
81277         * m4/selinux-selinux-h.m4: Likewise.
81278         * m4/setenv.m4: Likewise.
81279         * m4/settime.m4: Likewise.
81280         * m4/sig2str.m4: Likewise.
81281         * m4/sig_atomic_t.m4: Likewise.
81282         * m4/signalblocking.m4: Likewise.
81283         * m4/signbit.m4: Likewise.
81284         * m4/sigpipe.m4: Likewise.
81285         * m4/sockets.m4: Likewise.
81286         * m4/sockpfaf.m4: Likewise.
81287         * m4/st_dm_mode.m4: Likewise.
81288         * m4/stat-time.m4: Likewise.
81289         * m4/stdbool.m4: Likewise.
81290         * m4/stdint.m4: Likewise.
81291         * m4/stdint_h.m4: Likewise.
81292         * m4/stpcpy.m4: Likewise.
81293         * m4/stpncpy.m4: Likewise.
81294         * m4/strcase.m4: Likewise.
81295         * m4/strchrnul.m4: Likewise.
81296         * m4/strcspn.m4: Likewise.
81297         * m4/strdup.m4: Likewise.
81298         * m4/strftime.m4: Likewise.
81299         * m4/strndup.m4: Likewise.
81300         * m4/strnlen.m4: Likewise.
81301         * m4/strpbrk.m4: Likewise.
81302         * m4/strptime.m4: Likewise.
81303         * m4/strsep.m4: Likewise.
81304         * m4/strtod.m4: Likewise.
81305         * m4/strtoimax.m4: Likewise.
81306         * m4/strtok_r.m4: Likewise.
81307         * m4/strtol.m4: Likewise.
81308         * m4/strtoll.m4: Likewise.
81309         * m4/strtoul.m4: Likewise.
81310         * m4/strtoull.m4: Likewise.
81311         * m4/strtoumax.m4: Likewise.
81312         * m4/strverscmp.m4: Likewise.
81313         * m4/threadlib.m4: Likewise.
81314         * m4/timegm.m4: Likewise.
81315         * m4/tm_gmtoff.m4: Likewise.
81316         * m4/tmpdir.m4: Likewise.
81317         * m4/tmpfile.m4: Likewise.
81318         * m4/tzset.m4: Likewise.
81319         * m4/uintmax_t.m4: Likewise.
81320         * m4/unlinkdir.m4: Likewise.
81321         * m4/unlocked-io.m4: Likewise.
81322         * m4/uptime.m4: Likewise.
81323         * m4/userspec.m4: Likewise.
81324         * m4/utimbuf.m4: Likewise.
81325         * m4/utime.m4: Likewise.
81326         * m4/utimes-null.m4: Likewise.
81327         * m4/utimes.m4: Likewise.
81328         * m4/vararrays.m4: Likewise.
81329         * m4/vasnprintf.m4: Likewise.
81330         * m4/vfprintf-posix.m4: Likewise.
81331         * m4/vprintf-posix.m4: Likewise.
81332         * m4/wait-process.m4: Likewise.
81333         * m4/wchar_t.m4: Likewise.
81334         * m4/wint_t.m4: Likewise.
81335         * m4/write-any-file.m4: Likewise.
81336         * m4/yield.m4: Likewise.
81338 2009-01-13  Bruno Haible  <bruno@clisp.org>
81340         Avoid test-copy-file.sh failures when ACL support insufficient.
81341         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
81342         TESTS_ENVIRONMENT.
81343         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
81344         Reported by Jim Meyering.
81346 2009-01-13  Bruno Haible  <bruno@clisp.org>
81348         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
81349         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
81350         * modules/unistdio/u8-printf-parse (Files): Likewise.
81351         * modules/unistdio/u32-printf-parse (Files): Likewise.
81352         * modules/unistdio/ulc-printf-parse (Files): Likewise.
81354 2009-01-13  Simon Josefsson  <simon@josefsson.org>
81356         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
81357         and m4/inttypes_h.m4 too.
81359 2009-01-12  Eric Blake  <ebb9@byu.net>
81361         tests: IRIX 6.2 cc can't compile -0.0 into .data
81362         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
81363         rather than at compile-time.
81364         * tests/test-floorl.c (minus_zero): Likewise.
81365         * tests/test-frexpl.c (minus_zero): Likewise.
81366         * tests/test-isnan.c (minus_zerol): Likewise.
81367         * tests/test-isnanl.h (minus_zero): Likewise.
81368         * tests/test-ldexpl.c (minus_zero): Likewise.
81369         * tests/test-roundl.c (minus_zero): Likewise.
81370         * tests/test-signbit.c (minus_zerol): Likewise.
81371         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
81372         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
81373         * tests/test-truncl.c (minus_zero): Likewise.
81374         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
81375         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
81376         Reported by Tom G. Christensen and Nelson H. F. Beebe.
81378 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
81380         regex: fix glibc bug 9697
81381         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
81382         handling.
81384 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
81386         regex: fix glibc bug 697
81387         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
81388         being NULL also if there are no backreferences.
81390 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
81392         regex: merge glibc changes
81393         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
81394         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
81395         re_string_skip_chars, re_string_reconstruct): Likewise.
81396         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
81398 2009-01-07  Jim Meyering  <meyering@redhat.com>
81400         poll: filter through cppi
81401         * lib/poll.c: Indent cpp directives to reflect nesting.
81403 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
81405         poll: don't return uninitialized
81406         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
81408 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
81410         avoid compile failure on AIX 6.1
81411         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
81412         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
81414 2009-01-04  Jim Meyering  <meyering@redhat.com>
81416         remove duplicate inclusion of <stdio.h>
81417         * tests/test-fprintf-posix.c: Likewise.
81418         * tests/test-printf-posix.c: Likewise.
81419         * tests/test-snprintf-posix.c: Likewise.
81420         * tests/test-sprintf-posix.c: Likewise.
81421         * tests/test-vasprintf-posix.c: Likewise.
81422         * tests/test-vfprintf-posix.c: Likewise.
81423         * tests/test-vprintf-posix.c: Likewise.
81424         * tests/test-vsnprintf-posix.c: Likewise.
81425         * tests/test-vsprintf-posix.c: Likewise.
81427 2009-01-03  Jim Meyering  <meyering@redhat.com>
81429         gnulib-tool: fix sed-based filtering
81430         * gnulib-tool (func_filter_filelist): Remove extra backslash
81431         in sed_fff_filter definition.
81433 2009-01-02  Jim Meyering  <meyering@redhat.com>
81435         strftime: avoid compilation failure on Solaris 2.6
81436         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
81437         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
81438         Don't #define mbrlen or mbsinit, since now they're guaranteed to
81439         be available.  Reported by Tom G. Christensen.  Details in
81440         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
81442 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81443             Bruno Haible  <bruno@clisp.org>
81445         Speed up gnulib-tool by doing more string processing through shell
81446         built-ins.
81447         * gnulib-tool (fast_func_append): New variable.
81448         (func_remove_prefix, func_remove_suffix): New functions.
81449         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
81450         (func_filter_filelist): New function.
81451         (func_get_dependencies): Use func_remove_suffix instead of sed.
81452         (func_get_automake_snippet): Use func_filter_filelist instead of a
81453         subshell and sed invocation.
81455 2009-01-01  Bruno Haible  <bruno@clisp.org>
81457         Fix a security bug.
81458         * gnulib-tool (func_import, import, update): Don't allow the characters
81459         '"', '$', '`', '\' in macro arguments that become part of commands that
81460         are evaluated.
81462 2009-01-01  Bruno Haible  <bruno@clisp.org>
81464         * gnulib-tool (func_reset_sigpipe): Add more comments.
81466 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81468         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
81469         func_emit_tests_Makefile_am, func_import): Abort loops early if we
81470         already know the answer.
81472 2009-01-01  Jim Meyering  <meyering@redhat.com>
81474         * lib/version-etc.c (version_etc_va): Update copyright year.
81476 2008-12-30  Bruno Haible  <bruno@clisp.org>
81478         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
81479         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
81480         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
81482 2008-12-29  Eric Blake  <ebb9@byu.net>
81484         multiarch: avoid autoconf AC_REQUIRE bug
81485         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
81486         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
81487         2.63 and older.
81488         Reported by Bruno Haible, and analyzed in
81489         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
81491 2008-12-29  Bruno Haible  <bruno@clisp.org>
81493         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
81494         files in subdirectories correctly.
81495         Reported by Ralf Wildenhues.
81497 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81499         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
81500         rather than 'join FILE -', for Solaris join.
81502 2008-12-29  Bruno Haible  <bruno@clisp.org>
81504         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
81505         quoting.
81506         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
81507         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
81508         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
81509         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
81510         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
81511         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
81512         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
81513         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
81514         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
81515         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
81516         * m4/nls.m4 (AM_NLS): Likewise.
81517         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
81518         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
81519         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
81520         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
81521         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
81522         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
81523         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
81524         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
81525         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
81526         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
81527         * m4/xsize.m4 (gl_XSIZE): Likewise.
81528         Suggested by Jim Meyering.
81530 2008-11-17  Bruce Korb  <bkorb@gnu.org>
81532         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
81533         * lib/parse-duration.c: use a switch instead of cascading if's.
81535 2008-12-29  Eric Blake  <ebb9@byu.net>
81537         wchar.h: supply WEOF on Irix 5.3
81538         * lib/wchar.in.h (wint_t): Also supply WEOF.
81539         * lib/wctype.in.h (wint_t): Likewise.
81540         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
81541         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
81542         Reported by Tom G. Christensen.
81544 2008-12-26  Bruno Haible  <bruno@clisp.org>
81546         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
81547         i486, i586, i686.
81549 2008-12-26  Bruno Haible  <bruno@clisp.org>
81551         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
81553 2008-12-26  Bruno Haible  <bruno@clisp.org>
81555         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
81556         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
81557         not __STDC_CONSTANT_MACROS.
81558         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
81560 2008-12-25  Bruno Haible  <bruno@clisp.org>
81562         Add support for universal builds to vasnprintf.
81563         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
81564         universal builds, guess no.
81565         * modules/vasnprintf-posix (Depends-on): Add multiarch.
81566         * modules/vasprintf-posix (Depends-on): Likewise.
81567         * modules/fprintf-posix (Depends-on): Likewise.
81568         * modules/vfprintf-posix (Depends-on): Likewise.
81569         * modules/snprintf-posix (Depends-on): Likewise.
81570         * modules/vsnprintf-posix (Depends-on): Likewise.
81571         * modules/sprintf-posix (Depends-on): Likewise.
81572         * modules/vsprintf-posix (Depends-on): Likewise.
81573         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
81574         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
81575         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
81576         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
81577         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
81578         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
81579         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
81581         Add support for universal builds to <inttypes.h>.
81582         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
81583         _SCNu64_PREFIX): In Apple
81584         universal builds, define directly, using _LP64.
81585         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
81586         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
81587         * modules/inttypes (Depends-on): Add multiarch.
81588         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
81590         Add support for universal builds to <stdint.h>.
81591         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
81592         universal builds, define directly, using _LP64.
81593         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
81594         Apple universal builds, don't test for the size and suffix of ptrdiff_t
81595         and size_t.
81596         * modules/stdint (Depends-on): Add multiarch.
81597         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
81599         New module 'multiarch'.
81600         * modules/multiarch: New file.
81601         * m4/multiarch.m4: New file.
81603 2008-12-25  Bruno Haible  <bruno@clisp.org>
81605         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
81607 2008-12-25  Bruno Haible  <bruno@clisp.org>
81609         * modules/btowc (License): Relicense under LGPLv2+.
81610         * modules/mbsinit (License): Likewise.
81611         * modules/mbrtowc (License): Likewise.
81612         * modules/wcrtomb (License): Likewise.
81613         * modules/streq (License): Likewise.
81614         Reported by David Lutterkort <lutter@redhat.com>.
81616 2008-12-23  Bruno Haible  <bruno@clisp.org>
81618         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
81620 2008-12-23  Bruno Haible  <bruno@clisp.org>
81622         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
81623         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
81624         GETADDRINFO_LIB, not in LIBS.
81625         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
81626         * modules/canon-host (Link): Likewise.
81627         * NEWS: Mention the change.
81628         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
81629         GETADDRINFO_LIB.
81631 2008-12-22  Bruno Haible  <bruno@clisp.org>
81633         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
81634         * doc/posix-functions/iswalpha_l.texi: Likewise.
81635         * doc/posix-functions/iswblank_l.texi: Likewise.
81636         * doc/posix-functions/iswcntrl_l.texi: Likewise.
81637         * doc/posix-functions/iswctype_l.texi: Likewise.
81638         * doc/posix-functions/iswdigit_l.texi: Likewise.
81639         * doc/posix-functions/iswgraph_l.texi: Likewise.
81640         * doc/posix-functions/iswlower_l.texi: Likewise.
81641         * doc/posix-functions/iswprint_l.texi: Likewise.
81642         * doc/posix-functions/iswpunct_l.texi: Likewise.
81643         * doc/posix-functions/iswspace_l.texi: Likewise.
81644         * doc/posix-functions/iswupper_l.texi: Likewise.
81645         * doc/posix-functions/iswxdigit_l.texi: Likewise.
81646         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
81647         * doc/posix-functions/open_wmemstream.texi: Likewise.
81648         * doc/posix-functions/swscanf.texi: Likewise.
81649         * doc/posix-functions/towctrans_l.texi: Likewise.
81650         * doc/posix-functions/towlower.texi: Likewise.
81651         * doc/posix-functions/towlower_l.texi: Likewise.
81652         * doc/posix-functions/towupper.texi: Likewise.
81653         * doc/posix-functions/towupper_l.texi: Likewise.
81654         * doc/posix-functions/vfwprintf.texi: Likewise.
81655         * doc/posix-functions/vfwscanf.texi: Likewise.
81656         * doc/posix-functions/vswscanf.texi: Likewise.
81657         * doc/posix-functions/vwprintf.texi: Likewise.
81658         * doc/posix-functions/vwscanf.texi: Likewise.
81659         * doc/posix-functions/wcpcpy.texi: Likewise.
81660         * doc/posix-functions/wcpncpy.texi: Likewise.
81661         * doc/posix-functions/wcscasecmp.texi: Likewise.
81662         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
81663         * doc/posix-functions/wcscoll_l.texi: Likewise.
81664         * doc/posix-functions/wcsdup.texi: Likewise.
81665         * doc/posix-functions/wcsncasecmp.texi: Likewise.
81666         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
81667         * doc/posix-functions/wcsnlen.texi: Likewise.
81668         * doc/posix-functions/wcsnrtombs.texi: Likewise.
81669         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
81670         * doc/posix-functions/wctrans_l.texi: Likewise.
81671         * doc/posix-functions/wctype_l.texi: Likewise.
81672         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
81673         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
81674         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
81675         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
81676         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
81677         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
81678         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
81679         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
81680         * doc/glibc-functions/wcschrnul.texi: Likewise.
81681         * doc/glibc-functions/wcsftime_l.texi: Likewise.
81682         * doc/glibc-functions/wcstod_l.texi: Likewise.
81683         * doc/glibc-functions/wcstof_l.texi: Likewise.
81684         * doc/glibc-functions/wcstol_l.texi: Likewise.
81685         * doc/glibc-functions/wcstold_l.texi: Likewise.
81686         * doc/glibc-functions/wcstoll_l.texi: Likewise.
81687         * doc/glibc-functions/wcstoq.texi: Likewise.
81688         * doc/glibc-functions/wcstoul_l.texi: Likewise.
81689         * doc/glibc-functions/wcstoull_l.texi: Likewise.
81690         * doc/glibc-functions/wcstouq.texi: Likewise.
81691         * doc/glibc-functions/wmempcpy.texi: Likewise.
81693 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
81694             Eric Blake  <ebb9@byu.net>
81695             Paolo Bonzini  <bonzini@gnu.org>
81696             Bruno Haible  <bruno@clisp.org>
81698         Make c-stack work on Haiku.
81699         * lib/c-stack.c (SA_ONSTACK): Define fallback.
81700         (c_stack_action): Use SA_ONSTACK flag.
81702 2008-12-22  Bruno Haible  <bruno@clisp.org>
81704         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
81706 2008-12-22  Bruno Haible  <bruno@clisp.org>
81708         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
81709         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
81710         being overridden.
81711         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
81712         New macros.
81713         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
81714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
81715         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
81716         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
81718 2008-12-22  Bruno Haible  <bruno@clisp.org>
81720         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
81721         from test code.
81723 2008-12-22  Eric Blake  <ebb9@byu.net>
81725         Avoid gcc warnings on cygwin.
81726         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
81727         Avoid unused variable.
81728         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
81729         Likewise.
81731 2008-12-22  Bruno Haible  <bruno@clisp.org>
81733         Remove HAVE_MBRTOWC conditionals.
81734         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
81735         (mbscasecmp): Assume mbrtowc function.
81736         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
81737         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
81738         * lib/mbschr.c: Include mbuiter.h unconditionally.
81739         (mbschr): Assume mbrtowc function.
81740         * lib/mbscspn.c: Include mbuiter.h unconditionally.
81741         (mbscspn): Assume mbrtowc function.
81742         * lib/mbslen.c: Include mbuiter.h unconditionally.
81743         (mbslen): Assume mbrtowc function.
81744         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
81745         (mbsncasecmp): Assume mbrtowc function.
81746         * lib/mbsnlen.c: Include mbiter.h unconditionally.
81747         (mbsnlen): Assume mbrtowc function.
81748         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
81749         (mbspbrk): Assume mbrtowc function.
81750         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
81751         (mbspcasecmp): Assume mbrtowc function.
81752         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
81753         (mbsrchr): Assume mbrtowc function.
81754         * lib/mbssep.c: Include mbuiter.h unconditionally.
81755         (mbssep): Assume mbrtowc function.
81756         * lib/mbsspn.c: Include mbuiter.h unconditionally.
81757         (mbsspn): Assume mbrtowc function.
81758         * lib/mbsstr.c: Include mbuiter.h unconditionally.
81759         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
81760         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
81761         (mbstok_r): Assume mbrtowc function.
81762         * lib/propername.c: Include mbuiter.h unconditionally.
81763         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
81764         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
81765         (trim2): Assume mbrtowc function.
81766         * lib/mbswidth.c (mbsinit): Remove fallback definition.
81767         (mbsnwidth): Assume mbrtowc function.
81768         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
81769         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
81770         fallback definitions.
81771         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
81773 2008-12-22  Bruno Haible  <bruno@clisp.org>
81775         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
81777 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
81779         * modules/regex: Request emulations for the mb*/wc* functions we need.
81780         * m4/regex.m4: Don't look for those functions here.
81781         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
81783 2008-12-22  Bruno Haible  <bruno@clisp.org>
81785         * modules/fnmatch (Depends-on): Remove duplicated dependency.
81787 2008-12-21  Bruno Haible  <bruno@clisp.org>
81789         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
81790         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
81791         (Include): Remove conditionalization.
81792         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
81793         (Include): Remove conditionalization.
81794         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
81795         (Include): Remove conditionalization.
81796         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
81797         * m4/mbfile.m4 (gl_MBFILE): Likewise.
81798         * NEWS: Mention the change.
81799         Reported by Alan Hourihane <alanh@fairlite.co.uk>
81800         via Sergey Poznyakoff <gray@gnu.org.ua>.
81802 2008-12-21  Bruno Haible  <bruno@clisp.org>
81804         * MODULES.html.sh (Extended multibyte and wide character utilities
81805         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
81806         wcrtomb, wcsrtombs.
81807         (Support for systems lacking POSIX:2008): Add accept, bind, close,
81808         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
81809         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
81810         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
81812 2008-12-21  Bruno Haible  <bruno@clisp.org>
81814         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
81816 2008-12-21  Bruno Haible  <bruno@clisp.org>
81818         * modules/wcsnrtombs-tests: New file.
81819         * tests/test-wcsnrtombs1.sh: New file.
81820         * tests/test-wcsnrtombs2.sh: New file.
81821         * tests/test-wcsnrtombs3.sh: New file.
81822         * tests/test-wcsnrtombs4.sh: New file.
81823         * tests/test-wcsnrtombs.c: New file.
81825         New module 'wcsnrtombs'.
81826         * lib/wchar.in.h (wcsnrtombs): New declaration.
81827         * lib/wcsnrtombs.c: New file.
81828         * lib/wcsrtombs-state.c: New file.
81829         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
81830         (internal_state): Remove variable.
81831         * m4/wcsnrtombs.m4: New file.
81832         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
81833         compilation units.
81834         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
81835         HAVE_WCSNRTOMBS.
81836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
81837         HAVE_WCSNRTOMBS.
81838         * modules/wcsnrtombs: New file.
81839         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
81840         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
81842 2008-12-21  Bruno Haible  <bruno@clisp.org>
81844         * modules/wcsrtombs-tests: New file.
81845         * tests/test-wcsrtombs1.sh: New file.
81846         * tests/test-wcsrtombs2.sh: New file.
81847         * tests/test-wcsrtombs3.sh: New file.
81848         * tests/test-wcsrtombs4.sh: New file.
81849         * tests/test-wcsrtombs.c: New file.
81851         New module 'wcsrtombs'.
81852         * lib/wchar.in.h (wcsrtombs): New declaration.
81853         * lib/wcsrtombs.c: New file.
81854         * m4/wcsrtombs.m4: New file.
81855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
81856         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
81857         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
81858         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
81859         * modules/wcsrtombs: New file.
81860         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
81861         bugs.
81863 2008-12-21  Bruno Haible  <bruno@clisp.org>
81865         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
81866         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
81867         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
81868         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
81869         if not correct.
81870         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
81871         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
81872         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
81873         m4/locale-zh.m4, m4/codeset.m4.
81874         * doc/posix-functions/wcrtomb.texi: Document the bug.
81876 2008-12-21  Bruno Haible  <bruno@clisp.org>
81878         Work around a btowc() bug on IRIX 6.5.
81879         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
81880         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
81881         REPLACE_WTOBC if not.
81882         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
81883         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
81884         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
81886 2008-12-21  Bruno Haible  <bruno@clisp.org>
81888         * modules/wcrtomb-tests: New file.
81889         * tests/test-wcrtomb.sh: New file.
81890         * tests/test-wcrtomb.c: New file.
81892         New module 'wcrtomb'.
81893         * lib/wchar.in.h (wcrtomb): New declaration.
81894         * lib/wcrtomb.c: New file.
81895         * m4/wcrtomb.m4: New file.
81896         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
81897         HAVE_WCRTOMB.
81898         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
81899         HAVE_WCRTOMB.
81900         * modules/wcrtomb: New file.
81901         * doc/posix-functions/wcrtomb.texi: Mention the new module.
81903 2008-12-21  Bruno Haible  <bruno@clisp.org>
81905         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
81906         * modules/mbsrtowcs (Files): Likewise.
81907         * modules/wctob (Files): Likewise.
81908         * modules/c-strcase-tests (Files): Likewise.
81909         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
81910         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
81911         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
81912         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
81913         * modules/vasnprintf-posix-tests (Files): Likewise.
81915 2008-12-21  William Pursell  <bill.pursell@gmail.com>
81917         gitlog-to-changelog: pass all command-line arguments to git-log
81918         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
81919         it is sometimes convenient to filter the commits in various ways.
81920         gitlog-to-changelog only allows --since to specify a start date,
81921         but git-log itself supports many other filtering mechanisms.
81922         At the moment, I want to filter by branch name.  Rather than
81923         adding a --branch option to gitlog-to-changelog, it seems more
81924         flexible to simply pass all options directly to git-log and let
81925         git do the work.  Notice that this effectively makes --since a
81926         redundant option for gitlog-to-changelog, but removing it would
81927         require current usage to change since calls would then require
81928         an additional '--'.
81930 2008-12-21  Bruno Haible  <bruno@clisp.org>
81932         * modules/mbsnrtowcs-tests: New file.
81933         * tests/test-mbsnrtowcs1.sh: New file.
81934         * tests/test-mbsnrtowcs2.sh: New file.
81935         * tests/test-mbsnrtowcs3.sh: New file.
81936         * tests/test-mbsnrtowcs4.sh: New file.
81937         * tests/test-mbsnrtowcs.c: New file.
81939         New module 'mbsnrtowcs'.
81940         * lib/wchar.in.h (mbsnrtowcs): New declaration.
81941         * lib/mbsnrtowcs.c: New file.
81942         * lib/mbsrtowcs-state.c: New file.
81943         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
81944         (internal_state): Remove variable.
81945         * m4/mbsnrtowcs.m4: New file.
81946         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
81947         compilation units.
81948         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
81949         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
81950         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
81951         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
81952         * modules/mbsnrtowcs: New file.
81953         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
81954         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
81955         portability problem.
81957 2008-12-21  Bruno Haible  <bruno@clisp.org>
81959         Work around mbsrtowcs bug.
81960         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
81961         (gl_FUNC_MBSRTOWCS): Invoke it.
81962         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
81963         m4/locale-zh.m4.
81964         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
81966 2008-12-21  Bruno Haible  <bruno@clisp.org>
81968         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
81970 2008-12-21  Bruno Haible  <bruno@clisp.org>
81972         Update doc for AIX.
81973         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
81974         16-bit wchar_t type.
81975         * doc/posix-functions/btowc.texi: Likewise.
81976         * doc/posix-functions/fgetwc.texi: Likewise.
81977         * doc/posix-functions/fgetws.texi: Likewise.
81978         * doc/posix-functions/fputwc.texi: Likewise.
81979         * doc/posix-functions/fputws.texi: Likewise.
81980         * doc/posix-functions/fwide.texi: Likewise.
81981         * doc/posix-functions/fwprintf.texi: Likewise.
81982         * doc/posix-functions/fwscanf.texi: Likewise.
81983         * doc/posix-functions/getwchar.texi: Likewise.
81984         * doc/posix-functions/getwc.texi: Likewise.
81985         * doc/posix-functions/iswalnum.texi: Likewise.
81986         * doc/posix-functions/iswalpha.texi: Likewise.
81987         * doc/posix-functions/iswblank.texi: Likewise.
81988         * doc/posix-functions/iswcntrl.texi: Likewise.
81989         * doc/posix-functions/iswctype.texi: Likewise.
81990         * doc/posix-functions/iswdigit.texi: Likewise.
81991         * doc/posix-functions/iswgraph.texi: Likewise.
81992         * doc/posix-functions/iswlower.texi: Likewise.
81993         * doc/posix-functions/iswprint.texi: Likewise.
81994         * doc/posix-functions/iswpunct.texi: Likewise.
81995         * doc/posix-functions/iswspace.texi: Likewise.
81996         * doc/posix-functions/iswupper.texi: Likewise.
81997         * doc/posix-functions/iswxdigit.texi: Likewise.
81998         * doc/posix-functions/mbrtowc.texi: Likewise.
81999         * doc/posix-functions/mbsrtowcs.texi: Likewise.
82000         * doc/posix-functions/mbstowcs.texi: Likewise.
82001         * doc/posix-functions/mbtowc.texi: Likewise.
82002         * doc/posix-functions/putwchar.texi: Likewise.
82003         * doc/posix-functions/putwc.texi: Likewise.
82004         * doc/posix-functions/swprintf.texi: Likewise.
82005         * doc/posix-functions/tolower.texi: Likewise.
82006         * doc/posix-functions/toupper.texi: Likewise.
82007         * doc/posix-functions/towctrans.texi: Likewise.
82008         * doc/posix-functions/ungetwc.texi: Likewise.
82009         * doc/posix-functions/vswprintf.texi: Likewise.
82010         * doc/posix-functions/wcrtomb.texi: Likewise.
82011         * doc/posix-functions/wcscat.texi: Likewise.
82012         * doc/posix-functions/wcschr.texi: Likewise.
82013         * doc/posix-functions/wcscmp.texi: Likewise.
82014         * doc/posix-functions/wcscoll.texi: Likewise.
82015         * doc/posix-functions/wcscpy.texi: Likewise.
82016         * doc/posix-functions/wcscspn.texi: Likewise.
82017         * doc/posix-functions/wcsftime.texi: Likewise.
82018         * doc/posix-functions/wcslen.texi: Likewise.
82019         * doc/posix-functions/wcsncat.texi: Likewise.
82020         * doc/posix-functions/wcsncmp.texi: Likewise.
82021         * doc/posix-functions/wcsncpy.texi: Likewise.
82022         * doc/posix-functions/wcspbrk.texi: Likewise.
82023         * doc/posix-functions/wcsrchr.texi: Likewise.
82024         * doc/posix-functions/wcsrtombs.texi: Likewise.
82025         * doc/posix-functions/wcsspn.texi: Likewise.
82026         * doc/posix-functions/wcsstr.texi: Likewise.
82027         * doc/posix-functions/wcstod.texi: Likewise.
82028         * doc/posix-functions/wcstof.texi: Likewise.
82029         * doc/posix-functions/wcstoimax.texi: Likewise.
82030         * doc/posix-functions/wcstok.texi: Likewise.
82031         * doc/posix-functions/wcstold.texi: Likewise.
82032         * doc/posix-functions/wcstoll.texi: Likewise.
82033         * doc/posix-functions/wcstol.texi: Likewise.
82034         * doc/posix-functions/wcstombs.texi: Likewise.
82035         * doc/posix-functions/wcstoull.texi: Likewise.
82036         * doc/posix-functions/wcstoul.texi: Likewise.
82037         * doc/posix-functions/wcstoumax.texi: Likewise.
82038         * doc/posix-functions/wcswidth.texi: Likewise.
82039         * doc/posix-functions/wcsxfrm.texi: Likewise.
82040         * doc/posix-functions/wctob.texi: Likewise.
82041         * doc/posix-functions/wctomb.texi: Likewise.
82042         * doc/posix-functions/wctrans.texi: Likewise.
82043         * doc/posix-functions/wctype.texi: Likewise.
82044         * doc/posix-functions/wcwidth.texi: Likewise.
82045         * doc/posix-functions/wmemchr.texi: Likewise.
82046         * doc/posix-functions/wmemcmp.texi: Likewise.
82047         * doc/posix-functions/wmemcpy.texi: Likewise.
82048         * doc/posix-functions/wmemmove.texi: Likewise.
82049         * doc/posix-functions/wmemset.texi: Likewise.
82050         * doc/posix-functions/wprintf.texi: Likewise.
82051         * doc/posix-functions/wscanf.texi: Likewise.
82053 2008-12-21  Bruno Haible  <bruno@clisp.org>
82055         Update doc for HP-UX 11.11.
82056         * doc/posix-functions/btowc.texi: Clarify that the function is missing
82057         in HP-UX version 11.00, not in all versions of HP-UX 11.
82058         * doc/posix-functions/fwide.texi: Likewise.
82059         * doc/posix-functions/fwprintf.texi: Likewise.
82060         * doc/posix-functions/fwscanf.texi: Likewise.
82061         * doc/posix-functions/inet_ntop.texi: Likewise.
82062         * doc/posix-functions/inet_pton.texi: Likewise.
82063         * doc/posix-functions/mbrlen.texi: Likewise.
82064         * doc/posix-functions/mbrtowc.texi: Likewise.
82065         * doc/posix-functions/mbsinit.texi: Likewise.
82066         * doc/posix-functions/mbsrtowcs.texi: Likewise.
82067         * doc/posix-functions/swprintf.texi: Likewise.
82068         * doc/posix-functions/swscanf.texi: Likewise.
82069         * doc/posix-functions/towctrans.texi: Likewise.
82070         * doc/posix-functions/vfwprintf.texi: Likewise.
82071         * doc/posix-functions/vswprintf.texi: Likewise.
82072         * doc/posix-functions/vwprintf.texi: Likewise.
82073         * doc/posix-functions/wcrtomb.texi: Likewise.
82074         * doc/posix-functions/wcsrtombs.texi: Likewise.
82075         * doc/posix-functions/wcsstr.texi: Likewise.
82076         * doc/posix-functions/wctob.texi: Likewise.
82077         * doc/posix-functions/wctrans.texi: Likewise.
82078         * doc/posix-functions/wmemchr.texi: Likewise.
82079         * doc/posix-functions/wmemcmp.texi: Likewise.
82080         * doc/posix-functions/wmemcpy.texi: Likewise.
82081         * doc/posix-functions/wmemmove.texi: Likewise.
82082         * doc/posix-functions/wmemset.texi: Likewise.
82083         * doc/posix-functions/wprintf.texi: Likewise.
82084         * doc/posix-functions/wscanf.texi: Likewise.
82086 2008-12-21  Bruno Haible  <bruno@clisp.org>
82088         Work around a portability problem.
82089         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
82090         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
82092 2008-12-20  Bruno Haible  <bruno@clisp.org>
82094         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
82095         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
82096         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
82097         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
82098         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
82100         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
82101         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
82102         set.
82103         (GNULIB_defined_mbstate_t): New macro.
82104         (mbsinit): Redefine if REPLACE_MBSINIT is set.
82105         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
82106         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
82107         reuses the system's mbrtowc function but works around the bugs.
82108         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
82109         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
82110         macros.
82111         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
82112         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
82113         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
82114         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
82115         REPLACE_MBSINIT if mbsinit needs to be overridden.
82116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
82117         REPLACE_MBSINIT, REPLACE_MBRTOWC.
82118         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
82119         REPLACE_MBSINIT, REPLACE_MBRTOWC.
82120         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
82121         m4/locale-zh.m4.
82122         (Depends): Add mbsinit.
82123         * modules/mbsinit (Depends): Add mbrtowc.
82124         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
82126 2008-12-20  Bruno Haible  <bruno@clisp.org>
82128         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
82129         so that there are no conversion errors on AIX.
82130         * tests/test-mbsrtowcs.c (main): LIkewise.
82132 2008-12-20  Bruno Haible  <bruno@clisp.org>
82134         Work around wctob bug on Solaris <= 9.
82135         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
82136         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
82137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
82138         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
82139         * modules/wctob (Files): Add m4/locale-fr.m4.
82140         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
82142 2008-12-20  Bruno Haible  <bruno@clisp.org>
82144         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
82145         /dev/null.
82146         * tests/test-select-in.sh: Likewise.
82147         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
82149 2008-12-20  Bruno Haible  <bruno@clisp.org>
82151         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
82152         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
82153         Cygwin 1.5.x.
82155 2008-12-20  Bruno Haible  <bruno@clisp.org>
82157         Ensure mbstate_t is defined on HP-UX 11.11.
82158         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
82159         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
82160         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
82161         AC_USE_SYSTEM_EXTENSIONS.
82162         * modules/fnmatch (Depends-on): Add extensions.
82163         * modules/mbrlen (Depends-on): Likewise.
82164         * modules/mbrtowc (Depends-on): Likewise.
82165         * modules/mbsinit (Depends-on): Likewise.
82166         * modules/mbsrtowcs (Depends-on): Likewise.
82167         * modules/mbswidth (Depends-on): Likewise.
82168         * modules/quotearg (Depends-on): Likewise.
82169         * modules/strftime (Depends-on): Likewise.
82171 2008-12-20  Bruno Haible  <bruno@clisp.org>
82173         Ensure wctob is declared on IRIX 6.5.
82174         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
82175         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
82176         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
82177         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
82178         of HAVE_WCTOB.
82179         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
82180         HAVE_WCTOB.
82181         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
82183 2008-12-19  Bruno Haible  <bruno@clisp.org>
82185         * modules/mbsrtowcs-tests: New file.
82186         * tests/test-mbsrtowcs1.sh: New file.
82187         * tests/test-mbsrtowcs2.sh: New file.
82188         * tests/test-mbsrtowcs3.sh: New file.
82189         * tests/test-mbsrtowcs4.sh: New file.
82190         * tests/test-mbsrtowcs.c: New file.
82192         New module 'mbsrtowcs'.
82193         * lib/wchar.in.h (mbsrtowcs): New declaration.
82194         * lib/mbsrtowcs.c: New file.
82195         * m4/mbsrtowcs.m4: New file.
82196         * modules/mbsrtowcs: New file.
82197         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
82198         HAVE_MBSRTOWCS.
82199         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
82200         HAVE_MBSRTOWCS.
82201         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
82203 2008-12-19  Bruno Haible  <bruno@clisp.org>
82205         New module 'mbrlen'.
82206         * lib/wchar.in.h (mbrlen): New declaration.
82207         * lib/mbrlen.c: New file.
82208         * m4/mbrlen.m4: New file.
82209         * modules/mbrlen: New file.
82210         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
82211         HAVE_MBRLEN.
82212         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
82213         HAVE_MBRLEN.
82214         * doc/posix-functions/mbrlen.texi: Document the new module.
82216 2008-12-19  Bruno Haible  <bruno@clisp.org>
82218         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
82219         * modules/mbrtowc (Depends-on): Add verify.
82220         Suggested by Paul Eggert.
82222 2008-12-18  Bruno Haible  <bruno@clisp.org>
82224         * modules/mbsinit-tests: New file.
82225         * tests/test-mbsinit.sh: New file.
82226         * tests/test-mbsinit.c: New file.
82228 2008-12-18  Bruno Haible  <bruno@clisp.org>
82230         * modules/mbrtowc-tests: New file.
82231         * tests/test-mbrtowc1.sh: New file.
82232         * tests/test-mbrtowc2.sh: New file.
82233         * tests/test-mbrtowc3.sh: New file.
82234         * tests/test-mbrtowc4.sh: New file.
82235         * tests/test-mbrtowc.c: New file.
82237         New module 'mbrtowc'.
82238         * lib/wchar.in.h (mbstate_t): Override when the system does not have
82239         mbsinit and mbrtowc.
82240         (mbrtowc): New declaration.
82241         * lib/mbrtowc.c: New file.
82242         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
82243         * modules/mbrtowc: New file.
82244         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
82245         HAVE_MBRTOWC.
82246         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
82247         HAVE_MBRTOWC.
82248         * doc/posix-functions/mbrtowc.texi: Document the new module.
82250 2008-12-18  Bruno Haible  <bruno@clisp.org>
82252         New module 'wctob'.
82253         * lib/wchar.in.h (wctob): New declaration.
82254         * lib/wctob.c: New file.
82255         * m4/wctob.m4: New file.
82256         * modules/wctob: New file.
82257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
82258         HAVE_WCTOB.
82259         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
82260         * doc/posix-functions/wctob.texi: Document the new module.
82262 2008-12-18  Bruno Haible  <bruno@clisp.org>
82264         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
82265         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
82267 2008-12-18  Simon Josefsson  <simon@josefsson.org>
82269         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
82270         G. Christensen" <tgc@jupiterrise.com>.
82272         * lib/flock.c: Need to include errno.h.  Reported by "Tom
82273         G. Christensen" <tgc@jupiterrise.com>.
82275         * lib/flock.c: Need to include string.h.  Reported by "Tom
82276         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
82277         <ebb9@byu.net>.
82279 2008-12-18  Bruno Haible  <bruno@clisp.org>
82281         * m4/locale-ja.m4: New file, from GNU gettext.
82283 2008-12-17  Bruno Haible  <bruno@clisp.org>
82285         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
82286         Suggested by Eric Blake.
82288 2008-12-17  Bruno Haible  <bruno@clisp.org>
82290         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
82292 2008-12-17  Bruno Haible  <bruno@clisp.org>
82294         * lib/mbsinit.c: Include verify.h. Verify an assumption.
82295         * modules/mbsinit (Depends-on): Add verify.
82296         Suggested by Paul Eggert.
82298 2008-12-17  Bruno Haible  <bruno@clisp.org>
82300         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
82301         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
82302         gl_FUNC_MBRTOWC.
82303         * m4/mbiter.m4 (gl_MBITER): LIkewise.
82304         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
82305         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
82306         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
82307         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
82308         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
82309         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
82310         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
82311         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
82312         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
82313         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
82314         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
82315         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
82316         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
82317         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
82318         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
82319         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
82320         * modules/trim (configure.ac): Likewise.
82322 2008-12-17  Bruno Haible  <bruno@clisp.org>
82324         * modules/btowc-tests: New file.
82325         * tests/test-btowc1.sh: New file.
82326         * tests/test-btowc2.sh: New file.
82327         * tests/test-btowc.c: New file.
82329         New module 'btowc'.
82330         * lib/wchar.in.h (btowc): New declaration.
82331         * lib/btowc.c: New file.
82332         * m4/btowc.m4: New file.
82333         * modules/btowc: New file.
82334         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
82335         HAVE_BTOWC.
82336         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
82337         * doc/posix-functions/btowc.texi: Document the new module.
82339 2008-12-17  Bruno Haible  <bruno@clisp.org>
82341         New module 'mbsinit'.
82342         * lib/wchar.in.h (mbsinit): New declaration.
82343         * lib/mbsinit.c: New file.
82344         * m4/mbsinit.m4: New file.
82345         * modules/mbsinit: New file.
82346         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
82347         HAVE_MBSINIT.
82348         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
82349         HAVE_MBSINIT.
82350         * doc/posix-functions/mbsinit.texi: Document the new module.
82352 2008-12-16  Bruno Haible  <bruno@clisp.org>
82354         * lib/unistd.in.h: Add comment.
82355         * tests/test-environ.c: Don't include <stdlib.h>.
82357 2008-12-16  Bruno Haible  <bruno@clisp.org>
82359         * lib/parse-duration.h (parse_duration): Document return value
82360         convention.
82361         * lib/parse-duration.c: Include specification header first. Add
82362         comments.
82363         (_): Remove macro.
82364         (parse_year_month_day, parse_hour_minute_second): Move side effects
82365         outside of strchr call.
82366         (parse_non_iso8601): Move side effects outside of isspace call.
82367         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
82368         call.
82370 2008-12-16  Bruno Haible  <bruno@clisp.org>
82372         * tests/test-parse-duration.sh: Produce no output when the test
82373         succeeds.
82375 2008-12-16  Bruno Haible  <bruno@clisp.org>
82377         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
82378         expressions.
82380 2008-12-15  Bruno Haible  <bruno@clisp.org>
82382         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
82383         * doc/glibc-functions/flistxattr.texi: Likewise.
82384         * doc/glibc-functions/fopencookie.texi: Likewise.
82385         * doc/glibc-functions/fremovexattr.texi: Likewise.
82386         * doc/glibc-functions/fsetxattr.texi: Likewise.
82387         * doc/glibc-functions/getxattr.texi: Likewise.
82388         * doc/glibc-functions/lgetxattr.texi: Likewise.
82389         * doc/glibc-functions/listxattr.texi: Likewise.
82390         * doc/glibc-functions/llistxattr.texi: Likewise.
82391         * doc/glibc-functions/lremovexattr.texi: Likewise.
82392         * doc/glibc-functions/lsetxattr.texi: Likewise.
82393         * doc/glibc-functions/removexattr.texi: Likewise.
82394         * doc/glibc-functions/setxattr.texi: Likewise.
82395         * doc/posix-functions/open_memstream.texi: Likewise.
82397 2008-12-15  Eric Blake  <ebb9@byu.net>
82399         Update doc for cygwin 1.7.
82400         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
82401         functions.
82402         * doc/posix-functions/fchmodat.texi: Likewise.
82403         * doc/posix-functions/fchownat.texi: Likewise.
82404         * doc/posix-functions/fdopendir.texi: Likewise.
82405         * doc/posix-functions/fmemopen.texi: Likewise.
82406         * doc/posix-functions/freeaddrinfo.texi: Likewise.
82407         * doc/posix-functions/fstatat.texi: Likewise.
82408         * doc/posix-functions/futimens.texi: Likewise.
82409         * doc/posix-functions/gai_strerror.texi: Likewise.
82410         * doc/posix-functions/getaddrinfo.texi: Likewise.
82411         * doc/posix-functions/getnameinfo.texi: Likewise.
82412         * doc/posix-functions/if_freenameindex.texi: Likewise.
82413         * doc/posix-functions/if_indextoname.texi: Likewise.
82414         * doc/posix-functions/if_nameindex.texi: Likewise.
82415         * doc/posix-functions/if_nametoindex.texi: Likewise.
82416         * doc/posix-functions/insque.texi: Likewise.
82417         * doc/posix-functions/linkat.texi: Likewise.
82418         * doc/posix-functions/llrint.texi: Likewise.
82419         * doc/posix-functions/llrintf.texi: Likewise.
82420         * doc/posix-functions/llrintl.texi: Likewise.
82421         * doc/posix-functions/lockf.texi: Likewise.
82422         * doc/posix-functions/lrintl.texi: Likewise.
82423         * doc/posix-functions/mkdirat.texi: Likewise.
82424         * doc/posix-functions/mkfifoat.texi: Likewise.
82425         * doc/posix-functions/mknodat.texi: Likewise.
82426         * doc/posix-functions/mq_close.texi: Likewise.
82427         * doc/posix-functions/mq_getattr.texi: Likewise.
82428         * doc/posix-functions/mq_notify.texi: Likewise.
82429         * doc/posix-functions/mq_open.texi: Likewise.
82430         * doc/posix-functions/mq_receive.texi: Likewise.
82431         * doc/posix-functions/mq_send.texi: Likewise.
82432         * doc/posix-functions/mq_setattr.texi: Likewise.
82433         * doc/posix-functions/mq_timedreceive.texi: Likewise.
82434         * doc/posix-functions/mq_timedsend.texi: Likewise.
82435         * doc/posix-functions/mq_unlink.texi: Likewise.
82436         * doc/posix-functions/open_memstream.texi: Likewise.
82437         * doc/posix-functions/openat.texi: Likewise.
82438         * doc/posix-functions/posix_fadvise.texi: Likewise.
82439         * doc/posix-functions/posix_fallocate.texi: Likewise.
82440         * doc/posix-functions/posix_madvise.texi: Likewise.
82441         * doc/posix-functions/posix_memalign.texi: Likewise.
82442         * doc/posix-functions/posix_openpt.texi: Likewise.
82443         * doc/posix-functions/readlinkat.texi: Likewise.
82444         * doc/posix-functions/remque.texi: Likewise.
82445         * doc/posix-functions/renameat.texi: Likewise.
82446         * doc/posix-functions/rintl.texi: Likewise.
82447         * doc/posix-functions/sem_unlink.texi: Likewise.
82448         * doc/posix-functions/shm_open.texi: Likewise.
82449         * doc/posix-functions/shm_unlink.texi: Likewise.
82450         * doc/posix-functions/signgam.texi: Likewise.
82451         * doc/posix-functions/sigset.texi: Likewise.
82452         * doc/posix-functions/stpcpy.texi: Likewise.
82453         * doc/posix-functions/stpncpy.texi: Likewise.
82454         * doc/posix-functions/strerror.texi: Likewise.
82455         * doc/posix-functions/strtod.texi: Likewise.
82456         * doc/posix-functions/symlinkat.texi: Likewise.
82457         * doc/posix-functions/unlinkat.texi: Likewise.
82458         * doc/posix-functions/utimensat.texi: Likewise.
82459         * doc/glibc-functions/bindresvport.texi: Likewise.
82460         * doc/glibc-functions/dn_expand.texi: Likewise.
82461         * doc/glibc-functions/exp10.texi: Likewise.
82462         * doc/glibc-functions/exp10f.texi: Likewise.
82463         * doc/glibc-functions/fgetxattr.texi: Likewise.
82464         * doc/glibc-functions/flistxattr.texi: Likewise.
82465         * doc/glibc-functions/fopencookie.texi: Likewise.
82466         * doc/glibc-functions/freeifaddrs.texi: Likewise.
82467         * doc/glibc-functions/fremovexattr.texi: Likewise.
82468         * doc/glibc-functions/fsetxattr.texi: Likewise.
82469         * doc/glibc-functions/getifaddrs.texi: Likewise.
82470         * doc/glibc-functions/getxattr.texi: Likewise.
82471         * doc/glibc-functions/lgetxattr.texi: Likewise.
82472         * doc/glibc-functions/listxattr.texi: Likewise.
82473         * doc/glibc-functions/llistxattr.texi: Likewise.
82474         * doc/glibc-functions/lremovexattr.texi: Likewise.
82475         * doc/glibc-functions/lsetxattr.texi: Likewise.
82476         * doc/glibc-functions/pow10.texi: Likewise.
82477         * doc/glibc-functions/pow10f.texi: Likewise.
82478         * doc/glibc-functions/rcmd_af.texi: Likewise.
82479         * doc/glibc-functions/removexattr.texi: Likewise.
82480         * doc/glibc-functions/res_init.texi: Likewise.
82481         * doc/glibc-functions/res_mkquery.texi: Likewise.
82482         * doc/glibc-functions/res_query.texi: Likewise.
82483         * doc/glibc-functions/res_querydomain.texi: Likewise.
82484         * doc/glibc-functions/res_send.texi: Likewise.
82485         * doc/glibc-functions/rresvport_af.texi: Likewise.
82486         * doc/glibc-functions/setxattr.texi: Likewise.
82487         * doc/glibc-functions/strcasestr.texi: Likewise.
82489 2008-12-15  Bruno Haible  <bruno@clisp.org>
82491         Fix compilation error on OSF/1 4.0.
82492         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
82493         <sys/time.h>, simply delegate to the system header.
82494         Reported by Daniel Richard G. <oss@teragram.com>.
82496 2008-12-15  Bruno Haible  <bruno@clisp.org>
82498         * doc/posix-functions/openat.texi: Mention the 'openat' module.
82499         * doc/posix-functions/fchmodat.texi: Likewise.
82500         * doc/posix-functions/fchownat.texi: Likewise.
82501         * doc/posix-functions/fdopendir.texi: Likewise.
82502         * doc/posix-functions/fstatat.texi: Likewise.
82503         * doc/posix-functions/mkdirat.texi: Likewise.
82504         * doc/posix-functions/unlinkat.texi: Likewise.
82506 2008-12-14  Bruno Haible  <bruno@clisp.org>
82508         Update doc for POSIX:2008.
82509         * doc/posix-functions/faccessat.texi: New file.
82510         * doc/posix-functions/fchmodat.texi: New file.
82511         * doc/posix-functions/fchownat.texi: New file.
82512         * doc/posix-functions/fdopendir.texi: New file.
82513         * doc/posix-functions/fstatat.texi: New file.
82514         * doc/posix-functions/futimens.texi: New file.
82515         * doc/posix-functions/linkat.texi: New file.
82516         * doc/posix-functions/mkdirat.texi: New file.
82517         * doc/posix-functions/mkfifoat.texi: New file.
82518         * doc/posix-functions/mknodat.texi: New file.
82519         * doc/posix-functions/open_wmemstream.texi: New file.
82520         * doc/posix-functions/openat.texi: New file.
82521         * doc/posix-functions/psiginfo.texi: New file.
82522         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
82523         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
82524         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
82525         * doc/posix-functions/readlinkat.texi: New file.
82526         * doc/posix-functions/renameat.texi: New file.
82527         * doc/posix-functions/strerror_l.texi: New file.
82528         * doc/posix-functions/symlinkat.texi: New file.
82529         * doc/posix-functions/unlinkat.texi: New file.
82530         * doc/posix-functions/utimensat.texi: New file.
82531         * doc/gnulib.texi (Function Substitutes): Add these subsections.
82533 2008-12-14  Bruno Haible  <bruno@clisp.org>
82535         Update doc for POSIX:2008.
82536         * doc/posix-functions/alphasort.texi: Renamed from
82537         doc/glibc-functions/alphasort.texi.
82538         * doc/posix-functions/dirfd.texi: Renamed from
82539         doc/glibc-functions/dirfd.texi.
82540         * doc/posix-functions/dprintf.texi: Renamed from
82541         doc/glibc-functions/dprintf.texi.
82542         * doc/posix-functions/duplocale.texi: Renamed from
82543         doc/glibc-functions/duplocale.texi.
82544         * doc/posix-functions/fexecve.texi: Renamed from
82545         doc/glibc-functions/fexecve.texi.
82546         * doc/posix-functions/fmemopen.texi: Renamed from
82547         doc/glibc-functions/fmemopen.texi.
82548         * doc/posix-functions/freelocale.texi: Renamed from
82549         doc/glibc-functions/freelocale.texi.
82550         * doc/posix-functions/getdate_err.texi: Renamed from
82551         doc/glibc-functions/getdate_err.texi.
82552         * doc/posix-functions/isalnum_l.texi: Renamed from
82553         doc/glibc-functions/isalnum_l.texi.
82554         * doc/posix-functions/isalpha_l.texi: Renamed from
82555         doc/glibc-functions/isalpha_l.texi.
82556         * doc/posix-functions/isblank_l.texi: Renamed from
82557         doc/glibc-functions/isblank_l.texi.
82558         * doc/posix-functions/iscntrl_l.texi: Renamed from
82559         doc/glibc-functions/iscntrl_l.texi.
82560         * doc/posix-functions/isdigit_l.texi: Renamed from
82561         doc/glibc-functions/isdigit_l.texi.
82562         * doc/posix-functions/isgraph_l.texi: Renamed from
82563         doc/glibc-functions/isgraph_l.texi.
82564         * doc/posix-functions/islower_l.texi: Renamed from
82565         doc/glibc-functions/islower_l.texi.
82566         * doc/posix-functions/isprint_l.texi: Renamed from
82567         doc/glibc-functions/isprint_l.texi.
82568         * doc/posix-functions/ispunct_l.texi: Renamed from
82569         doc/glibc-functions/ispunct_l.texi.
82570         * doc/posix-functions/isspace_l.texi: Renamed from
82571         doc/glibc-functions/isspace_l.texi.
82572         * doc/posix-functions/isupper_l.texi: Renamed from
82573         doc/glibc-functions/isupper_l.texi.
82574         * doc/posix-functions/iswalnum_l.texi: Renamed from
82575         doc/glibc-functions/iswalnum_l.texi.
82576         * doc/posix-functions/iswalpha_l.texi: Renamed from
82577         doc/glibc-functions/iswalpha_l.texi.
82578         * doc/posix-functions/iswblank_l.texi: Renamed from
82579         doc/glibc-functions/iswblank_l.texi.
82580         * doc/posix-functions/iswcntrl_l.texi: Renamed from
82581         doc/glibc-functions/iswcntrl_l.texi.
82582         * doc/posix-functions/iswctype_l.texi: Renamed from
82583         doc/glibc-functions/iswctype_l.texi.
82584         * doc/posix-functions/iswdigit_l.texi: Renamed from
82585         doc/glibc-functions/iswdigit_l.texi.
82586         * doc/posix-functions/iswgraph_l.texi: Renamed from
82587         doc/glibc-functions/iswgraph_l.texi.
82588         * doc/posix-functions/iswlower_l.texi: Renamed from
82589         doc/glibc-functions/iswlower_l.texi.
82590         * doc/posix-functions/iswprint_l.texi: Renamed from
82591         doc/glibc-functions/iswprint_l.texi.
82592         * doc/posix-functions/iswpunct_l.texi: Renamed from
82593         doc/glibc-functions/iswpunct_l.texi.
82594         * doc/posix-functions/iswspace_l.texi: Renamed from
82595         doc/glibc-functions/iswspace_l.texi.
82596         * doc/posix-functions/iswupper_l.texi: Renamed from
82597         doc/glibc-functions/iswupper_l.texi.
82598         * doc/posix-functions/iswxdigit_l.texi: Renamed from
82599         doc/glibc-functions/iswxdigit_l.texi.
82600         * doc/posix-functions/isxdigit_l.texi: Renamed from
82601         doc/glibc-functions/isxdigit_l.texi.
82602         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
82603         doc/glibc-functions/mbsnrtowcs.texi.
82604         * doc/posix-functions/mkdtemp.texi: Renamed from
82605         doc/glibc-functions/mkdtemp.texi.
82606         * doc/posix-functions/newlocale.texi: Renamed from
82607         doc/glibc-functions/newlocale.texi.
82608         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
82609         doc/glibc-functions/nl_langinfo_l.texi.
82610         * doc/posix-functions/open_memstream.texi: Renamed from
82611         doc/glibc-functions/open_memstream.texi.
82612         * doc/posix-functions/opterr.texi: Renamed from
82613         doc/glibc-functions/opterr.texi.
82614         * doc/posix-functions/optind.texi: Renamed from
82615         doc/glibc-functions/optind.texi.
82616         * doc/posix-functions/optopt.texi: Renamed from
82617         doc/glibc-functions/optopt.texi.
82618         * doc/posix-functions/psignal.texi: Renamed from
82619         doc/glibc-functions/psignal.texi.
82620         * doc/posix-functions/scandir.texi: Renamed from
82621         doc/glibc-functions/scandir.texi.
82622         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
82623         doc/glibc-functions/sched_get_priority_min.texi.
82624         * doc/posix-functions/signgam.texi: Renamed from
82625         doc/glibc-functions/signgam.texi.
82626         * doc/posix-functions/stpcpy.texi: Renamed from
82627         doc/glibc-functions/stpcpy.texi.
82628         * doc/posix-functions/stpncpy.texi: Renamed from
82629         doc/glibc-functions/stpncpy.texi.
82630         * doc/posix-functions/strcasecmp_l.texi: Renamed from
82631         doc/glibc-functions/strcasecmp_l.texi.
82632         * doc/posix-functions/strcoll_l.texi: Renamed from
82633         doc/glibc-functions/strcoll_l.texi.
82634         * doc/posix-functions/strfmon_l.texi: Renamed from
82635         doc/glibc-functions/strfmon_l.texi.
82636         * doc/posix-functions/strftime_l.texi: Renamed from
82637         doc/glibc-functions/strftime_l.texi.
82638         * doc/posix-functions/strncasecmp_l.texi: Renamed from
82639         doc/glibc-functions/strncasecmp_l.texi.
82640         * doc/posix-functions/strndup.texi: Renamed from
82641         doc/glibc-functions/strndup.texi.
82642         * doc/posix-functions/strnlen.texi: Renamed from
82643         doc/glibc-functions/strnlen.texi.
82644         * doc/posix-functions/strsignal.texi: Renamed from
82645         doc/glibc-functions/strsignal.texi.
82646         * doc/posix-functions/strxfrm_l.texi: Renamed from
82647         doc/glibc-functions/strxfrm_l.texi.
82648         * doc/posix-functions/timer_gettime.texi: Renamed from
82649         doc/glibc-functions/timer_gettime.texi.
82650         * doc/posix-functions/tolower_l.texi: Renamed from
82651         doc/glibc-functions/tolower_l.texi.
82652         * doc/posix-functions/toupper_l.texi: Renamed from
82653         doc/glibc-functions/toupper_l.texi.
82654         * doc/posix-functions/towctrans_l.texi: Renamed from
82655         doc/glibc-functions/towctrans_l.texi.
82656         * doc/posix-functions/towlower_l.texi: Renamed from
82657         doc/glibc-functions/towlower_l.texi.
82658         * doc/posix-functions/towupper_l.texi: Renamed from
82659         doc/glibc-functions/towupper_l.texi.
82660         * doc/posix-functions/uselocale.texi: Renamed from
82661         doc/glibc-functions/uselocale.texi.
82662         * doc/posix-functions/vdprintf.texi: Renamed from
82663         doc/glibc-functions/vdprintf.texi.
82664         * doc/posix-functions/wcpcpy.texi:
82665         Renamed from doc/glibc-functions/wcpcpy.texi.
82666         * doc/posix-functions/wcpncpy.texi: Renamed from
82667         doc/glibc-functions/wcpncpy.texi.
82668         * doc/posix-functions/wcscasecmp.texi: Renamed from
82669         doc/glibc-functions/wcscasecmp.texi.
82670         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
82671         doc/glibc-functions/wcscasecmp_l.texi.
82672         * doc/posix-functions/wcscoll_l.texi: Renamed from
82673         doc/glibc-functions/wcscoll_l.texi.
82674         * doc/posix-functions/wcsdup.texi: Renamed from
82675         doc/glibc-functions/wcsdup.texi.
82676         * doc/posix-functions/wcsncasecmp.texi: Renamed from
82677         doc/glibc-functions/wcsncasecmp.texi.
82678         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
82679         doc/glibc-functions/wcsncasecmp_l.texi.
82680         * doc/posix-functions/wcsnlen.texi: Renamed from
82681         doc/glibc-functions/wcsnlen.texi.
82682         * doc/posix-functions/wcsnrtombs.texi: Renamed from
82683         doc/glibc-functions/wcsnrtombs.texi.
82684         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
82685         doc/glibc-functions/wcsxfrm_l.texi.
82686         * doc/posix-functions/wctrans_l.texi: Renamed from
82687         doc/glibc-functions/wctrans_l.texi.
82688         * doc/posix-functions/wctype_l.texi: Renamed from
82689         doc/glibc-functions/wctype_l.texi.
82690         * doc/gnulib.texi (Function Substitutes): Add these subsections.
82691         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
82692         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
82693         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
82694         these subsections.
82695         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
82696         Remove sections.
82698 2008-12-14  Bruno Haible  <bruno@clisp.org>
82700         Update doc for POSIX:2008.
82701         * doc/posix-functions/*.texi: Update URL of POSIX specification.
82703 2008-12-14  Bruno Haible  <bruno@clisp.org>
82705         Update doc for POSIX:2008.
82706         * doc/pastposix-functions/bcmp.texi: Renamed from
82707         doc/posix-functions/bcmp.texi.
82708         * doc/pastposix-functions/bcopy.texi: Renamed from
82709         doc/posix-functions/bcopy.texi.
82710         * doc/pastposix-functions/bsd_signal.texi: Renamed from
82711         doc/posix-functions/bsd_signal.texi.
82712         * doc/pastposix-functions/bzero.texi: Renamed from
82713         doc/posix-functions/bzero.texi.
82714         * doc/pastposix-functions/ecvt.texi: Renamed from
82715         doc/posix-functions/ecvt.texi.
82716         * doc/pastposix-functions/fcvt.texi: Renamed from
82717         doc/posix-functions/fcvt.texi.
82718         * doc/pastposix-functions/ftime.texi: Renamed from
82719         doc/posix-functions/ftime.texi.
82720         * doc/pastposix-functions/gcvt.texi: Renamed from
82721         doc/posix-functions/gcvt.texi.
82722         * doc/pastposix-functions/getcontext.texi: Renamed from
82723         doc/posix-functions/getcontext.texi.
82724         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
82725         doc/posix-functions/gethostbyaddr.texi.
82726         * doc/pastposix-functions/gethostbyname.texi: Renamed from
82727         doc/posix-functions/gethostbyname.texi.
82728         * doc/pastposix-functions/getwd.texi: Renamed from
82729         doc/posix-functions/getwd.texi.
82730         * doc/pastposix-functions/h_errno.texi: Renamed from
82731         doc/posix-functions/h_errno.texi.
82732         * doc/pastposix-functions/index.texi: Renamed from
82733         doc/posix-functions/index.texi.
82734         * doc/pastposix-functions/makecontext.texi: Renamed from
82735         doc/posix-functions/makecontext.texi.
82736         * doc/pastposix-functions/mktemp.texi: Renamed from
82737         doc/posix-functions/mktemp.texi.
82738         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
82739         doc/posix-functions/pthread_attr_getstackaddr.texi.
82740         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
82741         doc/posix-functions/pthread_attr_setstackaddr.texi.
82742         * doc/pastposix-functions/rindex.texi: Renamed from
82743         doc/posix-functions/rindex.texi.
82744         * doc/pastposix-functions/scalb.texi: Renamed from
82745         doc/posix-functions/scalb.texi.
82746         * doc/pastposix-functions/setcontext.texi: Renamed from
82747         doc/posix-functions/setcontext.texi.
82748         * doc/pastposix-functions/swapcontext.texi: Renamed from
82749         doc/posix-functions/swapcontext.texi.
82750         * doc/pastposix-functions/ualarm.texi: Renamed from
82751         doc/posix-functions/ualarm.texi.
82752         * doc/pastposix-functions/usleep.texi: Renamed from
82753         doc/posix-functions/usleep.texi.
82754         * doc/pastposix-functions/vfork.texi: Renamed from
82755         doc/posix-functions/vfork.texi.
82756         * doc/pastposix-functions/wcswcs.texi: Renamed from
82757         doc/posix-functions/wcswcs.texi.
82758         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
82759         (Function Substitutes): Update.
82761 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82763         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
82764         m4/strerror.m4.
82766 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82767             Bruno Haible  <bruno@clisp.org>
82769         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
82771 2008-12-13  Bruno Haible  <bruno@clisp.org>
82773         * modules/strtoull (Depends-on): Remove unistd.
82775 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82777         * modules/strtoull (Depends-on): Add stdlib.
82779 2008-12-11  Simon Josefsson  <simon@josefsson.org>
82781         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
82783 2008-12-10  Jim Meyering  <meyering@redhat.com>
82785         gl_ASSERT: don't say assertions are disabled when they're not
82786         * m4/assert.m4 (gl_ASSERT): Do not make configure report
82787         "checking whether to enable assertions... no", when they are in
82788         fact enabled.  This is solely a bug in the output of configure.
82789         In spite of saying "no", NDEBUG was not defined in that case.
82790         Also, as noted by Eric Blake, leave assertions enabled upon
82791         --enable-assert=INVALID.
82793 2008-12-10  Bruno Haible  <bruno@clisp.org>
82795         Change MODULES.html to refer to POSIX:2008 where possible.
82796         * MODULES.html.sh (POSIX2008_URL): New variable.
82797         (posix_headers): Remove sys/timeb, ucontext.
82798         (posix2001_headers): New variable.
82799         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
82800         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
82801         index, makecontext, mktemp, pthread_attr_getstackaddr,
82802         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
82803         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
82804         (posix2001_functions): New variable.
82805         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
82806         otherwise.
82808 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82810         add missing include to parse-duration.c
82811         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
82812         * modules/parse-duration (Depends-on): Add xalloc.
82814         fix sed script reading maint.mk
82815         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
82816         (syntax-check-rules): Use it.
82818 2008-12-09  Bruno Haible  <bruno@clisp.org>
82820         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
82821         MacOS X 10.4/PowerPC.
82822         Reported by Simon Josefsson.
82824 2008-12-08  Jim Meyering  <meyering@redhat.com>
82826         work around mingw's lack of some S_IF definitions
82827         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
82828         Reported by Simon Josefsson.
82830 2008-12-08  Bruno Haible  <bruno@clisp.org>
82832         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
82833         applied to variables. Needed on MacOS X 10.4/PowerPC.
82834         Reported by Simon Josefsson.
82836 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
82837         and Eric Blake  <ebb9@byu.net>
82839         assert: honor --enable-assert
82840         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
82841         order to honor --enable-assert, rather than treating it as a
82842         synonym for --disable-assert.
82844 2008-12-08  Jim Meyering  <meyering@redhat.com>
82846         * lib/posixtm.c: Remove now-useless declaration of mktime.
82848         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
82850 2008-12-07  Bruno Haible  <bruno@clisp.org>
82852         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
82853         test_once): Mark functions as static.
82854         * tests/test-tls.c (test_tls): Likewise.
82856 2008-12-07  Bruno Haible  <bruno@clisp.org>
82858         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
82859         iconv_register_autodetect.
82861 2008-12-07  Jim Meyering  <meyering@redhat.com>
82863         posixtm.c: avoid a warning
82864         * lib/posixtm.c (posixtime): Don't initialize tm0.
82865         It's no longer needed to placate gcc4's -Wuninitialized,
82866         and the attempt to placate would elicit a new warning.
82868         unicodeio.c: mark unused parameters
82869         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
82870         (fallback_failure_callback): Likewise.
82872 2008-12-07  Bruno Haible  <bruno@clisp.org>
82874         * gnulib-tool (func_create_testdir): When building the tests
82875         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
82876         Reported by Simon Josefsson.
82878 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82880         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
82882 2008-12-06  Bruno Haible  <bruno@clisp.org>
82884         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
82885         Suggested by Eric Blake.
82887 2008-12-06  Bruno Haible  <bruno@clisp.org>
82889         Fix a c-stack test failure on MacOS X.
82890         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
82891         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
82892         handler for SIGBUS as well.
82893         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
82894         install a signal handler for SIGBUS as well.
82895         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
82897 2008-12-06  Bruno Haible  <bruno@clisp.org>
82899         Advocacy documentation.
82900         * doc/gnulib-intro.texi (Benefits): New section.
82901         * doc/gnulib.texi: Update.
82903 2008-12-06  Bruno Haible  <bruno@clisp.org>
82905         Document the 'manywarnings' module.
82906         * doc/manywarnings.texi: New file.
82907         * doc/gnulib.texi: Include it.
82909 2008-12-05  Eric Blake  <ebb9@byu.net>
82911         tests: silence some gcc warnings
82912         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
82913         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
82914         type mismatches.
82916 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82917             Bruno Haible  <bruno@clisp.org>
82919         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
82921 2008-11-29  Jim Meyering  <meyering@redhat.com>
82923         unicodeio.c: mark unused parameters
82924         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
82925         (fallback_failure_callback): Likewise.
82927         fts: fix a thinko
82928         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
82929         (set_stat_type): Return S_IF*-valued "type" directly.
82930         Prompted by James Youngman's spotting a related bug.
82931         Confirmed by further testing through find.
82933         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
82934         * lib/fts.c (D_TYPE): Define.
82935         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
82936         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
82937         (s_ifmt_shift_bits): New function.
82938         (set_stat_type): New function.
82939         (fts_build): When not calling fts_stat, call set_stat_type
82940         to propagate dirent.d_type info to fts_read caller.
82941         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
82942         fts_statp->st_mode type information may be valid.
82944 2008-11-28  Simon Josefsson  <simon@josefsson.org>
82946         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
82947         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
82948         <sds@gnu.org>.
82950 2008-11-20  Bruno Haible  <bruno@clisp.org>
82952         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
82953         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
82954         INCLUDE_NEXT.
82955         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
82956         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
82957         * modules/math (Makefile.am): Substitute
82958         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
82959         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
82961 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
82962             Bruno Haible  <bruno@clisp.org>
82964         * lib/stdint.in.h: Define all type macros so that their expansion is
82965         a single typedef'ed token. Fixes a compilation failure in Boost which
82966         does "using ::int8_t;".
82968 2008-11-18  Simon Josefsson  <simon@josefsson.org>
82970         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
82971         gl_MANYWARN_ALL_GCC.
82972         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
82973         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
82974         * modules/manywarnings: New file.
82975         * MODULES.html.sh: Mention manywarnings module.
82977 2008-11-18  Bruno Haible  <bruno@clisp.org>
82979         * doc/gnulib-tool.texi (Unit tests): New section.
82981 2008-11-18  Simon Josefsson  <simon@josefsson.org>
82983         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
82984         paths like 'lib/po/foo.po'.
82986 2008-11-17  Simon Josefsson  <simon@josefsson.org>
82988         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
82989         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
82991 2008-11-17  Simon Josefsson  <simon@josefsson.org>
82993         * m4/warnings.m4: Use CPPFLAGS to really check whether the
82994         parameter works.
82996 2008-11-17  Simon Josefsson  <simon@josefsson.org>
82998         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
83000 2008-11-17  Bruce Korb  <bkorb@gnu.org>
83002         * modules/parse-duration-tests: New file.
83003         * tests/test-parse-duration.sh: New file.
83004         * tests/test-parse-duration.c: New file.
83006         New module 'parse-duration'.
83007         * lib/parse-duration.h: New file.
83008         * lib/parse-duration.c: New file.
83009         * modules/parse-duration: New file.
83011 2008-11-17  Bruno Haible  <bruno@clisp.org>
83013         * tests/test-select-out.sh: Comment out the first pipe test.
83014         Reported by Simon Josefsson.
83016 2008-11-17  Bruno Haible  <bruno@clisp.org>
83018         * modules/getaddrinfo (Depends-on): Add servent, hostent.
83019         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
83020         gl_HOSTENT.
83022 2008-11-17  Bruno Haible  <bruno@clisp.org>
83024         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
83025         -lnetwork and -lnet. Needed for Haiku and BeOS.
83027 2008-11-16  Bruno Haible  <bruno@clisp.org>
83029         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
83031 2008-11-16  Bruno Haible  <bruno@clisp.org>
83033         Avoid test failure on Haiku.
83034         * tests/test-fsync.c: Include <errno.h>.
83035         (main): Don't require that fsync (0) fails.
83037 2008-11-15  Bruno Haible  <bruno@clisp.org>
83039         New module 'hostent'.
83040         * modules/hostent: New file.
83041         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
83043 2008-11-15  Bruno Haible  <bruno@clisp.org>
83045         New module 'servent'.
83046         * modules/servent: New file.
83047         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
83049 2008-11-15  Bruno Haible  <bruno@clisp.org>
83051         Avoid generating same test program with two different rules.
83052         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
83053         test-frexp to test-frexp-nolibm.
83054         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
83055         test-frexpl to test-frexpl-nolibm.
83057 2008-11-15  Bruno Haible  <bruno@clisp.org>
83059         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
83060         $(FREXPL_LIBM).
83062 2008-11-15  Bruno Haible  <bruno@clisp.org>
83064         * lib/netdb.in.h: Activate the definitions also when the system's
83065         <netdb.h> has 'struct addrinfo'.
83066         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
83067         EAI_OVERFLOW or AI_NUMERICSERV.
83068         * doc/posix-headers/netdb.texi: Document the problem.
83070 2008-11-15  Bruno Haible  <bruno@clisp.org>
83072         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
83074         Make the 'sched' module work on platforms where <sched.h> exists but
83075         is incomplete (such as Haiku).
83076         * lib/sched.in.h; Include the system's <sched.h> if it exists.
83077         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
83078         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
83079         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
83080         HAVE_STRUCT_SCHED_PARAM.
83081         * modules/sched (Depends-on): Add include_next.
83082         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
83083         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
83084         * doc/posix-headers/sched.texi: Document the issue.
83086 2008-11-13  Jim Meyering  <meyering@redhat.com>
83088         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
83089         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
83090         test would fail due to the difference in the Report bugs to ...
83091         line.  The expected address is empty, "<>", while the actual
83092         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
83094 2008-11-12  Bruno Haible  <bruno@clisp.org>
83096         lstat: don't compile lstat.c on systems lacking lstat
83097         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
83098         which don't have lstat; this is handled by lib/sys_stat.in.h already.
83099         Reported by Daniel P. Berrange via Jim Meyering.
83101 2008-11-12  Jim Meyering  <meyering@redhat.com>
83103         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
83105 2008-11-12  Simon Josefsson  <simon@josefsson.org>
83107         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
83108         instead.
83110 2008-11-12  Bruno Haible  <bruno@clisp.org>
83112         * lib/unicodeio.c: Include unistr.h.
83113         (utf8_wctomb): Remove function.
83114         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
83116 2008-11-12  Simon Josefsson  <simon@josefsson.org>
83118         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
83119         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
83120         <bruno@clisp.org>.
83121         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
83123 2008-11-12  Simon Josefsson  <simon@josefsson.org>
83125         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
83126         * doc/gnulib.texi: Add section for warnings.
83128 2008-11-11  Bruno Haible  <bruno@clisp.org>
83130         * lib/sockets.h: Add a comment.
83132 2008-11-11  Karl Berry  <karl@gnu.org>
83134         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
83136 2008-11-11  Eric Blake  <ebb9@byu.net>
83138         fdl.texi: avoid git symlinks
83139         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
83141 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
83143         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
83145 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
83147         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
83148         (gl_WARN_ADD): Substitute $2 if literal.
83150 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
83152         * m4/warning.m4: Remove.
83154 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
83156         * m4/warnings.m4: Almost complete rewrite. :-)
83158 2008-11-10  Simon Josefsson  <simon@josefsson.org>
83160         * modules/warnings: New module.
83161         * m4/warnings.m4: New file.
83162         * MODULES.html.sh: Mention warnings module.
83163         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
83164         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83166 2008-11-10  Eric Blake  <ebb9@byu.net>
83168         fdl.texi: make a symlink to the latest version
83169         * doc/standards.texi: Revert today's earlier change.
83170         * doc/fdl-1.2.texi: Rename from old fdl.texi...
83171         * doc/fdl.texi: ...and replace this with a symlink to the newer
83172         fdl-1.3.texi.
83174 2008-11-10  Bruno Haible  <bruno@clisp.org>
83176         * tests/test-select-fd.c (main): Accept the result file name as fourth
83177         argument.
83178         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
83179         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
83181 2008-11-10  Bruno Haible  <bruno@clisp.org>
83183         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
83184         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
83185         as autoconf-substituted macros.
83186         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
83187         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
83188         gl_NETDB_H_DEFAULTS. Set these variables.
83189         * modules/netdb (Makefile.am): Substitute these variables.
83191 2008-11-10  Eric Blake  <ebb9@byu.net>
83193         standards.texi: include correct file for FDL 1.3
83194         * doc/standards.texi (GNU Free Documentation License): Change
83195         include file to pull in FDL 1.3, not 1.2.
83197         fdl.texi: revert accidental change to license
83198         * doc/fdl.texi: This is FDL 1.2, not 1.3.
83200 2008-11-10  Bruno Haible  <bruno@clisp.org>
83202         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
83203         cross-compiling guesses also when the native compile gives no result.
83205 2008-11-10  Bruno Haible  <bruno@clisp.org>
83207         * lib/spawni.c (__spawni): Force variable into the stack.
83209 2008-11-10  Bruno Haible  <bruno@clisp.org>
83211         Add support for Haiku.
83212         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
83213         glibc and BeOS, but also on Haiku.
83214         * lib/fpurge.c (fpurge): Likewise.
83215         * lib/freadable.c (freadable): Likewise.
83216         * lib/freadahead.c (freadahead): Likewise.
83217         * lib/freading.c (freading): Likewise.
83218         * lib/freadptr.c (freadptr): Likewise.
83219         * lib/freadseek.c (freadptrinc): Likewise.
83220         * lib/fseeko.c (rpl_fseeko): Likewise.
83221         * lib/fseterr.c (fseterr): Likewise.
83222         * lib/fwritable.c (fwritable): Likewise.
83223         * lib/fwriting.c (fwriting): Likewise.
83224         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
83226 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
83228         * lib/config.charset: Treat Haiku like BeOS.
83230 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
83232         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
83233         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
83235 2008-11-08  Bruno Haible  <bruno@clisp.org>
83237         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
83238         AC_CACHE_CHECK.
83240 2008-11-08  Bruno Haible  <bruno@clisp.org>
83242         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
83244 2008-11-08  Bruno Haible  <bruno@clisp.org>
83246         * tests/test-select-fd.c: New file.
83247         * tests/test-select-in.sh: New file.
83248         * tests/test-select-out.sh: New file.
83249         * tests/test-select-stdin.c: New file.
83250         * modules/select-tests (Files): Add the new files.
83251         (Depends-on): Add gettimeofday.
83252         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
83253         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
83254         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
83256 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
83257             Bruno Haible  <bruno@clisp.org>
83259         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
83261 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
83263         * build-aux/pmccabe2html: Added support for C++ source files.
83265 2008-11-05  Ben Pfaff  <blp@gnu.org>
83267         Fix lib/close.c build on Windows.
83268         * modules/close (Files): Add lib/w32sock.h.
83270 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
83272         Accept Bison's NEWS format.
83273         * build-aux/announce-gen (print_news_deltas): Tweak
83274         $re_prefix.
83276 2008-11-04  Bruno Haible  <bruno@clisp.org>
83278         * modules/random_r (Maintainer): Add glibc.
83280 2008-11-04  Simon Josefsson  <simon@josefsson.org>
83282         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
83283         by karl@freefriends.org (Karl Berry).
83284         * doc/alloca.texi: Likewise.
83285         * doc/c-ctype.texi: Likewise.
83286         * doc/c-strcase.texi: Likewise.
83287         * doc/c-strcaseeq.texi: Likewise.
83288         * doc/c-strcasestr.texi: Likewise.
83289         * doc/c-strstr.texi: Likewise.
83290         * doc/c-strtod.texi: Likewise.
83291         * doc/c-strtold.texi: Likewise.
83292         * doc/ctime.texi: Likewise.
83293         * doc/error.texi: Likewise.
83294         * doc/fdl.texi: Likewise.
83295         * doc/gcd.texi: Likewise.
83296         * doc/getdate.texi: Likewise.
83297         * doc/gnulib-intro.texi: Likewise.
83298         * doc/gnulib-tool.texi: Likewise.
83299         * doc/gnulib.texi: Likewise.
83300         * doc/inet_ntoa.texi: Likewise.
83301         * doc/maintain.texi: Likewise.
83302         * doc/make-stds.texi: Likewise.
83303         * doc/quote.texi: Likewise.
83304         * doc/regexprops-generic.texi: Likewise.
83305         * doc/standards.texi: Likewise.
83306         * doc/verify.texi: Likewise.
83307         * doc/visibility.texi: Likewise.
83308         * doc/gnulib.texi (GNU Free Documentation License): Include
83309         fdl-1.3.texi instead of fdl.texi.
83311 2008-11-04  Simon Josefsson  <simon@josefsson.org>
83313         * doc/fdl-1.3.texi: New file, from
83314         <http://www.gnu.org/licenses/fdl-1.3.texi>.
83315         * modules/fdl-1.3: Add.
83316         * MODULES.html.sh: Add fdl-1.3.
83318 2008-11-03  Bruno Haible  <bruno@clisp.org>
83320         Make determination of absolute name of header file work with AIX xlc.
83321         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
83322         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
83323         preprocessing.
83324         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83325         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
83327 2008-11-03  Simon Josefsson  <simon@josefsson.org>
83329         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
83330         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
83331         <ludo@gnu.org>.
83333 2008-11-02  Bruno Haible  <bruno@clisp.org>
83335         Mark 'strpbrk' obsolete.
83336         * modules/strpbrk (Status, Notice): New sections.
83337         * modules/strtok_r (Depends-on): Add strpbrk.
83339 2008-11-02  Bruno Haible  <bruno@clisp.org>
83341         Mark 'strdup' obsolete.
83342         * modules/strdup (Status, Notice): New sections.
83343         * modules/findprog (Depends-on): Add strdup.
83344         * modules/getaddrinfo (Depends-on): Likewise.
83345         * modules/localename (Depends-on): Likewise.
83346         * modules/relocatable-lib (Depends-on): Likewise.
83347         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
83348         * modules/relocatable-prog (Depends-on): Likewise.
83349         * modules/trim (Depends-on): Likewise.
83350         * modules/unictype/gen-ctype (Depends-on): Likewise.
83351         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
83353 2008-11-02  Bruno Haible  <bruno@clisp.org>
83355         Mark 'strcspn' obsolete.
83356         * modules/strcspn (Status, Notice): New sections.
83358 2008-11-02  Bruno Haible  <bruno@clisp.org>
83360         Mark 'rmdir' obsolete.
83361         * modules/rmdir (Status, Notice): New sections.
83362         * modules/clean-temp (Depends-on): Add rmdir.
83363         * modules/openat (Depends-on): Likewise.
83365 2008-11-02  Bruno Haible  <bruno@clisp.org>
83367         Mark 'raise' obsolete.
83368         * modules/raise (Status, Notice): New sections.
83369         (Include): Specify <signal.h>.
83370         * modules/stdio (Depends-on): Add raise.
83371         * modules/write (Depends-on): Likewise.
83373 2008-11-02  Bruno Haible  <bruno@clisp.org>
83375         Mark 'memset' obsolete.
83376         * modules/memset (Status, Notice): New sections.
83378 2008-11-02  Bruno Haible  <bruno@clisp.org>
83380         Mark 'memmove' obsolete.
83381         * modules/memmove (Status, Notice): New sections.
83382         * modules/argp (Depends-on): Add memmove.
83383         * modules/argz (Depends-on): Likewise.
83384         * modules/canonicalize (Depends-on): Likewise.
83385         * modules/canonicalize-lgpl (Depends-on): Likewise.
83386         * modules/fts (Depends-on): Likewise.
83387         * modules/getcwd (Depends-on): Likewise.
83388         * modules/human (Depends-on): Likewise.
83389         * modules/regex (Depends-on): Likewise.
83390         * modules/striconveh (Depends-on): Likewise.
83391         * modules/trim (Depends-on): Likewise.
83392         * modules/unistr/u8-move (Depends-on): Likewise.
83393         * modules/unistr/u16-move (Depends-on): Likewise.
83394         * modules/unistr/u32-move (Depends-on): Likewise.
83396 2008-11-02  Bruno Haible  <bruno@clisp.org>
83398         Mark 'memcpy' obsolete.
83399         * modules/memcpy (Status, Notice): New sections.
83401 2008-11-02  Bruno Haible  <bruno@clisp.org>
83403         Mark 'memcmp' obsolete.
83404         * modules/memcmp (Status, Notice): New sections.
83405         * modules/argmatch (Depends-on): Add memchr.
83406         * modules/backupfile (Depends-on): Likewise.
83407         * modules/c-strcasestr (Depends-on): Likewise.
83408         * modules/crypto/des (Depends-on): Likewise.
83409         * modules/csharpcomp (Depends-on): Likewise.
83410         * modules/fnmatch (Depends-on): Likewise.
83411         * modules/git-merge-changelog (Depends-on): Likewise.
83412         * modules/isnand (Depends-on): Likewise.
83413         * modules/isnand-nolibm (Depends-on): Likewise.
83414         * modules/isnanf (Depends-on): Likewise.
83415         * modules/isnanf-nolibm (Depends-on): Likewise.
83416         * modules/isnanl (Depends-on): Likewise.
83417         * modules/isnanl-nolibm (Depends-on): Likewise.
83418         * modules/mbchar (Depends-on): Likewise.
83419         * modules/memcoll (Depends-on): Likewise.
83420         * modules/quotearg (Depends-on): Likewise.
83421         * modules/regex (Depends-on): Likewise.
83422         * modules/relocatable-prog (Depends-on): Likewise.
83423         * modules/same (Depends-on): Likewise.
83424         * modules/signbit (Depends-on): Likewise.
83425         * modules/strcasestr-simple (Depends-on): Likewise.
83426         * modules/unictype/gen-ctype (Depends-on): Likewise.
83427         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
83428         * modules/uniname/uniname (Depends-on): Likewise.
83429         * modules/unistr/u8-cmp (Depends-on): Likewise.
83431 2008-11-02  Bruno Haible  <bruno@clisp.org>
83433         Mark 'memchr' obsolete.
83434         * modules/memchr (Status, Notice): New sections.
83435         * modules/argp (Depends-on): Add memchr.
83436         * modules/base64 (Depends-on): Likewise.
83437         * modules/c-strcasestr (Depends-on): Likewise.
83438         * modules/chdir-long (Depends-on): Likewise.
83439         * modules/fnmatch (Depends-on): Likewise.
83440         * modules/getsubopt (Depends-on): Likewise.
83441         * modules/git-merge-changelog (Depends-on): Likewise.
83442         * modules/glob (Depends-on): Likewise.
83443         * modules/strcasestr-simple (Depends-on): Likewise.
83444         * modules/strnlen (Depends-on): Likewise.
83446 2008-11-02  Bruno Haible  <bruno@clisp.org>
83448         Mark 'atexit' obsolete.
83449         * modules/atexit (Status, Notice): New sections.
83450         * modules/chdir-long (Depends-on): Add atexit.
83451         * modules/wait-process (Depends-on): Likewise.
83453 2008-11-02  Bruno Haible  <bruno@clisp.org>
83455         * gnulib-tool: New option --with-obsolete.
83456         (func_usage): Document it.
83457         (func_modules_transitive_closure): Drop obsolete dependencies if
83458         incobsolete is not true.
83459         (func_import): Read and save the incobsolete variable to the cache.
83461 2008-11-02  Bruno Haible  <bruno@clisp.org>
83463         * modules/TEMPLATE-EXTENDED: New field 'Status'.
83464         * gnulib-tool: New option --extract-status.
83465         (func_usage): Document it.
83466         (sed_extract_prog): Recognize it.
83467         (func_get_status): New function.
83469 2008-10-30  Simon Josefsson  <simon@josefsson.org>
83471         * modules/sockets (License): Change from LGPL to LGPLv2+.
83473 2008-10-28  Simon Josefsson  <simon@josefsson.org>
83475         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
83477 2008-10-28  Simon Josefsson  <simon@josefsson.org>
83479         * MODULES.html.sh (Support for systems lacking POSIX:2001):
83480         Mention times and sys_times.
83481         * modules/sys_times, modules/sys_times-tests: New modules.
83482         * modules/times, modules/times-tests: Likewise
83483         * m4/sys_times_h.m4: New file.
83484         * lib/sys_times.in.h: Likewise
83485         * lib/times.c: Likewise.
83486         * tests/test-sys_times.c: Likewise.
83487         * tests/test-times.c: Likewise.
83488         * doc/posix-headers/sys_times.texi: Update.
83489         * doc/posix-functions/times.texi: Update.
83491 2008-10-28  Jim Meyering  <meyering@redhat.com>
83493         * modules/tempname (Depends-on): Add lstat.
83495         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
83497 2008-10-28  Simon Josefsson  <simon@josefsson.org>
83499         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
83500         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
83501         using idiom used elsewhere in gnulib.
83503 2008-10-27  Jim Meyering  <meyering@redhat.com>
83505         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
83507 2008-10-27  Simon Josefsson  <simon@josefsson.org>
83509         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
83510         TESTS_ENVIRONMENT, for shell scripts that needs to call built
83511         programs.
83512         * tests/test-argp-2.sh: Use $EXEEXT when needed.
83514 2008-10-27  Simon Josefsson  <simon@josefsson.org>
83516         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
83518 2008-10-27  Bruno Haible  <bruno@clisp.org>
83520         * tests/test-lstat.c: Include <stdio.h>.
83522 2008-10-27  Simon Josefsson  <simon@josefsson.org>
83524         * modules/lstat-tests: New module.
83525         * tests/test-lstat.c: New file.
83527 2008-10-26  Jim Meyering  <meyering@redhat.com>
83529         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
83531 2008-10-26  Simon Josefsson  <simon@josefsson.org>
83532             Bruno Haible  <bruno@clisp.org>
83534         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
83535         * modules/configmake (Include): Add a note that the include must come
83536         after all system headers.
83537         * lib/javaversion.c: Include configmake.h after all other includes.
83539 2008-10-26  Bruno Haible  <bruno@clisp.org>
83541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
83542         HAVE_STRUCT_RANDOM_DATA to 1.
83543         (gl_STDLIB_H): Simplify.
83545 2008-10-26  Simon Josefsson  <simon@josefsson.org>
83547         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
83548         substitute HAVE_STRUCT_RANDOM_DATA.
83549         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
83550         random_data.
83551         * modules/stdlib (Makefile.am): Substitute
83552         HAVE_STRUCT_RANDOM_DATA.
83554 2008-10-26  Simon Josefsson  <simon@josefsson.org>
83556         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
83557         * doc/gnulib-intro.texi (Copyright): Likewise.
83559 2008-10-26  Simon Josefsson  <simon@josefsson.org>
83561         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
83562         findings.
83564 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
83565             Bruno Haible  <bruno@clisp.org>
83567         * lib/unistd.in.h: Include <winsock2.h>.
83568         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
83569         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
83570         Provide dummy declarations.
83571         (gethostname): Override.
83572         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
83573         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
83574         gl_PREREQ_SYS_H_WINSOCK2.
83575         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
83576         * doc/posix-functions/gethostname.texi: More details.
83578 2008-10-25  Bruno Haible  <bruno@clisp.org>
83580         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
83581         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
83582         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
83584         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
83585         here ...
83586         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
83587         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
83588         gl_UNISTD_H_DEFAULTS.
83590 2008-10-25  Eric Blake  <ebb9@byu.net>
83592         signbit: avoid spurious compiler failure
83593         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
83594         declarations inside function.
83596 2008-10-24  Simon Josefsson  <simon@josefsson.org>
83597             Bruno Haible  <bruno@clisp.org>
83599         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
83600         * modules/random_r (Depends-on): Add stdint.
83602 2008-10-24  Bruno Haible  <bruno@clisp.org>
83604         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
83605         Eggert.
83606         * modules/strerror (License): Likewise.
83608 2008-10-24  Jim Meyering  <meyering@redhat.com>
83610         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
83611         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
83613 2008-10-24  Eric Blake  <ebb9@byu.net>
83615         getgroups: fix compilation when getgroups is available
83616         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
83617         but with <config.h> override of getgroups disabled.
83619 2008-10-24  Simon Josefsson  <simon@josefsson.org>
83621         * doc/gnulib.texi (Header files): Add note about C++ problems.
83622         Explained by Bruno Haible <bruno@clisp.org>.
83624 2008-10-23  Bruno Haible  <bruno@clisp.org>
83626         Define a dummy SA_NODEFER macro on Interix.
83627         * lib/signal.in.h (SA_NODEFER): Define fallback.
83628         Reported by Aleksey Cheusov <cheusov@tut.by> via
83629         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
83631 2008-10-23  Bruno Haible  <bruno@clisp.org>
83633         * modules/freadahead (License): Change to LGPLv2+.
83634         Suggested by Simon Josefsson.
83636 2008-10-23  Jim Meyering  <meyering@redhat.com>
83638         random_r: new module
83639         * modules/random_r: New file.
83640         * m4/random_r.m4: New file.
83641         * lib/random_r.c: New file, from glibc.
83642         * modules/random_r-tests: New file.
83643         * tests/test-random_r.c: New file.
83644         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
83645          Declare.
83646         (RAND_MAX): Define.
83647         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
83648         * modules/stdlib: Substitute them, too.
83649         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
83650         * doc/glibc-functions/initstate_r.texi: Mention the new module.
83651         * doc/glibc-functions/random_r.texi: Likewise.
83652         * doc/glibc-functions/setstate_r.texi: Likewise.
83653         * doc/glibc-functions/srandom_r.texi: Likewise.
83654         * config/srclist.txt: Mention it.
83656 2008-10-23  David Lutterkort  <lutter@redhat.com>
83658         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
83659         link requirement
83661 2008-10-23  Jim Meyering  <meyering@redhat.com>
83663         selinux-h: mark parameters of stub functions as intentionally unused
83664         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
83665         * lib/se-context.in.h: Likewise.
83667 2008-10-22  Simon Josefsson  <simon@josefsson.org>
83669         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
83671 2008-10-22  Simon Josefsson  <simon@josefsson.org>
83673         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
83675 2008-10-22  Eric Blake  <ebb9@byu.net>
83677         glthread/thread: avoid compiler warning
83678         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
83679         Add unreachable abort to silence compiler.
83681 2008-10-22  Eric Blake  <ebb9@byu.net>
83683         netdb: also supply struct addrinfo for cygwin 1.5.x
83684         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
83685         older cygwin.
83686         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
83687         cygwin.
83688         * doc/posix-headers/netdb.texi (netdb.h): Document this.
83690 2008-10-22  Bruno Haible  <bruno@clisp.org>
83692         * users.txt: Update entry about pspp.
83694 2008-10-21  Bruno Haible  <bruno@clisp.org>
83696         Simplification.
83697         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
83698         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
83700         Simplification.
83701         * lib/ioctl.c (ioctl): Don't undefine.
83702         * lib/socket.c (socket): Don't undefine.
83704         Remove unused module indicator macros.
83705         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
83706         GNULIB_$1 as a C macro.
83708         * doc/posix-functions/close.texi: Undo last change.
83709         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
83710         Windows platforms.
83712 2008-10-21  Bruno Haible  <bruno@clisp.org>
83714         Add gethostname() declaration to <unistd.h>.
83715         * lib/unistd.in.h (gethostname): New declaration.
83716         * lib/gethostname.c: Include <unistd.h>.
83717         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
83718         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
83719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
83720         and HAVE_GETHOSTNAME.
83721         * modules/gethostname (Depends-on): Add unistd.
83722         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
83723         (Include): Specify <unistd.h>.
83724         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
83725         HAVE_GETHOSTNAME.
83726         * tests/test-gethostname.c: Include <unistd.h> first.
83728 2008-10-21  Bruno Haible  <bruno@clisp.org>
83730         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
83731         * modules/select-tests (Depends-on): Likewise.
83732         Reported by Simon Josefsson.
83734 2008-10-21  Simon Josefsson  <simon@josefsson.org>
83736         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
83737         * lib/accept.c: New file, based on winsock.c.
83738         * lib/bind.c: New file, based on winsock.c.
83739         * lib/connect.c: New file, based on winsock.c.
83740         * lib/getpeername.c: New file, based on winsock.c.
83741         * lib/getsockname.c: New file, based on winsock.c.
83742         * lib/getsockopt.c: New file, based on winsock.c.
83743         * lib/ioctl.c: New file, based on winsock.c.
83744         * lib/listen.c: New file, based on winsock.c.
83745         * lib/recv.c: New file, based on winsock.c.
83746         * lib/recvfrom.c: New file, based on winsock.c.
83747         * lib/send.c: New file, based on winsock.c.
83748         * lib/sendto.c: New file, based on winsock.c.
83749         * lib/setsockopt.c: New file, based on winsock.c.
83750         * lib/shutdown.c: New file, based on winsock.c.
83751         * lib/socket.c: New file, based on winsock.c.
83752         * lib/w32sock.h: New file, based on winsock.c.
83753         * lib/winsock.c: Remove file.
83754         * modules/accept: Likewise.
83755         * modules/bind: Likewise.
83756         * modules/connect: Likewise.
83757         * modules/getpeername: Likewise.
83758         * modules/getsockname: Likewise.
83759         * modules/getsockopt: Likewise.
83760         * modules/ioctl: Likewise.
83761         * modules/listen: Likewise.
83762         * modules/recv: Likewise.
83763         * modules/recvfrom: Likewise.
83764         * modules/send: Likewise.
83765         * modules/sendto: Likewise.
83766         * modules/setsockopt: Likewise.
83767         * modules/shutdown: Likewise.
83768         * modules/socket: Use socket.c instead of winsock.c.
83769         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
83770         * doc/posix-functions/accept.texi: Doc fix.
83771         * doc/posix-functions/bind.texi: Doc fix.
83772         * doc/posix-functions/close.texi: Doc fix.
83773         * doc/posix-functions/connect.texi: Doc fix.
83774         * doc/posix-functions/getpeername.texi: Doc fix.
83775         * doc/posix-functions/getsockname.texi: Doc fix.
83776         * doc/posix-functions/getsockopt.texi: Doc fix.
83777         * doc/posix-functions/ioctl.texi: Doc fix.
83778         * doc/posix-functions/listen.texi: Doc fix.
83779         * doc/posix-functions/recv.texi: Doc fix.
83780         * doc/posix-functions/recvfrom.texi: Doc fix.
83781         * doc/posix-functions/send.texi: Doc fix.
83782         * doc/posix-functions/sendto.texi: Doc fix.
83783         * doc/posix-functions/setsockopt.texi: Doc fix.
83784         * doc/posix-functions/shutdown.texi: Doc fix.
83785         * doc/posix-functions/socket.texi: Doc fix.
83787 2008-10-20  Bruno Haible  <bruno@clisp.org>
83789         Take into account the role of SIGABRT_COMPAT on Windows 2008.
83790         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
83791         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
83792         as an alias for SIGABRT.
83793         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
83794         (sigaction): Map it to SIGABRT.
83795         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
83797 2008-10-20  Bruno Haible  <bruno@clisp.org>
83799         * lib/fts.c: Don't include lstat.h.
83800         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
83802         Move the lstat() declaration to <sys/stat.h>.
83803         * lib/lstat.h: Remove file.
83804         * lib/sys_stat.in.h: Add special invocation convention.
83805         (lstat): New declaration.
83806         * lib/lstat.c (orig_lstat): New function.
83807         (rpl_lstat): Use orig_lstat instead of lstat.
83808         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
83809         AC_C_INLINE. Set REPLACE_LSTAT.
83810         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
83811         and REPLACE_LSTAT.
83812         * modules/lstat (Files): Remove lib/lstat.h.
83813         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
83814         (Include): Specify <sys/stat.h> instead of lstat.h.
83815         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
83816         REPLACE_LSTAT.
83817         * NEWS: Mention the change.
83819 2008-10-20  Bruno Haible  <bruno@clisp.org>
83821         * modules/posix_spawn-tests: New file.
83822         * tests/test-posix_spawn3.c: New file.
83824 2008-10-20  Bruno Haible  <bruno@clisp.org>
83826         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
83827         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
83828         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
83829         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
83830         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
83832 2008-10-20  Bruno Haible  <bruno@clisp.org>
83834         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
83835         of posix_spawn on AIX 5.3.
83837 2008-10-20  Bruno Haible  <bruno@clisp.org>
83839         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
83841 2008-10-20  Bruno Haible  <bruno@clisp.org>
83843         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
83844         of AC_LANG_PROGRAM.
83846 2008-10-20  Simon Josefsson  <simon@josefsson.org>
83848         * lib/netdb.in.h: Don't define GNU specific constants until they
83849         are supported or needed.  Reported by Bruno Haible
83850         <bruno@clisp.org>.
83852 2008-10-20  Simon Josefsson  <simon@josefsson.org>
83854         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
83856 2008-10-20  Simon Josefsson  <simon@josefsson.org>
83858         * lib/getaddrinfo.h: Remove file.
83859         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
83860         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
83861         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
83862         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
83863         * modules/netdb: Substitute GNULIB_GETADDRINFO.
83864         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
83865         * tests/test-getaddrinfo.c: Likewise.
83866         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
83867         * NEWS: Mention change.
83869 2008-10-19  Bruno Haible  <bruno@clisp.org>
83871         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
83873 2008-10-19  Bruno Haible  <bruno@clisp.org>
83875         * lib/wait-process.c: Include simply <sys/wait.h>.
83876         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
83877         WIFSTOPPED): Remove fallback definitions.
83878         * modules/wait-process (Depends-on): Add sys_wait.
83880         New module 'sys_wait'.
83881         * modules/sys_wait: New file.
83882         * lib/sys_wait.in.h: New file, partially copied from
83883         lib/wait-process.c.
83884         * m4/sys_wait_h.m4: New file.
83885         * doc/posix-headers/sys_wait.texi: Mention the new module.
83887 2008-10-19  Bruno Haible  <bruno@clisp.org>
83889         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
83891 2008-10-19  Bruno Haible  <bruno@clisp.org>
83893         Assume that waitpid() fills an 'int' status, not a 'union wait'.
83894         * lib/wait-process.c (WAIT_T): Remove type.
83895         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
83896         (wait_subprocess): Update.
83898 2008-10-19  Bruno Haible  <bruno@clisp.org>
83900         New module 'atoll'.
83901         * modules/atoll: New file.
83902         * lib/stdlib.in.h (atoll): New declaration.
83903         * lib/atoll.c: New file, from glibc with modifications.
83904         * m4/atoll.m4: New file.
83905         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
83906         HAVE_ATOLL.
83907         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
83908         * doc/posix-functions/atoll.texi: Mention the new module.
83910 2008-10-19  Bruno Haible  <bruno@clisp.org>
83912         Add strtoull() declaration to <stdlib.h>.
83913         * lib/stdlib.in.h (strtoull): New declaration.
83914         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
83915         Set HAVE_STRTOULL.
83916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
83917         HAVE_STRTOULL.
83918         * modules/strtoull (Depends-on): Add stdlib.
83919         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
83920         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
83921         HAVE_STRTOULL.
83923 2008-10-19  Bruno Haible  <bruno@clisp.org>
83925         Add strtoll() declaration to <stdlib.h>.
83926         * lib/stdlib.in.h (strtoll): New declaration.
83927         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
83928         Set HAVE_STRTOLL.
83929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
83930         HAVE_STRTOLL.
83931         * modules/strtoll (Depends-on): Add stdlib.
83932         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
83933         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
83935 2008-10-19  Bruno Haible  <bruno@clisp.org>
83937         * modules/bcopy (Depends-on): Add strings.
83938         (Include): Specify <strings.h>.
83940 2008-10-19  Bruno Haible  <bruno@clisp.org>
83942         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
83944 2008-10-19  Bruno Haible  <bruno@clisp.org>
83946         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
83947         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
83948         mingw.
83950 2008-10-19  Bruno Haible  <bruno@clisp.org>
83952         * lib/atanl.c: Don't include isnanl.h.
83953         * lib/cosl.c: Likewise.
83954         * lib/ldexpl.c: Likewise.
83955         * lib/logl.c: Likewise.
83956         * lib/sinl.c: Likewise.
83957         * lib/sqrtl.c: Likewise.
83958         * lib/tanl.c: Likewise.
83960         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
83961         * lib/isnanf.h: Remove file.
83962         * lib/isnand.h: Remove file.
83963         * lib/isnanl.h: Remove file.
83964         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
83965         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
83966         macros.
83967         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
83968         HAVE_ISNANF, don't define it as a C macro.
83969         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
83970         HAVE_ISNAND, don't define it as a C macro.
83971         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
83972         HAVE_ISNANL, don't define it as a C macro.
83973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
83974         HAVE_ISNAN[FDL].
83975         * modules/isnanf (Files): Remove lib/isnanf.h.
83976         (Depends-on): Add math.
83977         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
83978         (Include): Specify <math.h> instead of isnanf.h.
83979         * modules/isnand (Files): Remove lib/isnand.h.
83980         (Depends-on): Add math.
83981         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
83982         (Include): Specify <math.h> instead of isnand.h.
83983         * modules/isnanl (Files): Remove lib/isnanl.h.
83984         (Depends-on): Add math.
83985         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
83986         (Include): Specify <math.h> instead of isnanl.h.
83987         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
83988         HAVE_ISNAN[FDL].
83989         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
83990         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
83991         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
83992         * NEWS: Mention the change.
83994 2008-10-18  Bruno Haible  <bruno@clisp.org>
83996         Add getusershell(), setusershell(), endusershell() declarations to
83997         <unistd.h>.
83998         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
83999         declarations.
84000         * lib/getusershell.c: Include unistd.h.
84001         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
84002         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
84003         HAVE_GETUSERSHELL.
84004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
84005         and HAVE_GETUSERSHELL.
84006         * modules/getusershell (Depends-on): Add unistd, extensions.
84007         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
84008         (Include): Specify <unistd.h>.
84009         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
84010         HAVE_GETUSERSHELL.
84012 2008-10-18  Bruno Haible  <bruno@clisp.org>
84014         Add a getloadavg() declaration to <stdlib.h>.
84015         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
84016         getloadavg declaration.
84017         (getloadavg): New declaration.
84018         * lib/getloadavg.c: Include <stdlib.h> first.
84019         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
84020         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
84021         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
84022         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
84023         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
84024         * modules/getloadavg (Depends-on): Add stdlib, extensions.
84025         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
84026         (Include): Specify <stdlib.h>.
84027         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
84028         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
84030 2008-10-18  Bruno Haible  <bruno@clisp.org>
84032         * lib/dirchownmod.c: Don't include lchmod.h.
84034         Move the lchmod() declaration to <sys/stat.h>.
84035         * lib/lchmod.h: Remove file.
84036         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
84037         (lchmod): New declaration, moved here from lib/lchown.h.
84038         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
84039         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
84040         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
84041         and HAVE_LCHMOD.
84042         * modules/lchmod (Files): Remove lib/lchmod.h.
84043         (Depends-on): Add sys_stat, extensions.
84044         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
84045         (Include): Specify <sys/stat.h> instead of lchmod.h.
84046         * modules/sys_stat (Depends-on): Add link-warning.
84047         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
84048         definition of GL_LINK_WARNING.
84049         * NEWS: Mention the change.
84051 2008-10-18  Bruno Haible  <bruno@clisp.org>
84053         * lib/fchdir.c: Don't include dirfd.h.
84054         * lib/fts.c: Likewise.
84055         * lib/getcwd.c: Likewise.
84056         * lib/glob.c: Likewise.
84058         Move the dirfd() declaration to <dirent.h>.
84059         * lib/dirfd.h: Remove file.
84060         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
84061         (dirfd): New declaration.
84062         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
84063         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
84064         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
84065         HAVE_DECL_DIRFD.
84066         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
84067         HAVE_DECL_DIRFD.
84068         * modules/dirfd (Files): Remove lib/dirfd.h.
84069         (Depends-on): Add dirent, extensions.
84070         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
84071         (Include): Specify <dirent.h> instead of dirfd.h.
84072         * modules/dirent (Depends-on): Add link-warning.
84073         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
84074         definition of GL_LINK_WARNING.
84075         * NEWS: Mention the change.
84077 2008-10-18  Bruno Haible  <bruno@clisp.org>
84079         Move the euidaccess() declaration to <unistd.h>.
84080         * lib/euidaccess.h: Remove file.
84081         * lib/unistd.in.h (euidaccess): New declaration.
84082         * lib/euidaccess.c: Don't include euidaccess.h.
84083         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
84084         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
84085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
84086         and HAVE_EUIDACCESS.
84087         * modules/euidaccess (Files): Remove lib/euidaccess.h.
84088         (Depends-on): Add unistd.
84089         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
84090         (Include): Specify <unistd.h> instead of euidaccess.h.
84091         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
84092         HAVE_EUIDACCESS.
84093         * NEWS: Mention the change.
84095 2008-10-18  Bruno Haible  <bruno@clisp.org>
84097         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
84099         Move the getdomainname() declaration to <unistd.h>.
84100         * lib/getdomainname.h: Remove file.
84101         * lib/unistd.in.h (getdomainname): New declaration.
84102         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
84103         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
84104         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
84105         HAVE_GETDOMAINNAME.
84106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
84107         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
84108         * modules/getdomainname (Files): Remove lib/getdomainname.h.
84109         (Depends-on): Add unistd, extensions.
84110         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
84111         (Includes): Specify <unistd.h> instead of getdomainname.h.
84112         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
84113         HAVE_GETDOMAINNAME.
84114         * NEWS: Mention the change.
84116 2008-10-18  Bruno Haible  <bruno@clisp.org>
84118         * modules/dirent: New file.
84119         * m4/dirent_h.m4: New file.
84120         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
84121         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
84122         * modules/fchdir (Files): Remove lib/dirent.in.h.
84123         (Depends-on): Add dirent.
84124         (Makefile.am): Move rules to modules/dirent.
84125         * doc/posix-headers/dirent.texi: Mention the new module.
84127 2008-10-18  Bruno Haible  <bruno@clisp.org>
84129         Avoid -Wunused-parameter warnings in public gnulib header files.
84130         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
84131         macro.
84132         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
84134 2008-10-18  Bruno Haible  <bruno@clisp.org>
84136         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
84137         * doc/glibc-functions/error.texi: Mention the module 'error'.
84138         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
84139         * doc/glibc-functions/getdomainname.texi: Mention the module
84140         'getdomainname'.
84141         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
84142         * doc/glibc-functions/getpagesize.texi: Mention the module
84143         'getpagesize'.
84144         * doc/glibc-functions/getusershell.texi: Mention the module
84145         'getusershell'.
84146         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
84147         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
84148         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
84149         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
84150         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
84151         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
84152         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
84153         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
84154         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
84155         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
84156         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
84157         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
84158         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
84159         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
84161 2008-10-17  Bruno Haible  <bruno@clisp.org>
84163         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
84164         HP-UX and IRIX, use -0.0L.
84165         * tests/test-ceill.c (minus_zero): Likewise.
84166         * tests/test-floorl.c (minus_zero): Likewise.
84167         * tests/test-frexpl.c (minus_zero): Likewise.
84168         * tests/test-isnan.c (minus_zerol): Likewise.
84169         * tests/test-isnanl.h (minus_zero): Likewise.
84170         * tests/test-ldexpl.c (minus_zero): Likewise.
84171         * tests/test-roundl.c (minus_zero): Likewise.
84172         * tests/test-signbit.c (minus_zerol): Likewise.
84173         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
84174         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
84175         * tests/test-truncl.c (minus_zero): Likewise.
84176         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
84177         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
84178         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
84179         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
84181 2008-10-17  Bruno Haible  <bruno@clisp.org>
84183         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
84184         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
84185         that it gets activated only for gcc >= 3.0.
84186         * lib/dirent.in.h: Likewise.
84187         * lib/errno.in.h: Likewise.
84188         * lib/fcntl.in.h: Likewise.
84189         * lib/float.in.h: Likewise.
84190         * lib/iconv.in.h: Likewise.
84191         * lib/inttypes.in.h: Likewise.
84192         * lib/locale.in.h: Likewise.
84193         * lib/math.in.h: Likewise.
84194         * lib/netdb.in.h: Likewise.
84195         * lib/netinet_in.in.h: Likewise.
84196         * lib/search.in.h: Likewise.
84197         * lib/signal.in.h: Likewise.
84198         * lib/spawn.in.h: Likewise.
84199         * lib/stdarg.in.h: Likewise.
84200         * lib/stdint.in.h: Likewise.
84201         * lib/stdio.in.h: Likewise.
84202         * lib/stdlib.in.h: Likewise.
84203         * lib/string.in.h: Likewise.
84204         * lib/strings.in.h: Likewise.
84205         * lib/sys_file.in.h: Likewise.
84206         * lib/sys_ioctl.in.h: Likewise.
84207         * lib/sys_select.in.h: Likewise.
84208         * lib/sys_socket.in.h: Likewise.
84209         * lib/sys_stat.in.h: Likewise.
84210         * lib/sys_time.in.h: Likewise.
84211         * lib/sysexits.in.h: Likewise.
84212         * lib/time.in.h: Likewise.
84213         * lib/unistd.in.h: Likewise.
84214         * lib/wchar.in.h: Likewise.
84215         * lib/wctype.in.h: Likewise.
84216         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84218 2008-10-17  Jim Meyering  <meyering@redhat.com>
84220         ignore-value: don't depend on inline module
84221         * modules/ignore-value (Depends-on): Remove 'inline'.
84222         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
84223         Suggestion from Bruno Haible.
84225 2008-10-17  Bruno Haible  <bruno@clisp.org>
84227         New implementation of condition variables for Win32.
84228         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
84229         (gl_linked_waitqueue_t): New type.
84230         (gl_cond_t): Use it.
84231         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
84232         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
84233         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
84234         (glthread_cond_init_func, glthread_cond_wait_func,
84235         glthread_cond_timedwait_func, glthread_cond_signal_func,
84236         glthread_cond_broadcast_func, glthread_cond_destroy_func):
84237         Reimplemented on the basis of gl_linked_waitqueue_t.
84238         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
84239         gl_waitqueue_t.
84240         (gl_rwlock_t): Update.
84241         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
84243 2008-10-17  Simon Josefsson  <simon@josefsson.org>
84245         * modules/recvfrom (Depends-on): Add dependency on getpeername.
84246         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84248 2008-10-17  Jim Meyering  <meyering@redhat.com>
84250         ignore-value: new module
84251         * modules/ignore-value: New file.
84252         * lib/ignore-value.h: New file.
84253         * MODULES.html.sh (Compiler warning management): New section,
84254         just for this module.  More to come.
84256 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
84258         open-safer.c: avoid 'signed and unsigned in conditional...' warning
84259         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
84260         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
84262 2008-10-16  Jim Meyering  <meyering@redhat.com>
84264         openat-die.c: avoid 'no previous prototype' warning
84265         * lib/openat-die.c: Include "openat.h".
84266         Reported by Reuben Thomas <rrt@sc3d.org>.
84268 2008-10-16  Simon Josefsson  <simon@josefsson.org>
84270         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
84271         * lib/netdb.in.h: Fix typo.
84272         Reported by Bruno Haible  <bruno@clisp.org>
84274         * lib/netdb.in.h: Include sys/socket.h for platforms without
84275         netdb.h, to get structures like hostent on MinGW.
84276         * modules/netdb (Depends-on): Add sys_socket.
84278 2008-10-15  Simon Josefsson  <simon@josefsson.org>
84280         * modules/netdb, modules/netdb-tests: New file.
84281         * m4/netdb_h.m4: New file.
84282         * lib/netdb.in.h: Add, currently just an empty file pending
84283         definitions.
84284         * tests/test-netdb.c: New file.
84285         * doc/posix-headers/netdb.texi: Mention that we replace it if
84286         needed.
84287         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84288         netdb.
84290 2008-10-15  Simon Josefsson  <simon@josefsson.org>
84292         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
84293         with code.
84295 2008-10-13  Bruno Haible  <bruno@clisp.org>
84297         * lib/glthread/cond.c (glthread_cond_wait_func,
84298         glthread_cond_timedwait_func): Add a comment.
84300 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84302         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
84303         * tests/test-select.c: Likewise,
84305 2008-10-13  Bruno Haible  <bruno@clisp.org>
84307         * lib/glthread/cond.c (glthread_cond_wait_func,
84308         glthread_cond_timedwait_func): Fix variable name.
84309         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84311 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
84313         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
84314         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
84315         struct sockaddr.sa_len.
84316         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
84318 2008-10-13  Simon Josefsson  <simon@josefsson.org>
84320         * build-aux/pmccabe2html: Add css and css_url parameters.
84322 2008-10-12  Bruno Haible  <bruno@clisp.org>
84324         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
84325         calling aclx_get.
84326         Reported by Rainer Tammer <tammer@tammer.net>.
84328 2008-10-12  Bruno Haible  <bruno@clisp.org>
84330         Use msvcrt aware primitives for creation/termination of Win32 threads.
84331         * lib/glthread/thread.c: Include <process.h>.
84332         (glthread_create_func): Use _beginthreadex instead of CreateThread.
84333         (wrapper_func): Update signature.
84334         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
84336 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
84337             Bruno Haible  <bruno@clisp.org>
84339         Provide a Win32 implementation of the 'cond' module.
84340         * lib/glthread/cond.h [USE_WIN32]: New implementation.
84341         * lib/glthread/cond.c (glthread_cond_init_func,
84342         glthread_cond_wait_func, glthread_cond_timedwait_func,
84343         glthread_cond_signal_func, glthread_cond_broadcast_func,
84344         glthread_cond_destroy_func) [USE_WIN32]: New functions.
84345         * modules/cond (Dependencies): Add gettimeofday.
84347 2008-10-11  Bruno Haible  <bruno@clisp.org>
84349         Make sleep work on older versions of mingw.
84350         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
84351         only whether it exists.
84352         * doc/posix-functions/sleep.texi: Mention the problem with older
84353         versions of mingw.
84355 2008-10-11  Bruno Haible  <bruno@clisp.org>
84357         New module 'shutdown'.
84358         * modules/shutdown: New file.
84359         * lib/sys_socket.in.h (shutdown): New declaration.
84360         * lib/winsock.c (shutdown): New function.
84361         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
84362         GNULIB_SHUTDOWN.
84363         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
84364         * doc/posix-functions/shutdown.texi: Document the new module.
84366 2008-10-11  Jim Meyering  <meyering@redhat.com>
84368         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
84370 2008-10-11  Bruno Haible  <bruno@clisp.org>
84372         New module 'fclose'.
84373         * modules/fclose: New file.
84374         * lib/stdio.in.h (fclose): New declaration.
84375         * lib/fclose.c: New file.
84376         * m4/fclose.m4: New file.
84377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
84378         REPLACE_FCLOSE.
84379         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
84380         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
84381         REPLACE_FCLOSE.
84382         * modules/close (Depends-on): fclose.
84383         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
84385 2008-10-11  Bruno Haible  <bruno@clisp.org>
84387         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
84388         set errno and don't call _close.
84390 2008-10-10  Bruno Haible  <bruno@clisp.org>
84392         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
84393         ACL, not afterwards. Fixes test failure on Cygwin.
84395 2008-10-09  Ben Pfaff  <blp@gnu.org>
84397         * build-aux/announce-gen: Fix gnulib version related part of usage
84398         message.  Die with a useful error message if no tarballs are
84399         found.
84401 2008-10-10  Jim Meyering  <meyering@redhat.com>
84403         bootstrap: use git's --depth=N option only if it's supported
84404         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
84405         recognize the --depth option.  Reported by Pádraig Brady.
84407 2008-10-09  Bruno Haible  <bruno@clisp.org>
84409         New module 'ioctl'.
84410         * modules/ioctl: New file.
84411         * lib/sys_socket.in.h (ioctl): Remove declaration.
84412         * lib/winsock.c: Include <sys/ioctl.h>.
84413         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
84414         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
84415         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
84416         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
84417         * doc/posix-functions/ioctl.texi: Mention the new module.
84419 2008-10-09  Bruno Haible  <bruno@clisp.org>
84421         New module 'sys_ioctl'.
84422         * lib/sys_ioctl.in.h: New file.
84423         * m4/sys_ioctl_h.m4: New file.
84424         * modules/sys_ioctl: New file.
84425         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
84427 2008-10-09  Bruno Haible  <bruno@clisp.org>
84429         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
84430         * lib/winsock.c: Include <stdarg.h>.
84431         (rpl_ioctl): Change to second argument 'int' and then varargs.
84433 2008-10-09  Bruno Haible  <bruno@clisp.org>
84435         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
84436         when the sys_socket module is present and the system has <winsock2.h>.
84438 2008-10-09  Bruno Haible  <bruno@clisp.org>
84440         * doc/posix-functions/close.texi: Mention module 'close' instead of
84441         module 'sys_socket'.
84443 2008-10-09  Bruno Haible  <bruno@clisp.org>
84445         * doc/glibc-headers/sys_ioctl.texi: New file.
84446         * doc/gnulib.texi: Include it.
84448 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
84449             Bruno Haible  <bruno@clisp.org>
84451         Combine the two replacements of 'close'.
84452         * lib/sys_socket.in.h (close): Define to a reminder to include
84453         <unistd.h>.
84454         (_gl_close_fd_maybe_socket): New declaration.
84455         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
84456         * lib/winsock.c (close): Remove undefinition.
84457         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
84458         needed for the gnulib module 'close'.
84459         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
84460         define to an error symbol or to a warning, if suitable.
84461         * lib/close.c: Include <sys/socket.h>.
84462         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
84463         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
84464         UNISTD_H_HAVE_WINSOCK2_H.
84465         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
84466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
84467         UNISTD_H_HAVE_WINSOCK2_H.
84468         * modules/sys_socket (Files): Add m4/unistd_h.m4.
84469         (configure.ac): Set a module indicator.
84470         (Makefile.am): Substitute GNULIB_CLOSE.
84471         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
84472         * modules/poll-tests (Depends-on): Add close.
84473         * modules/select-tests (Depends-on): Likewise.
84475 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
84476             Bruno Haible  <bruno@clisp.org>
84478         New module 'close'.
84479         * modules/close: New file.
84480         * lib/unistd.in.h (close): Move declaration out of the
84481         FCHDIR_REPLACEMENT scope.
84482         (_gl_unregister_fd): New declaration.
84483         * lib/close.c: New file.
84484         * lib/fchdir.c (rpl_close): Remove function.
84485         * m4/close.m4: New file.
84486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
84487         close.
84488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
84489         REPLACE_CLOSE.
84490         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
84491         REPLACE_CLOSE.
84492         * modules/fchdir (Depends-on): Add close.
84494 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
84495             Bruno Haible  <bruno@clisp.org>
84497         * lib/fcntl.in.h (open): Simplify conditionals.
84498         (_gl_register_fd): New declaration.
84499         * lib/fchdir.c (rpl_open): Remove function.
84500         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
84501         also.
84502         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
84503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
84504         open.
84506 2008-10-09  Jim Meyering  <meyering@redhat.com>
84508         GNUmakefile: use the more name-space-friendly "_version"
84509         * top/GNUmakefile (_dummy): Update.
84510         (_version): Rename from "version".
84512 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
84513             Bruno Haible  <bruno@clisp.org>
84515         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
84516         rpl_close.
84517         (_gl_register_fd): New function, extracted from rpl_open.
84518         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
84519         (rpl_open, rpl_opendir): Use _gl_register_fd.
84521 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
84523         Fix organization of 'open' replacement.
84524         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
84525         (gl_FUNC_OPEN): Use it.
84526         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
84528 2008-10-08  Bruno Haible  <bruno@clisp.org>
84530         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
84532 2008-10-08  Simon Josefsson  <simon@josefsson.org>
84534         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
84535         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
84536         listen).
84538 2008-10-08  Eric Blake  <ebb9@byu.net>
84540         GNUmakefile: add 'make version' target
84541         * top/GNUmakefile (_curr-ver): Split version update rules...
84542         (version): ...into a target.
84544 2008-10-07  Bruno Haible  <bruno@clisp.org>
84546         Use a more portable replacement expression for -0.0L.
84547         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
84548         instead of -0.0L. Fix m4 quotation.
84550         * tests/test-signbit.c: Include <float.h>.
84551         (minus_zero): New variable.
84552         (test_signbitl): Use minus_zero instead of -zero.
84553         * modules/signbit-tests (Depends-on): Add float.
84555         * tests/test-ceill.c: Include <float.h>.
84556         (zero): Remove variable.
84557         (minus_zero): New variable.
84558         (main): Use minus_zero instead of -zero.
84559         * modules/ceill-tests (Depends-on): Add float.
84561         * tests/test-floorl.c: Include <float.h>.
84562         (zero): Remove variable.
84563         (minus_zero): New variable.
84564         (main): Use minus_zero instead of -zero.
84565         * modules/floorl-tests (Depends-on): Add float.
84567         * tests/test-roundl.c: Include <float.h>.
84568         (zero): Remove variable.
84569         (minus_zero): New variable.
84570         (main): Use minus_zero instead of -zero.
84571         * modules/roundl-tests (Depends-on): Add float.
84573         * tests/test-truncl.c: Include <float.h>.
84574         (zero): Remove variable.
84575         (minus_zero): New variable.
84576         (main): Use minus_zero instead of -zero.
84577         * modules/truncl-tests (Depends-on): Add float.
84579         * tests/test-frexpl.c (zero): Remove variable.
84580         (minus_zero): New variable.
84581         (main): Use minus_zero instead of -zero.
84582         * modules/frexpl-tests (Depends-on): Add float.
84584         * tests/test-isnan.c (zerol): Remove variable.
84585         (minus_zerol): New variable.
84586         (test_long_double): Use minus_zerol instead of -zerol.
84587         * modules/isnan-tests (Depends-on): Add float.
84589         * tests/test-isnanl.h (zero): Remove variable.
84590         (minus_zero): New variable.
84591         (main): Use minus_zero instead of -zero.
84592         * modules/isnanl-nolibm-tests (Depends-on): Add float.
84593         * modules/isnanl-tests (Depends-on): Add float.
84595         * tests/test-ldexpl.c (zero): Remove variable.
84596         (minus_zero): New variable.
84597         (main): Use minus_zero instead of -zero.
84598         * modules/ldexpl-tests (Depends-on): Add float.
84600         * tests/test-snprintf-posix.h (zerol): Remove variable.
84601         (minus_zerol): New variable.
84602         (test_function): Use minus_zerol instead of -zerol.
84603         * modules/snprintf-posix-tests (Depends-on): Add float.
84604         * modules/vsnprintf-posix-tests (Depends-on): Add float.
84606         * tests/test-sprintf-posix.h (zerol): Remove variable.
84607         (minus_zerol): New variable.
84608         (test_function): Use minus_zerol instead of -zerol.
84609         * modules/sprintf-posix-tests (Depends-on): Add float.
84610         * modules/vsprintf-posix-tests (Depends-on): Add float.
84612         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
84613         (minus_zerol): New variable.
84614         (test_function): Use minus_zerol instead of -zerol.
84615         * modules/vasnprintf-posix-tests (Depends-on): Add float.
84617         * tests/test-vasprintf-posix.c (zerol): Remove variable.
84618         (minus_zerol): New variable.
84619         (test_function): Use minus_zerol instead of -zerol.
84620         * modules/vasprintf-posix-tests (Depends-on): Add float.
84622 2008-10-07  Simon Josefsson  <simon@josefsson.org>
84624         * MODULES.html.sh (Support for building documentation): Mention
84625         pmccabe2html.  Sort entries.
84627         Add pmccabe2html module, from gnupdf.
84628         * build-aux/pmccabe.css: New file.
84629         * build-aux/pmccabe2html: New file.
84630         * m4/pmccabe2html.m4: New file.
84631         * modules/pmccabe2html: New file.
84633 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
84635         flock: new module
84636         * MODULES.html.sh: Add to list of modules.
84637         * lib/flock.c: flock implementation for Windows and Unix systems
84638         which have fcntl.
84639         * doc/glibc-functions/flock.texi: Update documentation.
84640         * lib/sys_file.in.h: <sys/file.h> header file.
84641         * m4/flock.m4: M4 macros.
84642         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
84643         * modules/flock: flock module.
84644         * modules/flock-tests: flock tests module.
84645         * modules/sys_file: sys/file.h module.
84646         * tests/test-flock.c: test suite for flock.
84648 2008-10-06  Jim Meyering  <meyering@redhat.com>
84650         bootstrap: check for LT_INIT more portably still ;-)
84651         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
84652         Spotted by Bruno Haible.
84654 2008-10-06  Eric Blake  <ebb9@byu.net>
84656         test-signbit: avoid tripping Irix cc bug on -0.0L
84657         * tests/test-signbit.c (minus_zerol): Delete, and replace with
84658         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
84659         entire testsuite consistent and avoids an Irix 6.2 bug.
84661 2008-10-05  Bruno Haible  <bruno@clisp.org>
84662             Jim Meyering  <jim@meyering.net>
84664         Add an option for ignoring EPIPE during close_stdout.
84665         * lib/closeout.h: Include <stdbool.h>.
84666         (close_stdout_set_ignore_EPIPE): New declaration.
84667         * lib/closeout.c: Include <stdbool.h>.
84668         (ignore_EPIPE): New variable.
84669         (close_stdout_set_ignore_EPIPE): New function.
84670         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
84671         * lib/close-stream.c (close_stream): Mention the possible EPIPE
84672         failure.
84673         * modules/closeout (Depends-on): Add stdbool.
84675 2008-10-05  Bruno Haible  <bruno@clisp.org>
84677         * modules/accept: New file.
84678         * modules/bind: New file.
84679         * modules/connect: New file.
84680         * modules/getpeername: New file.
84681         * modules/getsockname: New file.
84682         * modules/getsockopt: New file.
84683         * modules/listen: New file.
84684         * modules/recv: New file.
84685         * modules/recvfrom: New file.
84686         * modules/send: New file.
84687         * modules/sendto: New file.
84688         * modules/setsockopt: New file.
84689         * modules/socket: New file.
84690         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
84691         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
84692         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
84693         the particular module is requested. Add a link warning when the
84694         particular module is not requested.
84695         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
84696         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
84697         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
84698         the particular module is requested.
84699         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
84700         gl_SYS_SOCKET_H_DEFAULTS): New macros.
84701         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
84702         * modules/sys_socket (Depends-on): Add link-warning.
84703         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
84704         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
84705         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
84706         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
84707         GL_LINK_WARNING.
84708         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
84709         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
84710         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
84711         * doc/posix-functions/getpeername.texi: Mention the new module
84712         'getpeername'.
84713         * doc/posix-functions/getsockname.texi: Mention the new module
84714         'getsockname'.
84715         * doc/posix-functions/getsockopt.texi: Mention the new module
84716         'getsockopt'.
84717         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
84718         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
84719         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
84720         * doc/posix-functions/send.texi: Mention the new module 'send'.
84721         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
84722         * doc/posix-functions/setsockopt.texi: Mention the new module
84723         'setsockopt'.
84724         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
84725         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
84726         listen, connect, accept.
84727         * modules/select-tests (Depends-on): Likewise.
84729 2008-10-05  Bruno Haible  <bruno@clisp.org>
84731         * lib/winsock.c (strerror): Remove unused #undef.
84732         (rpl_close): Remove unused local variable.
84734         * modules/sys_socket (Depends-on); Add errno.
84736 2008-10-05  Bruno Haible  <bruno@clisp.org>
84738         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
84739         (select): Add a link warning when the 'select' module is not used.
84740         * modules/sys_select (Depends-on): Add link-warning.
84741         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
84742         Suggested by Paolo Bonzini.
84744 2008-10-05  Jim Meyering  <meyering@redhat.com>
84746         bootstrap: check for LT_INIT more portably
84747         * build-aux/bootstrap: Avoid using grep -E, since it's not
84748         portable enough.  Suggestion from Bruno Haible.
84750 2008-10-05  Bruno Haible  <bruno@clisp.org>
84752         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
84753         as being fixed by gnulib.
84755 2008-10-05  Bruno Haible  <bruno@clisp.org>
84757         * modules/select-tests: New file, mostly copied from
84758         modules/sys_select-tests.
84759         * tests/test-select.c: New file, mostly copied from
84760         tests/test-sys_select.c.
84761         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
84762         * modules/sys_select-tests (Depends-on): Remove all dependencies.
84763         (Makefile.am): Remove test_sys_select_LDADD.
84765         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
84766         to an undefined symbol, for an error message.
84767         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
84768         (gl_SYS_SELECT_H_DEFAULTS): New macro.
84769         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
84770         winsock-select.c here.
84771         * modules/sys_select (Files): Remove lib/winsock-select.c.
84772         (Depends-on): Remove alloca.
84773         (Makefile.am): Substitute GNULIB_SELECT.
84774         * modules/select: New file.
84775         * doc/posix-functions/select.texi: Update.
84777 2008-10-05  Bruno Haible  <bruno@clisp.org>
84779         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
84780         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
84781         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
84782         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
84783         getdtablesize.
84784         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
84785         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
84787 2008-10-05  Bruno Haible  <bruno@clisp.org>
84789         * modules/getdtablesize-tests: New file.
84790         * tests/test-getdtablesize.c: New file.
84792         New module 'getdtablesize'.
84793         * lib/unistd.in.h (getdtablesize): New declaration.
84794         * lib/getdtablesize.c: New file.
84795         * m4/getdtablesize.m4: New file.
84796         * modules/getdtablesize: New file.
84797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
84798         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
84799         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
84800         HAVE_GETDTABLESIZE.
84801         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
84803 2008-10-05  Bruno Haible  <bruno@clisp.org>
84805         * modules/sched (Makefile.am): Fix typo.
84806         Reported by Simon Josefsson.
84808 2008-10-05  Jim Meyering  <meyering@redhat.com>
84810         bootstrap: check for LT_INIT, too
84811         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
84812         are deprecated.  Suggestion from Ralf Wildenhues.
84814 2008-10-05  Bruno Haible  <bruno@clisp.org>
84816         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
84817         overriding them by ours.
84818         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
84820 2008-10-05  Jim Meyering  <meyering@redhat.com>
84822         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
84823         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
84824         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
84826 2008-10-04  Bruno Haible  <bruno@clisp.org>
84828         * modules/dup2 (License): Change to LGPLv2+.
84829         * modules/sleep (License): Likewise.
84830         * modules/perror (License): Likewise.
84831         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
84832         Blake.
84833         * modules/signal (License): Likewise.
84834         * modules/sigprocmask (License): Likewise.
84835         * modules/raise (License): Change to LGPLv2+, with approval by Jim
84836         Meyering.
84838 2008-10-04  Bruno Haible  <bruno@clisp.org>
84840         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
84841         Reported by Rainer Tammer <tammer@tammer.net>.
84843 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
84844             Bruno Haible  <bruno@clisp.org>
84846         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
84847         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
84848         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
84850 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
84852         filevercmp: new module
84853         * lib/filevercmp.h: New function filevercmp comparing version strings.
84854         * lib/filevercmp.c: Implementation of filevercmp function.
84855         * modules/filevercmp: Module metadata.
84856         * tests/test-filevercmp.c: Unit test for new module.
84857         * modules/filevercmp-tests: Unit test metadata.
84858         * MODULES.html.sh: Add filevercmp module.
84860 2008-10-03  Bruno Haible  <bruno@clisp.org>
84862         * lib/c-ctype.h: Add comment.
84863         Reported by Jim Meyering.
84865 2008-10-02  Bruno Haible  <bruno@clisp.org>
84867         * modules/posix_spawn-internal (Depends-on): Add 'open'.
84869 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
84871         * build-aux/bootstrap: Allow renaming bootstrap, and change the
84872         name of bootstrap.conf accordingly.
84874 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
84876         * build-aux/bootstrap: Install git-merge-changelog configuration
84877         items into .gitconfig if needed.
84879 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
84881         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
84882         git repository, and initialize/update it accordingly.
84884 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
84886         * modules/fsync-tests: New file.
84887         * tests/test-fsync.c: New file.
84889         New module 'fsync'.
84890         * lib/fsync.c: New file.
84891         * m4/fsync.m4: New file.
84892         * modules/fsync: New file.
84893         * lib/unistd.in.h (fsync): New declaration.
84894         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
84895         GNULIB_FSYNC and HAVE_FSYNC.
84896         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
84897         * MODULES.html.sh (posix_functions): Add fsync.
84898         * doc/posix-functions/fsync.texi: Mention the new module.
84900 2008-10-02  Jim Meyering  <meyering@redhat.com>
84902         fts.c: sync with similar code from coreutils' remove.c
84903         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
84904         Guard also with "#if defined __linux__", since for now at least,
84905         this code is Linux-kernel-specific.
84907 2008-10-02  Jim Meyering  <meyering@redhat.com>
84909         fts: bug fixes
84910         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
84911         Include <sys/vfs.h>, not <sys/statfs.h>.
84913         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
84914         Include <sys/vfs.h>, not <sys/statfs.h>.
84916 2008-10-01  Bruno Haible  <bruno@clisp.org>
84918         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
84919         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
84920         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
84921         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
84922         * doc/posix-functions/posix_spawnp.texi: Likewise.
84923         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
84924         whether posix_spawn actually works.
84925         * m4/pipe.m4 (gl_PIPE): Likewise.
84926         * modules/execute (Files): Add m4/posix_spawn.m4.
84927         * modules/pipe (Files): Add m4/posix_spawn.m4.
84928         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
84930 2008-10-01  Jim Meyering  <meyering@redhat.com>
84932         remove trailing spaces
84933         * NEWS: Likewise.
84934         * lib/poll.c (poll): Likewise.
84935         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
84936         * lib/winsock.c (rpl_close): Likewise.
84937         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
84938         * modules/yield: Likewise.
84939         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
84940         * tests/test-sys_select.c (connect_to_socket): Likewise.
84942         fts.c: adjust a new interface to be more generally useful
84943         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
84944         (fts_build): Adjust caller.
84946 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84948         * modules/cond-tests: New file.
84949         * tests/test-cond.c: New file.
84951 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84952             Bruno Haible  <bruno@clisp.org>
84954         * modules/cond (Dependencies): Add errno, time.
84955         * lib/glthread/cond.h: Include <time.h>.
84956         (gl_cond_define, gl_cond_define_initialized): Use the same definition
84957         across platforms.
84959 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84960             Bruno Haible  <bruno@clisp.org>
84962         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
84964 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84965             Bruno Haible  <bruno@clisp.org>
84967         * modules/tls-tests (Depends-on): Add thread, yield.
84968         (configure.ac): Remove all checks.
84969         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
84970         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
84971         gl_thread_self): Remove definitions. Include glthread/thread.h and
84972         glthread/yield.h instead.
84973         (test_tls): Pass an additional NULL argument to gl_thread_join.
84975 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84976             Bruno Haible  <bruno@clisp.org>
84978         * modules/lock-tests (Depends-on): Add thread, yield.
84979         (configure.ac): Remove all checks.
84980         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
84981         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
84982         gl_thread_self): Remove definitions. Include glthread/thread.h and
84983         glthread/yield.h instead.
84984         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
84985         additional NULL argument to gl_thread_join.
84987 2008-09-30  Bruno Haible  <bruno@clisp.org>
84989         Fix the Win32 implementation of the 'thread' module.
84990         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
84991         pointer type.
84992         (gl_thread_self): Invoke gl_thread_self_func.
84993         (gl_thread_self_func): New declaration.
84994         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
84995         (do_init_self_key, init_self_key): New functions.
84996         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
84997         Remove some fields.
84998         (running_threads, running_lock): Remove variables.
84999         (get_current_thread_handle): New function.
85000         (gl_thread_self_func, wrapper_func, glthread_create_func,
85001         glthread_join_func, gl_thread_exit_func): Largely rewritten and
85002         simplified.
85004 2008-09-30  Bruno Haible  <bruno@clisp.org>
85006         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
85007         files.
85009 2008-09-30  Jim Meyering  <meyering@redhat.com>
85011         fts.m4: correct the test for statfs.f_type
85012         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
85013         when checking for statfs.f_type.
85015 2008-09-15  Simon Josefsson  <simon@josefsson.org>
85017         tests: avoid some compiler warnings
85018         * tests/test-memchr.c (main): Pass NULL indirectly.
85019         * tests/test-getdate.c (main): Remove unused variable 'ret'.
85021 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
85023         getdate.y: disallow countable dayshifts like "4 yesterday ago"
85024         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
85025         exactly specified dayshifts.
85026         (dayshift): New rule.
85027         (rel): Add dayshift.
85028         (relative_time_table) [tomorrow, yesterday, today, now]:
85029         Use tDAY_SHIFT in place of tDAY_UNIT.
85030         * tests/test-getdate.c: Add tests for now-disallowed countable
85031         dayshifts, e.g., "4 yesterday ago".
85033 2008-09-29  Bruno Haible  <bruno@clisp.org>
85035         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
85036         * tests/test-posix_spawn1.in.sh: Renamed from
85037         tests/test-posix_spawn.in.sh.
85038         * tests/test-posix_spawn2.c: New file.
85039         * tests/test-posix_spawn2.in.sh: New file.
85040         * modules/posix_spawnp-tests (Files): Update.
85041         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
85043 2008-09-29  Bruno Haible  <bruno@clisp.org>
85045         Propagate effects of putenv/setenv/unsetenv to child processes.
85046         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
85047         * lib/pipe.c (create_pipe): Likewise.
85049 2008-09-29  Bruno Haible  <bruno@clisp.org>
85051         Enable use of shell scripts as executables in mingw.
85052         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
85053         run the program as a shell script.
85054         * lib/pipe.c (create_pipe): Likewise.
85055         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
85056         resulting array.
85058 2008-09-29  Eric Blake  <ebb9@byu.net>
85060         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
85062 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
85064         * doc/posix-functions/accept.texi: Update mingw problems.
85065         * doc/posix-functions/bind.texi: Update mingw problems.
85066         * doc/posix-functions/close.texi: Update mingw problems.
85067         * doc/posix-functions/connect.texi: Update mingw problems.
85068         * doc/posix-functions/getpeername.texi: Update mingw problems.
85069         * doc/posix-functions/getsockname.texi: Update mingw problems.
85070         * doc/posix-functions/getsockopt.texi: Update mingw problems.
85071         * doc/posix-functions/ioctl.texi: Update mingw problems.
85072         * doc/posix-functions/listen.texi: Update mingw problems.
85073         * doc/posix-functions/recv.texi: Update mingw problems.
85074         * doc/posix-functions/recvfrom.texi: Update mingw problems.
85075         * doc/posix-functions/select.texi: Update mingw problems.
85076         * doc/posix-functions/send.texi: Update mingw problems.
85077         * doc/posix-functions/sendto.texi: Update mingw problems.
85078         * doc/posix-functions/setsockopt.texi: Update mingw problems.
85079         * doc/posix-functions/socket.texi: Update mingw problems.
85081 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
85082             Bruno Haible  <bruno@clisp.org>
85084         * lib/sys_select.in.h: Include sys/time.h.
85085         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
85086         * modules/sys_select: Depend on sys_time.
85087         * tests/test-sys_select.c: Test that sys/select.h defines struct
85088         timeval fully.
85090 2008-09-29  Bruno Haible  <bruno@clisp.org>
85092         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
85093         * lib/sys_select.in.h: Likewise.
85095 2008-09-29  Bruno Haible  <bruno@clisp.org>
85097         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
85099 2008-09-29  Bruno Haible  <bruno@clisp.org>
85101         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
85102         Set LIBSOCKET instead of augmenting LIBS.
85103         * modules/sockets (Link): New section.
85104         * modules/sockets-tests (test_sockets_LDADD): New variable.
85105         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
85106         * modules/poll-tests (test_poll_LDADD): New variable.
85107         * NEWS: Document the change.
85109 2008-09-29  Bruno Haible  <bruno@clisp.org>
85111         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
85112         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
85113         ARPA_INET_H directly.
85114         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
85116 2008-09-28  Bruno Haible  <bruno@clisp.org>
85118         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
85119         from gl_HEADER_SYS_SOCKET.
85120         (gl_HEADER_SYS_SOCKET): Invoke it.
85121         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
85123 2008-09-28  Bruno Haible  <bruno@clisp.org>
85125         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
85126         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
85127         Needed on OSF/1 4.0.
85129 2008-09-28  Bruno Haible  <bruno@clisp.org>
85131         Override open more carefully.
85132         * lib/open.c (orig_open): New function.
85133         (rpl_open): Use orig_open instead of open.
85134         * lib/fcntl.in.h: Add special invocation convention.
85135         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
85136         (gl_FUNC_OPEN): Invoke it.
85138         Override freopen more carefully.
85139         * lib/freopen.c (orig_freopen): New function.
85140         (rpl_freopen): Use orig_freopen instead of freopen.
85141         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
85142         (gl_FUNC_FREOPEN): Invoke it.
85144         Override fopen more carefully.
85145         * lib/fopen.c (orig_fopen): New function.
85146         (rpl_fopen): Use orig_fopen instead of fopen.
85147         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
85148         (gl_FUNC_FOPEN): Invoke it.
85149         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
85151 2008-09-28  Bruno Haible  <bruno@clisp.org>
85153         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
85154         SIGPIPE.
85156 2008-09-28  Bruno Haible  <bruno@clisp.org>
85158         * tests/test-sigaction.c (handler, main): Disable the check whether
85159         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
85160         glibc systems with LinuxThreads.
85162 2008-09-28  Bruno Haible  <bruno@clisp.org>
85164         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
85166         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
85167         with AIX xlc.
85168         * lib/fcntl.in.h (open): Likewise.
85169         Reported by Rainer Tammer <tammer@tammer.net>.
85171 2008-09-28  Bruno Haible  <bruno@clisp.org>
85173         * modules/posix_spawnp-tests: New file.
85174         * tests/test-posix_spawn.c: New file.
85175         * tests/test-posix_spawn.in.sh: New file.
85177         New module 'posix_spawnp'.
85178         * modules/posix_spawnp: New file.
85179         * lib/spawnp.c: New file, from GNU libc with modifications.
85180         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
85182         New module 'posix_spawn'.
85183         * modules/posix_spawn: New file.
85184         * lib/spawn.c: New file, from GNU libc with modifications.
85185         * doc/posix-functions/posix_spawn.texi: Mention the new module.
85187         New module 'posix_spawnattr_destroy'.
85188         * modules/posix_spawnattr_destroy: New file.
85189         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
85190         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
85191         module.
85193         New module 'posix_spawnattr_setsigmask'.
85194         * modules/posix_spawnattr_setsigmask: New file.
85195         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
85196         modifications.
85197         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
85198         new module.
85200         New module 'posix_spawnattr_getsigmask'.
85201         * modules/posix_spawnattr_getsigmask: New file.
85202         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
85203         modifications.
85204         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
85205         new module.
85207         New module 'posix_spawnattr_setsigdefault'.
85208         * modules/posix_spawnattr_setsigdefault: New file.
85209         * lib/spawnattr_setdefault.c: New file, from GNU libc with
85210         modifications.
85211         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
85212         new module.
85214         New module 'posix_spawnattr_getsigdefault'.
85215         * modules/posix_spawnattr_getsigdefault: New file.
85216         * lib/spawnattr_getdefault.c: New file, from GNU libc with
85217         modifications.
85218         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
85219         new module.
85221         New module 'posix_spawnattr_setschedpolicy'.
85222         * modules/posix_spawnattr_setschedpolicy: New file.
85223         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
85224         modifications.
85225         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
85226         new module.
85228         New module 'posix_spawnattr_getschedpolicy'.
85229         * modules/posix_spawnattr_getschedpolicy: New file.
85230         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
85231         modifications.
85232         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
85233         new module.
85235         New module 'posix_spawnattr_setschedparam'.
85236         * modules/posix_spawnattr_setschedparam: New file.
85237         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
85238         modifications.
85239         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
85240         new module.
85242         New module 'posix_spawnattr_getschedparam'.
85243         * modules/posix_spawnattr_getschedparam: New file.
85244         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
85245         modifications.
85246         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
85247         new module.
85249         New module 'posix_spawnattr_setpgroup'.
85250         * modules/posix_spawnattr_setpgroup: New file.
85251         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
85252         modifications.
85253         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
85254         module.
85256         New module 'posix_spawnattr_getpgroup'.
85257         * modules/posix_spawnattr_getpgroup: New file.
85258         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
85259         modifications.
85260         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
85261         module.
85263         New module 'posix_spawnattr_setflags'.
85264         * modules/posix_spawnattr_setflags: New file.
85265         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
85266         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
85267         module.
85269         New module 'posix_spawnattr_getflags'.
85270         * modules/posix_spawnattr_getflags: New file.
85271         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
85272         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
85273         module.
85275         New module 'posix_spawnattr_init'.
85276         * modules/posix_spawnattr_init: New file.
85277         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
85278         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
85279         module.
85281         New module 'posix_spawn_file_actions_destroy'.
85282         * modules/posix_spawn_file_actions_destroy: New file.
85283         * lib/spawn_faction_destroy.c: New file, from GNU libc with
85284         modifications.
85285         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
85286         the new module.
85288         New module 'posix_spawn_file_actions_addopen'.
85289         * modules/posix_spawn_file_actions_addopen: New file.
85290         * lib/spawn_faction_addopen.c: New file, from GNU libc with
85291         modifications.
85292         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
85293         the new module.
85295         New module 'posix_spawn_file_actions_adddup2'.
85296         * modules/posix_spawn_file_actions_adddup2: New file.
85297         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
85298         modifications.
85299         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
85300         the new module.
85302         New module 'posix_spawn_file_actions_addclose'.
85303         * modules/posix_spawn_file_actions_addclose: New file.
85304         * lib/spawn_faction_addclose.c: New file, from GNU libc with
85305         modifications.
85306         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
85307         the new module.
85309         New module 'posix_spawn_file_actions_init'.
85310         * modules/posix_spawn_file_actions_init: New file.
85311         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
85312         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
85313         new module.
85315         New module 'posix_spawn-internal'.
85316         * modules/posix_spawn-internal: New file.
85317         * lib/spawn_int.h: New file, from GNU libc with modifications.
85318         * lib/spawni.c: New file, from GNU libc with modifications.
85319         * m4/posix_spawn.m4: New file.
85321         New module 'spawn'.
85322         * modules/spawn: New file.
85323         * lib/spawn.in.h: New file, from GNU libc with modifications.
85324         * m4/spawn_h.m4: New file.
85325         * doc/posix-headers/spawn.texi: Mention the new module.
85327 2008-09-28  Bruno Haible  <bruno@clisp.org>
85329         * modules/sched-tests: New file.
85330         * tests/test-sched.c: New file.
85332         New module 'sched'.
85333         * modules/sched: New file.
85334         * lib/sched.in.h: New file.
85335         * m4/sched_h.m4: New file.
85336         * doc/posix-headers/sched.texi: Mention the new module.
85338 2008-09-27  Eric Blake  <ebb9@byu.net>
85340         Fix previous patch, and tweak references to $0.
85341         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
85342         (func_version, func_gnulib_dir): Don't call this program
85343         gnulib-tool.
85344         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
85345         with using $0 in function.
85346         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
85347         (func_fatal_error): Reuse the name the user invoked us with.
85349 2008-09-27  Bruno Haible  <bruno@clisp.org>
85351         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
85352         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
85353         (gl_ICONV_H): Not here.
85354         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
85355         instead of assigning ICONV_H directly.
85357         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
85358         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
85359         WCHAR_H directly.
85361 2008-09-27  Bruno Haible  <bruno@clisp.org>
85363         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
85364         * modules/arpa_inet (Depends-on): Add link-warning.
85365         (Makefile.am): Insert the definition of GL_LINK-WARNING.
85366         * modules/unistd (Makefile.am): Likewise.
85368 2008-09-26  Bruno Haible  <bruno@clisp.org>
85370         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
85371         variables.
85372         (func_version): Essentially copied from gnulib-tool.
85373         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
85374         func_readlink): Copied from gnulib-tool.
85376 2008-09-26  Bruno Haible  <bruno@clisp.org>
85378         * gnulib-tool (func_version): Change directory to $gnulib_dir before
85379         invoking git-version-gen.
85381 2008-09-26  Bruno Haible  <bruno@clisp.org>
85383         * posix-modules: Update to directory names changed on 2008-01-19.
85384         Remove commas in output before splitting into words. No more need to
85385         avoid 'ftruncate' since 2007-02-19.
85387 2008-09-26  Bruno Haible  <bruno@clisp.org>
85389         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
85391 2008-09-26  Bruno Haible  <bruno@clisp.org>
85393         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
85394         * modules/fwriteerror (Depends-on): Add errno.
85396 2008-09-26  Bruno Haible  <bruno@clisp.org>
85398         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
85399         * tests/test-vc-list-files-cvs.sh: Likewise.
85401 2008-09-26  Bruno Haible  <bruno@clisp.org>
85403         * doc/posix-headers/sys_resource.texi: Reorder items.
85405 2008-09-26  Jim Meyering  <meyering@redhat.com>
85407         fts: tweak inode comparison function
85408         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
85409         inode numbers, as documented.
85411         fts: sort dirent entries on inode number before traversing
85412         This avoids a quadratic, seek-related performance penalty when
85413         operating on a directory containing many entries (measurable at 10k;
85414         3.5 hours at 2 million entries with a cold cache) on certain types
85415         of file systems, including ext3 and ext4, but not tmpfs.
85416         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
85417         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
85418         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
85419         (fs_handles_readdir_ordered_dirents_efficiently): New function.
85420         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
85421         (fts_build): Set the stat.st_ino member from D_INO.
85422         If it is likely to be useful, sort dirent entries on inode number.
85424         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
85425         and the struct statfs.f_type member.
85426         * modules/fts (Depends-on): Add d-ino.
85428 2008-09-26  Bruno Haible  <bruno@clisp.org>
85430         * modules/sigpipe-die (Depends-on): Add sigpipe.
85432         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
85433         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
85434         and GNULIB_STDIO_H_SIGPIPE are set.
85435         * lib/stdio-write.c: New file.
85436         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
85437         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
85438         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
85439         REPLACE_STDIO_WRITE_FUNCS.
85440         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
85441         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
85442         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
85443         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
85444         * modules/stdio (Files): Add lib/stdio-write.c.
85445         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
85446         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
85447         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
85448         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
85449         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
85450         REPLACE_FPRINTF_POSIX.
85451         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
85452         REPLACE_PRINTF_POSIX.
85453         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
85454         REPLACE_VFPRINTF_POSIX.
85455         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
85456         REPLACE_VPRINTF_POSIX.
85457         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
85458         SIGPIPE issue.
85459         * doc/posix-functions/fputc.texi: Likewise.
85460         * doc/posix-functions/fputs.texi: Likewise.
85461         * doc/posix-functions/fwrite.texi: Likewise.
85462         * doc/posix-functions/printf.texi: Likewise.
85463         * doc/posix-functions/putc.texi: Likewise.
85464         * doc/posix-functions/putchar.texi: Likewise.
85465         * doc/posix-functions/puts.texi: Likewise.
85466         * doc/posix-functions/vfprintf.texi: Likewise.
85467         * doc/posix-functions/vprintf.texi: Likewise.
85469         * modules/safe-write (Depends-on): Add write.
85471         * modules/sigpipe-tests: New file.
85472         * tests/test-sigpipe.c: New file.
85473         * tests/test-sigpipe.sh: New file.
85475         * modules/write: New file.
85476         * lib/unistd.in.h: Include <sys/types.h>.
85477         (write): New declaration.
85478         * lib/write.c: New file.
85479         * m4/write.m4: New file.
85480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
85481         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
85482         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
85483         GNULIB_WRITE, REPLACE_WRITE.
85484         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
85485         and the SIGPIPE issue.
85487         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
85488         (raise): New declaration.
85489         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
85490         (ext_signal): New function.
85491         (rpl_raise): New function.
85492         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
85493         GNULIB_SIGNAL_H_SIGPIPE.
85494         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
85495         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
85497         * modules/sigpipe: New file.
85498         * m4/sigpipe.m4: New file.
85500 2008-09-25  Derek Price  <derek@ximbiot.com>
85501             Bruno Haible  <bruno@clisp.org>
85503         * gnulib-tool (func_import): Report all license incompatibilities, not
85504         just the first one.
85506 2008-09-25  Bruno Haible  <bruno@clisp.org>
85508         * gnulib-tool (func_import): When computing the edits, consider not
85509         only the Makefile.ams that exist but also those that will be generated.
85511 2008-09-25  Simon Josefsson  <simon@josefsson.org>
85513         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
85514         fixes gnulib-tool --test warning about duplicate dependency.
85516 2008-09-25  Bruno Haible  <bruno@clisp.org>
85518         * gnulib-tool: Don't ask the user to perform edits in the generated
85519         Makefile.ams.
85520         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
85521         apply to the Makefile.am being generated.
85522         (func_emit_tests_Makefile_am): Execute edits that apply to the
85523         Makefile.am being generated.
85524         (func_import): Setup list of Makefile.am edits before emitting the
85525         Makefile.ams, not at the end.
85526         (func_create_testdir): Update.
85527         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85529 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85531         * gnulib-tool (func_import): Store the --tests-base option in the
85532         comment in gnulib-cache.m4.
85534 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
85536         * NEWS: Document increased portability that sys_select now provides.
85538         * lib/sys_select.in.h: Install select wrapper.
85539         * lib/sys_socket.in.h: Use more descriptive name when there is no
85540         select wrapper.
85541         * lib/winsock-select.c: New.
85542         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
85543         Require gl_HEADER_SYS_SOCKET.
85544         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
85545         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
85546         * tests/test-sys_select.c: Add functional tests.
85548 2008-09-24  Eric Blake  <ebb9@byu.net>
85550         open, fopen: close fd leak in last patch
85551         * lib/open.c (rpl_open): Close fd before returning error.
85552         * lib/fopen.c (rpl_fopen): Close fd before returning error.
85553         * doc/posix-functions/open.texi (open): Document that Irix also
85554         has the bug.
85555         * doc/posix-functions/fopen.texi (fopen): Likewise.
85556         Reported by Paolo Bonzini.
85558 2008-09-24  Bruno Haible  <bruno@clisp.org>
85560         Ensure that a filename ending in a slash cannot be used to access a
85561         non-directory.
85562         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
85563         to check whether it's really a directory.
85564         * lib/fopen.c: Include fcntl.h, unistd.h.
85565         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
85566         and fdopen().
85567         * modules/fopen (Depends-on): Add unistd.
85568         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
85569         * tests/test-fopen.c (main): Likewise.
85570         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
85571         * doc/posix-functions/fopen.texi: Likewise.
85572         Reported by Eric Blake.
85574 2008-09-23  Eric Blake  <ebb9@byu.net>
85576         c-stack: avoid compiler optimizations when provoking overflow
85577         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
85578         recursion harder to optimize, to ensure a stack overflow occurs.
85579         * tests/test-c-stack.c (recurse): Likewise.
85580         Borrowed from libsigsegv.
85582         c-stack: work around Irix sigaltstack bug
85583         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
85584         whether sigaltstack uses wrong end of stack_t (copied in part from
85585         libsigsegv).
85586         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
85587         Irix bug, without requiring an over-allocation.
85588         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
85589         bug.
85591         fopen: document mingw bug on directories
85592         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
85593         not allowing a stream visiting a directory, even though reading
85594         from such a stream is not portable.
85596 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
85598         * lib/poll.c: Rewrite.
85599         * modules/poll: Depend on alloca.
85601 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
85603         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
85604         instead define prototypes for a full set of wrappers.  Ensure
85605         that Cygwin does not use the compatibility code, which is only
85606         for MinGW.
85607         * lib/winsock.c: New.
85608         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
85609         * modules/sys_socket: Add lib/winsock.c.
85611         * modules/poll-tests: Add errno and perror.
85612         * tests/test-poll.c: Use ioctl, not ioctlsocket.
85614 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
85616         * tests/test-poll.c: Downgrade minimum needed Winsock version.
85618 2008-09-23  Bruno Haible  <bruno@clisp.org>
85620         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
85621         * doc/glibc-functions/*: Likewise.
85623 2008-09-23  Simon Josefsson  <simon@josefsson.org>
85625         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
85626         success.
85628 2008-09-22  Eric Blake  <ebb9@byu.net>
85629             Bruno Haible  <bruno@clisp.org>
85631         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
85632         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
85633         supply %A but mishandle pseudo-NaN.
85634         Reported by Simon Josefsson.
85636 2008-09-21  Bruno Haible  <bruno@clisp.org>
85638         * tests/test-lock.c (main): Tweak skip message.
85639         * tests/test-tls.c (main): Likewise.
85641 2008-09-21  Bruno Haible  <bruno@clisp.org>
85643         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
85644         whether 'struct sigaction' has sa_sigaction here...
85645         (gl_PREREQ_SIG_HANDLER_H): ... not here.
85646         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
85648 2008-09-21  Bruno Haible  <bruno@clisp.org>
85650         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
85651         section.
85652         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
85653         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
85654         the new section.
85655         (Support for obsolete systems lacking POSIX:2001): New section.
85656         (String handling <string.h>): Move strdup to the new section.
85657         Suggested by Simon Josefsson and Paolo Bonzini.
85659 2008-09-21  Bruno Haible  <bruno@clisp.org>
85661         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
85662         exponents in %e and %g results on 'long double'. Needed for mingw's
85663         improved *printf functions.
85664         * tests/test-vasprintf-posix.c (test_function): Likewise.
85665         * tests/test-snprintf-posix.h (test_function): Likewise.
85666         * tests/test-sprintf-posix.h (test_function): Likewise.
85667         Reported by Eric Blake.
85669 2008-09-21  Bruno Haible  <bruno@clisp.org>
85671         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
85672         * tests/test-sprintf-posix.h (test_function): Likewise.
85674 2008-09-21  Bruno Haible  <bruno@clisp.org>
85676         * modules/getpass (Depends-on): Add strdup-posix.
85678         New module 'strdup-posix'.
85679         * modules/strdup-posix: New file.
85680         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
85681         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
85682         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
85683         REPLACE_STRDUP.
85684         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
85685         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
85686         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85687         strdup-posix.
85689         * modules/strdup (Depends-on): Remove malloc-posix.
85691 2008-09-20  Bruno Haible  <bruno@clisp.org>
85693         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
85694         Wildenhues.
85696 2008-09-20  Bruno Haible  <bruno@clisp.org>
85698         Ensure that wint_t gets defined on IRIX 5.3.
85699         * lib/wchar.in.h (wint_t): Define if not defined by the system.
85700         * lib/wctype.in.h (wint_t): Likewise.
85701         (__wctype_wint_t): Remove type.
85702         (isw*): Use wint_t instead of __wctype_wint_t.
85703         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
85704         * modules/wchar (Files): Add m4/wint_t.m4.
85705         (Makefile.am): Substitute HAVE_WINT_T.
85706         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
85707         * tests/test-wctype.c: Check that wint_t is defined.
85708         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
85709         * doc/posix-headers/wctype.texi: Likewise.
85710         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85712 2008-09-18  Bruno Haible  <bruno@clisp.org>
85714         * gnulib-tool (func_exit): Update comment.
85716 2008-09-18  Simon Josefsson  <simon@josefsson.org>
85718         * modules/getaddrinfo (Depends-on): Remove strdup, this module
85719         assumes strdup exists and does not depend on strdup to return
85720         ENOMEM on out of memory conditions.
85722 2008-09-18  Bruno Haible  <bruno@clisp.org>
85724         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
85725         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
85726         digits for the exponent.
85728 2008-09-18  Jim Meyering  <meyering@redhat.com>
85729             Bruno Haible  <bruno@clisp.org>
85731         * lib/vasnprintf.c (decimal_point_char): Define also if
85732         NEED_PRINTF_INFINITE_LONG_DOUBLE.
85734 2008-09-16  Bruno Haible  <bruno@clisp.org>
85735         and Eric Blake  <ebb9@byu.net>
85737         vasnprintf: support Irix 5.3
85738         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
85739         that mishandle long double infinity.
85740         Reported by Tom G. Christensen.
85742 2008-09-16  Bruno Haible  <bruno@clisp.org>
85744         * doc/glibc-functions/scandir.texi: Mention the function is missing on
85745         Solaris 9.
85746         * doc/glibc-functions/alphasort.texi: Likewise.
85747         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
85749 2008-09-16  Jim Meyering  <meyering@redhat.com>
85751         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
85752         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
85753         a umask modification leak out of a subshell.  Otherwise, the
85754         opensolaris /bin/sh would be accepted and thus cause unwarranted
85755         failures in the coreutils test suite.
85757 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
85759         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
85760         to succeed.
85762 2008-09-16  Jim Meyering  <meyering@redhat.com>
85764         avoid spurious test failure when library is built without ACL support
85765         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
85766         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
85767         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
85768         * tests/test-copy-acl.sh: Likewise.
85770 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85772         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
85773         based on character occurrence counts.
85775 2008-09-15  Eric Blake  <ebb9@byu.net>
85777         tests: avoid some compiler warnings
85778         * tests/test-memchr.c (main): Pass NULL indirectly.
85779         * tests/test-closein.c (main): Avoid unused variable.
85781 2008-09-15  Bruno Haible  <bruno@clisp.org>
85783         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
85784         are missing on OpenBSD 4.0 individually.
85785         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85787 2008-09-15  Bruno Haible  <bruno@clisp.org>
85789         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
85790         * doc/posix-functions/strerror.texi: Mention also Cygwin.
85791         * doc/posix-functions/perror.texi: Likewise.
85792         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
85793         is missing.
85794         Reported by Eric Blake.
85796         * lib/errno.in.h: Use replacement values >= 2000.
85797         Reported by Eric Blake.
85799 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85801         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
85802         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
85803         limit.
85804         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
85805         compareseq was aborted.
85807 2008-09-14  Bruno Haible  <bruno@clisp.org>
85809         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
85810         yvec_edit_count.
85811         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
85812         (fstrcmp_bounded): Simplify result computation accordingly.
85814 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85816         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
85817         (fstrcmp): Define in terms of fstrcmp_bounded.
85818         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
85819         lower_bound argument.
85820         Return quickly if the result is certainly < lower_bound.
85821         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
85823 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85825         * lib/diffseq.h (EARLY_ABORT): New macro.
85826         (compareseq): Change return type to bool. Return true when EARLY_ABORT
85827         evaluates to true.
85829 2008-09-14  Bruno Haible  <bruno@clisp.org>
85831         * modules/perror-tests: New file.
85832         * tests/test-perror.sh: New file.
85833         * tests/test-perror.c: New file.
85835         New module 'perror'.
85836         * lib/stdio.in.h (perror): New declaration.
85837         * lib/perror.c: New file.
85838         * m4/perror.m4: New file.
85839         * modules/perror: New file.
85840         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
85841         * doc/posix-functions/perror.texi: Mention the perror module.
85842         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
85843         REPLACE_PERROR.
85844         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
85845         REPLACE_PERROR.
85847 2008-09-14  Bruno Haible  <bruno@clisp.org>
85849         * modules/stdio (Makefile.am): Reorder to match the order in
85850         lib/stdio.in.h.
85851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
85853 2008-09-13  Bruno Haible  <bruno@clisp.org>
85855         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
85857 2008-09-13  Bruno Haible  <bruno@clisp.org>
85859         Extend strerror to cover the added errno values.
85860         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
85861         (rpl_strerror): Provide error messages for the added errno values and
85862         for the WSA* values.
85863         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
85864         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
85865         strerror.
85866         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
85867         * modules/strerror (Depends-on): Add errno.
85868         * doc/posix-functions/strerror.texi: Document the change.
85869         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
85870         and EOVERFLOW.
85872 2008-09-13  Bruno Haible  <bruno@clisp.org>
85874         * modules/EOVERFLOW: Remove file.
85875         * m4/eoverflow.m4: Remove file.
85876         * modules/EOVERFLOW-tests: Remove file.
85877         * tests/test-EOVERFLOW.c: Remove file.
85878         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
85879         * modules/ftell (Depends-on): Likewise.
85880         * modules/getdelim (Depends-on): Likewise.
85881         * modules/getugroups (Depends-on): Likewise.
85882         * modules/poll (Depends-on): Likewise.
85883         * modules/snprintf (Depends-on): Likewise.
85884         * modules/sprintf-posix (Depends-on): Likewise.
85885         * modules/vasnprintf (Depends-on): Likewise.
85886         * modules/vasprintf (Depends-on): Likewise.
85887         * modules/vfprintf-posix (Depends-on): Likewise.
85888         * modules/vsnprintf (Depends-on): Likewise.
85889         * modules/vsprintf-posix (Depends-on): Likewise.
85890         * modules/xvasprintf (Depends-on): Likewise.
85891         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
85892         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
85893         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
85894         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
85895         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
85896         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
85897         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
85898         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
85899         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
85900         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
85901         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
85902         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
85903         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
85904         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
85905         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
85906         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
85907         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
85908         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
85909         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
85910         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
85911         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
85912         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
85913         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
85914         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
85915         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
85916         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
85917         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
85918         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
85919         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
85920         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
85921         * MODULES.html.sh: Remove EOVERFLOW.
85922         * NEWS: Mention the change.
85924 2008-09-13  Bruno Haible  <bruno@clisp.org>
85926         * modules/errno-tests: New file.
85927         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
85929         * lib/errno.in.h: New file.
85930         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
85931         * modules/errno: New file.
85932         * doc/posix-headers/errno.texi: Update documentation.
85933         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
85935 2008-09-13  Bruno Haible  <bruno@clisp.org>
85937         * tests/test-poll.c: Use #if for native Windows, rather than testing
85938         __MSVCRT__.
85940 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85941             Bruno Haible  <bruno@clisp.org>
85943         * lib/glob.c: Don't include <pwd.h> on native Windows.
85944         (WINDOWS32): New macro.
85945         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
85947 2008-09-13  Bruno Haible  <bruno@clisp.org>
85949         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
85950         (ETIMEDOUT): Remove macro.
85951         (glthread_cond_timedwait_multithreaded): New declaration.
85952         (glthread_cond_timedwait): Use it.
85953         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
85954         (glthread_cond_timedwait_multithreaded): New function.
85956 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
85958         * modules/poll-tests: Do not check for io.h.
85959         * tests/test-poll.c: Check for __MSVCRT__ instead.
85961 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
85963         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
85964         * modules/poll-tests: Add inet_pton, stdbool, sockets.
85965         * tests/test-poll.c: Use them.  Use _pipe on Windows.
85967 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
85969         * modules/poll-tests: New.
85970         * tests/test-poll.c: New.
85972 2008-09-12  Eric Blake  <ebb9@byu.net>
85974         frexp: test for NetBSD failure on -0.0
85975         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
85976         not all, bugs from NetBSD 3.0 have been fixed.
85977         * doc/posix-functions/frexp.texi (frexp): Document bug.
85978         Reported by Thomas Klausner.
85980         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
85981         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
85982         literal -0.0.
85983         Reported by Jonathan C. Patschke <jp@centtech.com>.
85985 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85987         * lib/glthread/cond.h: Use dummy implementation also if
85988         USE_WIN32_THREADS.
85990 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85992         * modules/fnmatch-posix (License): Change to LGPLv2+.
85993         * modules/fnmatch-gnu (License): Likewise.
85995 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85997         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
85999 2008-09-11  Jim Meyering  <meyering@redhat.com>
86001         * users.txt: Add gtk-vnc.
86003 2008-09-08  Simon Josefsson  <simon@josefsson.org>
86005         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
86006         rotate amounts.
86008         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
86009         required for 16-bit and 8-bit rotates.
86010         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
86011         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
86012         UINT8_MAX instead of hard-coded constants.
86013         Suggested by Paul Eggert.
86015 2008-09-07  Bruno Haible  <bruno@clisp.org>
86017         * tests/test-striconveh.c (main): Check behaviour when converting from
86018         UTF-7.
86020         Make striconveh work better with stateful encodings.
86021         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
86022         that iconv does not increment the inptr when returning -1/EINVAL.
86024 2008-09-07  Bruno Haible  <bruno@clisp.org>
86026         * build-aux/config.rpath: Update according to libtool-2.2.6.
86027         * build-aux/config.libpath: Likewise.
86029 2008-09-06  Bruno Haible  <bruno@clisp.org>
86031         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
86032         * lib/freadptr.c (freadptr): Likewise.
86033         * lib/freadseek.c (freadptrinc): Likewise.
86034         Reported by Simon Josefsson.
86036 2008-09-06  Bruno Haible  <bruno@clisp.org>
86038         * modules/freadptr (License): Change to LGPLv2+.
86039         * modules/freadseek (License): Likewise.
86040         Suggested by Eric Blake.
86042         * modules/memchr2 (License): Change to LGPLv2+.
86043         Approved by Eric Blake.
86045 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86046             Bruno Haible  <bruno@clisp.org>
86048         Make gnulib-tool work with native 'sed' on AIX.
86049         * gnulib-tool (sed_noop): New variable.
86050         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
86051         func_add_or_update, func_create_testdir): Use it to initialize sed
86052         script variables.
86053         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86055 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
86056             Bruno Haible  <bruno@clisp.org>
86058         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
86059         also works after #include directives.
86061 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
86063         getdate.y: reject an out-of-range timezone value
86064         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
86065         the range [-24...+24].  When specified with only one or two digits,
86066         * tests/test-getdate.c: Tests for the fix.
86067         * doc/getdate.texi: Document this change.
86069 2008-09-03  Bruno Haible  <bruno@clisp.org>
86071         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
86073 2008-09-02  Simon Josefsson  <simon@josefsson.org>
86075         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
86076         <bruce.korb@gmail.com> with ideas from Ben Pfaff
86077         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
86078         Blake <ebb9@byu.net>.
86080         * tests/test-bitrotate.c: Add more test vectors.
86082 2008-09-02  Eric Blake  <ebb9@byu.net>
86084         vasnprintf-posix: handle large precision via %.*d
86085         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
86086         when handling it ourselves.
86087         * tests/test-vasnprintf-posix.c (test_function): Add test.
86088         * tests/test-snprintf-posix.h (test_function): Likewise.
86089         * tests/test-sprintf-posix.h (test_function): Likewise.
86090         * tests/test-vasprintf-posix.c (test_function): Likewise.
86091         Reported by Alain Guibert.
86093 2008-09-01  Eric Blake  <ebb9@byu.net>
86095         c-stack: make configure-time check more robust
86096         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
86097         successful sigaction call.
86098         Reported by Tom G. Christensen.
86100 2008-09-01  Bruno Haible  <bruno@clisp.org>
86102         New module 'findprog-lgpl'.
86103         * modules/findprog-lgpl: New file.
86104         * lib/findprog-lgpl.c: New file.
86105         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
86106         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
86107         to decide whether to use strdup or xstrdup, concatenated_filename or
86108         xconcatenated_filename.
86110 2008-09-01  Bruno Haible  <bruno@clisp.org>
86112         Split module 'concat-filename' into 'concat-filename' (LGPL) and
86113         'xconcat-filename' (GPL).
86114         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
86115         (License): Change to LGPLv2+.
86116         * modules/xconcat-filename: New file.
86117         * lib/concat-filename.h (concatenated_filename): Change specification.
86118         (xconcatenated_filename): New declaration.
86119         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
86120         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
86121         memory situations.
86122         * lib/xconcat-filename.c: New file.
86123         * NEWS: Mention the change.
86124         * lib/findprog.c: Include concat-filename.h, not filename.h.
86125         (find_in_path): Use xconcatenated_filename instead of
86126         concatenated_filename.
86127         * lib/javacomp.c: Include concat-filename.h, not filename.h.
86128         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
86129         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
86130         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
86131         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
86132         instead of concatenated_filename.
86133         * lib/javaexec.c: Include concat-filename.h, not filename.h.
86134         (execute_java_class): Use xconcatenated_filename instead of
86135         concatenated_filename.
86136         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
86137         * modules/javacomp (Depends-on): Likewise.
86138         * modules/javaexec (Depends-on): Likewise.
86140 2008-09-01  Bruno Haible  <bruno@clisp.org>
86142         Split module 'filename' into 'filename' and 'concat-filename'.
86143         * modules/filename: Keep only lib/filename.h.
86144         (License): Change to LGPLv2+.
86145         * modules/concat-filename: New file, extracted from modules/filename.
86146         * lib/filename.h (concatenated_filename): Remove declaration.
86147         * lib/concat-filename.h: New file, extracted from lib/filename.h.
86148         * lib/concat-filename.c: Include concat-filename.h.
86149         * NEWS: Mention the change.
86151 2008-09-01  Simon Josefsson  <simon@josefsson.org>
86153         * lib/bitrotate.h (rotl8, rotr8): Add.
86155         * modules/bitrotate (configure.ac): Need
86156         AC_REQUIRE([AC_C_INLINE]).
86157         (Description): Mention stdint.h.  Reported by Bruno Haible
86158         <bruno@clisp.org>.
86160         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
86161         Paolo Bonzini <bonzini@gnu.org>.
86163 2008-08-31  Bruno Haible  <bruno@clisp.org>
86165         Assume Solaris specific bi-arch conventions on Solaris systems.
86166         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
86167         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
86168         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
86169         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
86170         like acl_libdirstem.
86171         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
86172         acl_libdirstem.
86173         * NEWS: Mention the change.
86174         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
86176 2008-08-31  Jim Meyering  <meyering@redhat.com>
86178         * lib/strftime.h: Add comments describing the two added arguments.
86180         remove duplicate #include directives
86181         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
86182         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
86184 2008-08-31  Bruno Haible  <bruno@clisp.org>
86186         New module 'sigpipe-die'.
86187         * modules/sigpipe-die: New file.
86188         * lib/sigpipe-die.h: New file.
86189         * lib/sigpipe-die.c: New file.
86190         * MODULES.html.sh (Signal handling): Add sigpipe-die.
86192 2008-08-31  Bruno Haible  <bruno@clisp.org>
86194         Don't override previously installed signal handlers.
86195         * lib/fatal-signal.c (saved_sigactions): New variable.
86196         (uninstall_handlers): Reset the signal to the saved handler, not
86197         to SIG_DFL (except when ignored).
86198         (install_handlers): Save the previous handlers.
86200 2008-08-30  Bruno Haible  <bruno@clisp.org>
86202         * gnulib-tool (func_reset_sigpipe): New function.
86203         (func_get_automake_snippet, func_modules_transitive_closure,
86204         func_import): Invoke it before a join command that reads from stdin,
86205         to avoid "echo: write error: Broken pipe" error messages on stderr.
86206         Reported by Sam Steingold <sds@gnu.org>.
86208 2008-08-30  Bruno Haible  <bruno@clisp.org>
86210         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
86211         Code copied from m4/open.m4.
86212         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
86213         access and the filename ends in a slash. Code copied from lib/open.c.
86214         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
86215         * tests/test-fopen.c (main): Check against bug with trailing slash.
86217 2008-08-29  Bruno Haible  <bruno@clisp.org>
86219         Avoid some "gcc -pedantic" warnings.
86220         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
86221         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
86222         * lib/dirent.in.h: Likewise.
86223         * lib/fcntl.in.h: Likewise.
86224         * lib/float.in.h: Likewise.
86225         * lib/iconv.in.h: Likewise.
86226         * lib/inttypes.in.h: Likewise.
86227         * lib/locale.in.h: Likewise.
86228         * lib/math.in.h: Likewise.
86229         * lib/netinet_in.in.h: Likewise.
86230         * lib/search.in.h: Likewise.
86231         * lib/signal.in.h: Likewise.
86232         * lib/stdarg.in.h: Likewise.
86233         * lib/stdint.in.h: Likewise.
86234         * lib/stdio.in.h: Likewise.
86235         * lib/stdlib.in.h: Likewise.
86236         * lib/string.in.h: Likewise.
86237         * lib/strings.in.h: Likewise.
86238         * lib/sys_select.in.h: Likewise.
86239         * lib/sys_socket.in.h: Likewise.
86240         * lib/sys_stat.in.h: Likewise.
86241         * lib/sys_time.in.h: Likewise.
86242         * lib/sysexits.in.h: Likewise.
86243         * lib/time.in.h: Likewise.
86244         * lib/unistd.in.h: Likewise.
86245         * lib/wchar.in.h: Likewise.
86246         * lib/wctype.in.h: Likewise.
86247         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
86248         * modules/fchdir (Makefile.am): Likewise.
86249         * modules/fcntl (Makefile.am): Likewise.
86250         * modules/float (Makefile.am): Likewise.
86251         * modules/iconv_open (Makefile.am): Likewise.
86252         * modules/inttypes (Makefile.am): Likewise.
86253         * modules/locale (Makefile.am): Likewise.
86254         * modules/math (Makefile.am): Likewise.
86255         * modules/netinet_in (Makefile.am): Likewise.
86256         * modules/search (Makefile.am): Likewise.
86257         * modules/signal (Makefile.am): Likewise.
86258         * modules/stdarg (Makefile.am): Likewise.
86259         * modules/stdint (Makefile.am): Likewise.
86260         * modules/stdio (Makefile.am): Likewise.
86261         * modules/stdlib (Makefile.am): Likewise.
86262         * modules/string (Makefile.am): Likewise.
86263         * modules/strings (Makefile.am): Likewise.
86264         * modules/sys_select (Makefile.am): Likewise.
86265         * modules/sys_socket (Makefile.am): Likewise.
86266         * modules/sys_stat (Makefile.am): Likewise.
86267         * modules/sys_time (Makefile.am): Likewise.
86268         * modules/sysexits (Makefile.am): Likewise.
86269         * modules/time (Makefile.am): Likewise.
86270         * modules/unistd (Makefile.am): Likewise.
86271         * modules/wchar (Makefile.am): Likewise.
86272         * modules/wctype (Makefile.am): Likewise.
86273         Reported by Reuben Thomas <rrt@sc3d.org>.
86275 2008-08-29  Bruno Haible  <bruno@clisp.org>
86277         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
86278         any more.
86280 2008-08-29  Simon Josefsson  <simon@josefsson.org>
86282         * MODULES.html.sh (Misc): Add bitrotate.
86284         * modules/bitrotate: New file.
86286         * lib/bitrotate.h: New file.
86288         * modules/bitrotate-tests: New file.
86290         * tests/test-bitrotate.c: New file.
86292         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
86293         on the bitrotate module.
86295         * lib/arctwo.c: Use new bitrotate module.
86297 2008-08-29  Jim Meyering  <meyering@redhat.com>
86299         bootstrap: merge changes from coreutils
86300         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
86301         of copied files.  Remove a kludge, now that this is fixed.
86302         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
86303         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
86304         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
86306 2008-08-29  Bruno Haible  <bruno@clisp.org>
86308         * MODULES.html.sh: Remove --cvs-urls option.
86310 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
86312         maint.mk: adjust to file name change
86313         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
86315 2008-08-28  Jim Meyering  <meyering@redhat.com>
86317         * modules/getndelim2 (License): Relicense to LGPLv2+.
86318         Approved by Richard Stallman for the version of 1995, and by
86319         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
86321 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
86323         * lib/getdelim.c (flockfile, funlockfile): Make all of them
86324         dummy if one is not available.  Do not touch them if
86325         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
86326         (getc_maybe_unlocked): New.
86327         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
86329 2008-08-26  Eric Blake  <ebb9@byu.net>
86331         doc/INSTALL: resync from autoconf
86332         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
86333         (INSTALL_PRELUDE): Delete; this is done more efficiently by
86334         moving...
86335         * install.texi [!autoconf]: ...here.  Resync from autoconf.
86336         * INSTALL: Regenerate.
86337         * INSTALL.ISO: New file.
86338         * INSTALL.UTF-8: Likewise.
86340 2008-08-26  Jim Meyering  <meyering@redhat.com>
86342         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
86343         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
86344         these definitions conditional, so that they may be overridden, too.
86346 2008-08-26  Bruno Haible  <bruno@clisp.org>
86348         Generate INSTALL file variants with prettier quotes.
86349         * doc/Makefile (INSTALL_PRELUDE): New macro.
86350         (INSTALL): Use it.
86351         (INSTALL.ISO, INSTALL.UTF-8): New rules.
86353 2008-08-26  Bruno Haible  <bruno@clisp.org>
86355         Run makeinfo in an English locale.
86356         * doc/Makefile (MAKEINFO): New variable.
86358 2008-08-26  Bruno Haible  <bruno@clisp.org>
86360         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
86361         Suggested by Eric Blake.
86363 2008-08-25  Bruno Haible  <bruno@clisp.org>
86365         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
86367 2008-08-25  Eric Blake  <ebb9@byu.net>
86369         c-stack: test that stack overflow can be caught
86370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
86371         that platform allows handling stack overflow; at least OS/2 EMX
86372         has sigaltstack, but crashes before transferring control to
86373         handler on stack overflow.
86374         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
86375         check for HAVE_STACK_OVERFLOW_HANDLING.
86376         Reported by Elbert Pol.
86378 2008-08-25  Bruno Haible  <bruno@clisp.org>
86380         * doc/posix-functions/strftime.texi: Fix description of strftime
86381         module.
86383 2008-08-24  Bruno Haible  <bruno@clisp.org>
86385         * tests/uniwidth/test-uc_width2.c: New file.
86386         * tests/uniwidth/test-uc_width2.sh: New file.
86387         * modules/uniwidth/width-tests (Files): Add the new files.
86388         (TESTS): Add uniwidth/test-uc_width2.sh.
86389         (TESTS_ENVIRONMENT): New variable.
86390         (check_PROGRAMS): Add test-uc_width2.
86391         (test_uc_width2_SOURCES): New variable.
86393         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
86394         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
86395         not 0x00AB.
86396         Reported by Alexander V. Lukyanov <lav@netis.ru>.
86398 2008-08-22  Eric Blake  <ebb9@byu.net>
86400         test-lock, test-tls: mention why a test is skipped
86401         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
86402         skipped.
86403         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
86405         count-one-bits: relax license
86406         * modules/count-one-bits (License): Relicense to LGPLv2+.
86407         Suggested by Ludovic Courtès, approved by Ben Pfaff.
86409 2008-08-22  Andreas Schwab  <schwab@suse.de>
86411         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
86412         Remove spurious space in assignment.
86414 2008-08-21  Simon Josefsson  <simon@josefsson.org>
86416         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
86417         Paul Eggert <eggert@CS.UCLA.EDU>.
86419 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
86421         * modules/gettext: Add m4/threadlib.m4.
86423 2008-08-19  Eric Blake  <ebb9@byu.net>
86425         test-c-stack: fix compilation failure on FreeBSD 5.0
86426         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
86427         headers before <sys/resource.h>.
86428         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
86429         the bug.
86430         Reported by Nelson H. F. Beebe.
86432         strverscmp: migrate from "strverscmp.h" to <string.h>
86433         * modules/string (Makefile.am): Add new hooks.
86434         * modules/strverscmp (Files): Remove strverscmp.h.
86435         (Depends-on): Add string.
86436         (configure.ac): Add indicator.
86437         (Include): Mention new header.
86438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
86439         defaults.
86440         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
86441         results.
86442         * lib/strverscmp.h: Delete.
86443         * lib/string.in.h (strverscmp): Provide declaration, when needed.
86444         * tests/test-strverscmp.c (includes): Adjust client.
86445         * lib/check-version.c (includes): Likewise.
86446         * NEWS: Document the change.
86448         strverscmp: add unit test
86449         * modules/strverscmp-tests: New file.
86450         * tests/test-strverscmp.c: Likewise.
86452 2008-08-19  Simon Josefsson  <simon@josefsson.org>
86454         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
86455         regarding Windows crypto stuff, from Mono.
86457 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
86459         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
86460         if present, for intel RND.  Return error on failures.
86462 2008-08-18  Ben Pfaff  <blp@gnu.org>
86464         gitlog-to-changelog: give better diagnostic for failed pipe-open
86465         * build-aux/gitlog-to-changelog: Improve error message: suggest
86466         that the version of Git may be too old.
86468 2008-08-18  Simon Josefsson  <simon@josefsson.org>
86470         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
86471         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
86473 2008-08-18  Bruno Haible  <bruno@clisp.org>
86475         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
86476         pthread_in_use().
86478 2008-08-18  Bruno Haible  <bruno@clisp.org>
86480         * lib/glthread/threadlib.c: Include <pthread.h>.
86482 2008-08-18  Bruno Haible  <bruno@clisp.org>
86484         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
86485         glthread_recursive_lock_* macros.
86486         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
86487         Fix syntax error.
86489 2008-08-18  Bruno Haible  <bruno@clisp.org>
86491         * lib/glthread/thread.c: Avoid forcing a context switch right after
86492         thread creation.
86494 2008-08-17  Bruno Haible  <bruno@clisp.org>
86496         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
86497         * lib/glthread/thread.h: Provide Win32 specific implementation.
86498         * modules/thread (Files): Add lib/glthread/thread.c.
86499         (Depends-on): Add lock.
86500         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
86502 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86504         New module 'yield'.
86505         * modules/yield: New file.
86506         * lib/glthread/yield.h: New file.
86507         * m4/yield.m4: New file.
86508         * MODULES.html.sh (Multithreading): Add yield.
86510 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86512         New module 'thread'.
86513         * modules/thread: New file.
86514         * lib/glthread/thread.h: New file.
86515         * m4/thread.m4: New file.
86516         * MODULES.html.sh (Multithreading): Add thread.
86518 2008-08-17  Bruno Haible  <bruno@clisp.org>
86520         * lib/glthread/lock.h: Include <stdlib.h> always.
86521         * lib/glthread/tls.h: Likewise.
86522         * lib/glthread/cond.h: Likewise.
86524 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86526         New module 'cond'.
86527         * modules/cond: New file.
86528         * lib/glthread/cond.h: New file.
86529         * lib/glthread/cond.c: New file.
86530         * m4/cond.m4: New file.
86531         * MODULES.html.sh (Multithreading): Add cond.
86533 2008-08-16  Eric Blake  <ebb9@byu.net>
86535         c-stack: fix regression on Irix 5.3 from 2008-06-21
86536         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
86537         sa_sigaction...
86538         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
86539         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
86540         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
86541         * modules/signal (Makefile.am): Use the value.
86542         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
86543         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
86544         * doc/posix-headers/signal.texi (signal.h): Document this
86545         portability issue.
86546         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
86547         Reported by Tom G. Christensen.
86549 2008-08-17  Bruno Haible  <bruno@clisp.org>
86551         New module 'threadlib'.
86552         * modules/threadlib: New file.
86553         * lib/glthread/threadlib.c: New file, extracted from
86554         lib/glthread/lock.c.
86555         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
86556         functions.
86557         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
86558         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
86559         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
86560         macros.
86561         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
86562         (gl_DISABLE_THREADS): Remove macro.
86563         * modules/lock (Files): Remove build-aux/config.rpath.
86564         (Depends-on): Remove havelib. Add threadlib.
86565         (configure.ac-early): Remove section.
86566         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
86567         * modules/tls (Depends-on): Remove lock. Add threadlib.
86568         (Link): New section, copied from threadlib.
86569         * MODULES.html.sh (Multithreading): Add threadlib.
86571 2008-08-14  Bruno Haible  <bruno@clisp.org>
86573         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
86574         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
86575         glthread_rwlock_unlock, glthread_rwlock_destroy,
86576         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
86577         glthread_recursive_lock_destroy): Define as macros always.
86578         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
86579         glthread_lock_lock.
86580         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
86581         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
86582         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
86583         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
86584         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
86585         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
86586         (glthread_recursive_lock_lock_func): Renamed from
86587         glthread_recursive_lock_lock.
86588         (glthread_recursive_lock_unlock_func): Renamed from
86589         glthread_recursive_lock_unlock.
86590         (glthread_recursive_lock_destroy_func): Renamed from
86591         glthread_recursive_lock_destroy.
86593 2008-08-14  Bruno Haible  <bruno@clisp.org>
86595         * lib/glthread/lock.h: Renamed from lib/lock.h.
86596         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
86597         * lib/glthread/tls.h: Renamed from lib/tls.h.
86598         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
86599         * lib/fstrcmp.c: Update includes.
86600         * lib/strsignal.c: Update includes.
86601         * modules/lock (Files, Makefile.am): Update.
86602         (Include): Change to "glthread/lock.h".
86603         * modules/tls (Files, Makefile.am): Update.
86604         (Include): Change to "glthread/tls.h".
86605         * tests/test-lock.c: Update includes.
86606         * tests/test-tls.c: Update includes.
86607         * NEWS: Mention the renamed header files.
86609 2008-08-11  Jim Meyering  <meyering@redhat.com>
86611         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
86613 2008-08-11  Eric Blake  <ebb9@byu.net>
86615         test-c-stack: avoid C99-ism
86616         * tests/test-c-stack.c (main): Fix whitespace, move declaration
86617         before statement.
86618         Reported by Alain Guibert.
86620 2008-08-10  Jim Meyering  <meyering@redhat.com>
86622         ensure that return value of uinttostr et al are not ignored
86623         * lib/inttostr.h (__GNUC_PREREQ): Define.
86624         (__attribute_warn_unused_result__): Define.
86625         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
86627 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
86629         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
86630         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
86632 2008-08-07  Jim Meyering  <meyering@redhat.com>
86634         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
86636         * modules/mkstemp (License): Relicense under LGPLv2+.
86637         * modules/tempname (License): Likewise.
86639 2008-08-06  Bruno Haible  <bruno@clisp.org>
86641         * lib/poll.c (poll): Further micro-optimization.
86643 2008-08-06  Jim Meyering  <meyering@redhat.com>
86645         inet_pton.c: use locale-independent tolower
86646         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
86647         (inet_pton6): Use c_tolower rather than tolower.
86648         * modules/inet_pton (Depends-on): Add c-ctype.
86650 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
86652         * lib/poll.c (poll): Avoid division when timeout is 0, cache
86653         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
86655 2008-08-06  Jim Meyering  <meyering@redhat.com>
86657         * modules/inet_pton (License): Relicense under LGPLv2+.
86659 2008-08-03  Bruno Haible  <bruno@clisp.org>
86661         Additional non-aborting API for lock and tls.
86662         * lib/lock.h: Include <errno.h>.
86663         (glthread_lock_init): New macro/function.
86664         (gl_lock_init): Define as wrapper around glthread_lock_init.
86665         (glthread_lock_lock): New macro/function.
86666         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
86667         (glthread_lock_unlock): New macro/function.
86668         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
86669         (glthread_lock_destroy): New macro/function.
86670         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
86671         (glthread_rwlock_init): New macro/function.
86672         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
86673         (glthread_rwlock_rdlock): New macro/function.
86674         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
86675         (glthread_rwlock_wrlock): New macro/function.
86676         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
86677         (glthread_rwlock_unlock): New macro/function.
86678         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
86679         (glthread_rwlock_destroy): New macro/function.
86680         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
86681         (glthread_recursive_lock_init): New macro/function.
86682         (gl_recursive_lock_init): Define as wrapper around
86683         glthread_recursive_lock_init.
86684         (glthread_recursive_lock_lock): New macro/function.
86685         (gl_recursive_lock_lock): Define as wrapper around
86686         glthread_recursive_lock_lock.
86687         (glthread_recursive_lock_unlock): New macro/function.
86688         (gl_recursive_lock_unlock): Define as wrapper around
86689         glthread_recursive_lock_unlock.
86690         (glthread_recursive_lock_destroy): New macro/function.
86691         (gl_recursive_lock_destroy): Define as wrapper around
86692         glthread_recursive_lock_destroy.
86693         (glthread_once): New macro/function.
86694         (gl_once): Define as wrapper around glthread_once.
86695         Update function declarations.
86696         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
86697         glthread_rwlock_init. Return error code.
86698         (glthread_rwlock_rdlock_multithreaded): Renamed from
86699         glthread_rwlock_rdlock. Return error code.
86700         (glthread_rwlock_wrlock_multithreaded): Renamed from
86701         glthread_rwlock_wrlock. Return error code.
86702         (glthread_rwlock_unlock_multithreaded): Renamed from
86703         glthread_rwlock_unlock. Return error code.
86704         (glthread_rwlock_destroy_multithreaded): Renamed from
86705         glthread_rwlock_destroy. Return error code.
86706         (glthread_recursive_lock_init_multithreaded): Renamed from
86707         glthread_recursive_lock_init. Return error code.
86708         (glthread_recursive_lock_lock_multithreaded): Renamed from
86709         glthread_recursive_lock_lock. Return error code.
86710         (glthread_recursive_lock_unlock_multithreaded): Renamed from
86711         glthread_recursive_lock_unlock. Return error code.
86712         (glthread_recursive_lock_destroy_multithreaded): Renamed from
86713         glthread_recursive_lock_destroy. Return error code.
86714         (glthread_once_call): Make static.
86715         (glthread_once_multithreaded): Renamed from glthread_once.
86716         * lib/tls.h: Include <errno.h>.
86717         (glthread_tls_key_init): New macro/function.
86718         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
86719         (glthread_tls_set): New macro/function.
86720         (gl_tls_set): Define as wrapper around glthread_tls_set.
86721         (glthread_tls_key_destroy): New macro/function.
86722         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
86723         Update function declarations.
86724         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
86725         glthread_tls_get.
86726         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
86728 2008-08-04  Eric Blake  <ebb9@byu.net>
86730         gnumakefile: use space, not TAB, outside of targets
86731         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
86733 2008-08-02  Jim Meyering  <meyering@redhat.com>
86735         getdate.y: avoid locale-dependent date parsing failure
86736         In Turkish locales, getdate would fail to recognize keywords
86737         containing a lowercase "i".  The solution is not to rely on
86738         locale-sensitive case-conversion.
86739         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
86740         (lookup_word): Use c_toupper in place of toupper.
86741         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
86742         Reported by Vefa Bicakci <bicave@superonline.com> in
86743         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
86744         * modules/getdate (Depends-on): Add c-ctype.
86746 2008-08-02  Bruno Haible  <bruno@clisp.org>
86748         * gnulib-tool (func_import): When updating or creating a .gitignore
86749         file, prepend each added line with a slash, and ignore leading slashes
86750         from the existing lines.
86751         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
86753 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86755         Portability fix for GNU make 3.79.1.
86756         * top/GNUmakefile: Avoid 'else COND', which older GNU make
86757         versions do not understand.
86759 2008-08-01  Bruno Haible  <bruno@clisp.org>
86761         Work around bug of HP-UX 10.20 cc with -0.0 literal.
86762         * tests/test-isnanf.h (zero): New variable.
86763         (main): Avoid literal -0.0f.
86764         * tests/test-isnand.h (zero): New variable.
86765         (main): Avoid literal -0.0.
86766         * tests/test-isnanl.h (zero): New variable.
86767         (main): Avoid literal -0.0L.
86768         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
86769         (test_float, test_double, test_long_double): Avoid literals -0.0f,
86770         -0.0, -0.0L.
86771         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
86772         (test_signbitd): Avoid literal -0.0.
86773         (test_signbitl): Avoid literal -0.0L.
86774         * tests/test-ceilf1.c (zero): New variable.
86775         (main): Avoid literal -0.0f.
86776         * tests/test-ceill.c (zero): New variable.
86777         (main): Avoid literal -0.0L.
86778         * tests/test-floorf1.c (zero): New variable.
86779         (main): Avoid literal -0.0f.
86780         * tests/test-floorl.c (zero): New variable.
86781         (main): Avoid literal -0.0L.
86782         * tests/test-roundf1.c (zero): New variable.
86783         (main): Avoid literal -0.0f.
86784         * tests/test-round1.c (zero): New variable.
86785         (main): Avoid literal -0.0.
86786         * tests/test-roundl.c (zero): New variable.
86787         (main): Avoid literal -0.0L.
86788         * tests/test-truncf1.c (zero): New variable.
86789         (main): Avoid literal -0.0f.
86790         * tests/test-trunc1.c (zero): New variable.
86791         (main): Avoid literal -0.0.
86792         * tests/test-truncl.c (zero): New variable.
86793         (main): Avoid literal -0.0L.
86794         * tests/test-frexp.c (zero): New variable.
86795         (main): Avoid literal -0.0.
86796         * tests/test-frexpl.c (zero): New variable.
86797         (main): Avoid literal -0.0L.
86798         * tests/test-ldexpl.c (zero): New variable.
86799         (main): Avoid literal -0.0L.
86800         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
86801         (zerod, zerol): New variables.
86802         (test_function): Avoid literals -0.0, -0.0L.
86803         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
86804         (zerod, zerol): New variables.
86805         (test_function): Avoid literals -0.0, -0.0L.
86806         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
86807         (zerod, zerol): New variables.
86808         (test_function): Avoid literals -0.0, -0.0L.
86809         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
86810         (zerod, zerol): New variables.
86811         (test_function): Avoid literals -0.0, -0.0L.
86812         * tests/test-strtod.c (zero): New variable.
86813         (main): Avoid literal -0.0.
86814         Reported by Jonathan C. Patschke <jp@centtech.com>.
86816 2008-07-31  Jim Meyering  <meyering@redhat.com>
86818         sha256.h: correct definition of SHA224_DIGEST_SIZE
86819         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
86820         Reported by Paulie Pena IV <paulie4@gmail.com>.
86821         Define as 224 / 8, rather than as a literal.
86822         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
86823         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
86824         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
86826 2008-07-31  Bruno Haible  <bruno@clisp.org>
86828         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
86829         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
86830         Reported by Jonathan Patschke <jp@centtech.com>.
86832 2008-07-31  Bruno Haible  <bruno@clisp.org>
86834         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
86835         Reported by Paolo Bonzini <bonzini@gnu.org>.
86837 2008-07-30  Eric Blake  <ebb9@byu.net>
86839         test-strtod: allow compilation without -lm
86840         * tests/test-strtod.c (main): Avoid link dependence on fabs.
86841         Reported by Dennis Clarke <blastwave@gmail.com>.
86843 2008-07-28  Jim Meyering  <meyering@redhat.com>
86845         bootstrap: work also when there are no .po files in po/
86846         * build-aux/bootstrap (update_po_files): Complete the change
86847         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
86849 2008-07-27  Jim Meyering  <meyering@redhat.com>
86851         * users.txt: Add zile.
86853 2008-07-26  Ben Pfaff  <blp@gnu.org>
86855         Add missing dependencies on new m4/exponent[fdl].m4 files.
86856         * modules/isnanf-nolibm: Add m4/exponentf.m4.
86857         * modules/isnand-nolibm: Add m4/exponentd.m4.
86858         * modules/isnanl-nolibm: Add m4/exponentl.m4.
86859         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
86860         m4/isnan[fdl].m4, because the macros actually used moved.
86861         Reported by Jim Meyering.
86863 2008-07-14  Ben Pfaff  <blp@gnu.org>
86865         Add isinf module.
86866         * lib/isinf.c: New file.
86867         * lib/math.in.h: Define isinf macro if we have decided to replace
86868         it.
86869         * m4/isinf.m4: New file.
86870         * m4/math_h.m4: Initialize and substitute variables for isinf
86871         module.
86872         * modules/isinf: New file.
86873         * modules/isinf-tests: New file.
86874         * modules/math: Add substitutions for new module.
86875         * tests/test-isinf.c: New file.
86876         * doc/posix-functions/isinf.texi: Mention new module.
86877         * MODULES.html.sh: Mention new module.
86879 2008-07-14  Ben Pfaff  <blp@gnu.org>
86881         Factor out some macros for use by additional modules.
86882         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
86883         exponentf.m4.
86884         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
86885         exponentd.m4.
86886         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
86887         file exponentl.m4.
86888         * m4/exponentf.m4: New file.
86889         * m4/exponentd.m4: New file.
86890         * m4/exponentl.m4: New file.
86891         * modules/isnanf: Use new file m4/exponentf.m4.
86892         * modules/isnand: Use new file m4/exponentd.m4.
86893         * modules/isnanl: Use new file m4/exponentl.m4.
86895 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
86897         mktime.c: normalize tp->tm_isdst value to -1/0/1.
86898         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
86899         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
86900         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
86902         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
86903         readlink on platforms without PATH_MAX.
86905 2008-07-21  Eric Blake  <ebb9@byu.net>
86907         Warn, not fail, on stale version.
86908         * top/GNUmakefile (_curr-ver): Tone down previous patch.
86910         Don't allow installation with stale devel version number.
86911         * top/GNUmakefile (_is-install-target): New macro.
86912         (_curr-ver): Forbid installation with stale version number.
86914 2008-07-20  Bruno Haible  <bruno@clisp.org>
86916         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
86917         TESTS_ENVIRONMENT.
86918         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
86920 2008-07-20  Bruno Haible  <bruno@clisp.org>
86922         * lib/c-stack.h (c_stack_action): Add documentation.
86923         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
86925 2008-07-20  Bruno Haible  <bruno@clisp.org>
86927         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
86928         * modules/readlink (License): Likewise.
86930 2008-07-17  Eric Blake  <ebb9@byu.net>
86932         * modules/c-stack (Link): Fix typo.
86934         Make c-stack use libsigsegv, when available.
86935         * modules/c-stack (Depends-on): Add libsigsegv.
86936         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
86937         needed.
86938         * lib/c-stack.c (SIGSTKSZ): Define fallback.
86939         (segv_handler, overflow_handler, c_stack_action)
86940         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
86941         implementation when libsigsegv is available, but only when using
86942         the library is necessary.
86943         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
86944         comment, explaining why XSI check fails on Linux.
86945         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
86946         * tests/test-c-stack2.sh: Tweak skip message.
86947         * NEWS: Document new link-time requirements.
86949 2008-07-16  Eric Blake  <ebb9@byu.net>
86951         c-stack: Expose false positives when not using libsigsegv.
86952         * modules/c-stack-tests (Files): Expand test.
86953         * tests/test-c-stack.c (main): Add means to conditionally trigger
86954         non-overflow SIGSEGV.
86955         * tests/test-c-stack2.sh: New file.
86957 2008-07-14  Bruno Haible  <bruno@clisp.org>
86959         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
86960         Reported by Eric Blake.
86962 2008-07-14  Sam Steingold  <sds@gnu.org>
86963             Bruno Haible  <bruno@clisp.org>
86965         New module libsigsegv.
86966         * modules/libsigsegv: New file.
86967         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
86968         modifications.
86969         * MODULES.html.sh (Signal handling): New section.
86971 2008-07-14  Bruno Haible  <bruno@clisp.org>
86973         * modules/unictype/ctype-* (Description): Add the word "function".
86974         Improves the resulting doc in MODULES.html.
86976 2008-07-12  Ben Pfaff  <blp@gnu.org>
86978         Add longlong module.
86979         * modules/longlong: New file.
86981 2008-07-12  Bruno Haible  <bruno@clisp.org>
86983         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
86984         to empty.
86986 2008-07-10  Ben Pfaff  <blp@gnu.org>
86988         Add isnan module.
86989         * doc/posix-functions/isnan.texi: Mention new module.
86990         * lib/math.in.h: Define isnan macro if we have decided to replace
86991         it.
86992         * m4/isnan.m4: New file.
86993         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
86994         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
86995         also.
86996         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
86997         redundancy.
86998         * m4/math_h.m4: Initialize and substitute variables for isnan
86999         module.
87000         * modules/isnan: New file.
87001         * modules/isnan-tests: New file.
87002         * modules/math: Add substitutions for new module.
87003         * tests/test-isnan.c: New file.
87004         * MODULES.html.sh: Mention new module.
87006 2008-07-10  Ben Pfaff  <blp@gnu.org>
87008         Add isnanf module.
87009         * lib/isnanf.m4: New file.
87010         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
87011         (gl_HAVE_ISNANF_IN_LIBM): New macro.
87012         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
87013         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
87014         * modules/isnanf: New file.
87015         * modules/isnanf-tests: New file.
87016         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
87017         files.
87018         * tests/test-isnanf-nolibm.c: factored most of its contents into
87019         new file tests/test-isnanf.h.
87020         * tests/test-isnanf.h: New file.
87021         * tests/test-isnanf.c: New file.
87022         * MODULES.html.sh: Mention new module.
87023         * doc/glibc-functions/isnanf.texi: Mention new module.
87025 2008-07-10  Ben Pfaff  <blp@gnu.org>
87027         Add isnand module.
87028         * lib/isnand.h: New file.
87029         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
87030         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
87031         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
87032         functionality also.
87033         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
87034         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
87035         (gl_HAVE_ISNAND_IN_LIBM): New macro.
87036         * modules/isnand: New file.
87037         * modules/isnand-tests: New file.
87038         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
87039         files.
87040         * tests/test-isnand-nolibm.c: factored most of its contents into
87041         new file tests/test-isnand.h.
87042         * tests/test-isnand.h: New file.
87043         * tests/test-isnand.c: New file.
87044         * MODULES.html.sh: Mention new module.
87046 2008-07-10  Ben Pfaff  <blp@gnu.org>
87048         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
87049         * lib/isnand.h: Rename lib/isnand-nolibm.h.
87050         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
87051         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
87052         * modules/isnanf-nolibm: Update references to renamed files.
87053         * modules/isnand-nolibm: Likewise.
87054         * modules/isnanf-nolibm-tests: Likewise.
87055         * modules/isnand-nolibm-tests: Likewise.
87056         * lib/frexp.c: Likewise.
87057         * lib/isfinite.c: Likewise.
87058         * lib/signbitd.c: Likewise.
87059         * lib/signbitf.c: Likewise.
87060         * lib/vasnprintf.c: Likewise.
87061         * tests/test-ceilf1.c: Likewise.
87062         * tests/test-ceilf2.c: Likewise.
87063         * tests/test-floorf1.c: Likewise.
87064         * tests/test-floorf2.c: Likewise.
87065         * tests/test-frexp.c: Likewise.
87066         * tests/test-round1.c: Likewise.
87067         * tests/test-round2.c: Likewise.
87068         * tests/test-roundf1.c: Likewise.
87069         * tests/test-strtod.c: Likewise.
87070         * tests/test-trunc1.c: Likewise.
87071         * tests/test-trunc2.c: Likewise.
87072         * tests/test-truncf1.c: Likewise.
87073         * tests/test-truncf2.c: Likewise.
87074         * NEWS: Mention the renamed header files.
87076 2008-07-11  Jim Meyering  <meyering@redhat.com>
87078         vc-list-files: make the last-resort awk code more portable
87079         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
87080         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
87081         does not support it.
87083 2008-07-10  Eric Blake  <ebb9@byu.net>
87085         Work with tar's bootstrap.
87086         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
87087         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
87088         an m4 comment.
87090 2008-07-09  Jim Meyering  <meyering@redhat.com>
87092         posix-shell.m4: fix typo that made this test malfunction
87093         * m4/posix-shell.m4: Remove capitalization in variable name.
87095 2008-07-08  Bruno Haible  <bruno@clisp.org>
87097         * m4/onceonly.m4: Update comments.
87098         Reported by Ben Pfaff <blp@cs.stanford.edu>.
87100 2008-07-04  Jim Meyering  <meyering@redhat.com>
87102         * users.txt: Add vc-dwim.
87103         (bison, coreutils): Use the gitweb URL.
87105 2008-07-03  Jim Meyering  <meyering@redhat.com>
87107         * users.txt: Add libffcall.  From Sam Steingold.
87109 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
87111         getdate.y: do not ignore TZ with relative day, month or year offset
87112         * lib/getdate.y (get_date): Move the tz-handling block to follow the
87113         relative-date-handling, since otherwise, the latter would clobber the
87114         sole output (an updated Start value) of the tz-handling block.
87115         * tests/test-getdate.c: Tests for the fix
87117 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87119         Recognize 'foo_LIBRARIES += libgnu.a'.
87120         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
87121         makefile snippet has already specified an installation location,
87122         also using '+='.
87124 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
87126         getdate.y: factor out common actions
87127         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
87128         Use them in place of open-coded actions.
87130 2008-07-01  Simon Josefsson  <simon@josefsson.org>
87132         Add self-test for getdate module.
87133         * modules/getdate-tests: New file.
87134         * tests/test-getdate.c: New file.
87136 2008-06-29  Bruno Haible  <bruno@clisp.org>
87138         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
87139         .gitignore.
87140         Reported by Sylvain Beucler <beuc@beuc.net>.
87142 2008-06-29  Bruno Haible  <bruno@clisp.org>
87144         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
87145         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
87147 2008-06-29  Bruno Haible  <bruno@clisp.org>
87149         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
87150         EXTRA_DIST.
87151         Reported by Sylvain Beucler <beuc@beuc.net>.
87153 2008-06-26  Jim Meyering  <meyering@redhat.com>
87155         make several modules depend on the "open" module
87156         This provides slightly increased consistency when opening-for-write
87157         the name of a non-directory spelled with a trailing slash.
87158         * modules/chdir-safer: Likewise.
87159         * modules/chown: Likewise.
87160         * modules/clean-temp: Likewise.
87161         * modules/copy-file: Likewise.
87162         * modules/fchdir: Likewise.
87163         * modules/fcntl-safer: Likewise.
87164         * modules/pipe: Likewise.
87165         * modules/utime: Likewise.
87166         Prompted by Eric Blake and Bruno Haible.
87168 2008-06-24  Andreas Schwab  <schwab@suse.de>
87170         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
87171         literals can be used as initializers for global variables.
87173 2008-06-23  Eric Blake  <ebb9@byu.net>
87175         Make gnulib-cache.m4 easier to diff.
87176         * gnulib-tool (func_import): Allow newlines when reading cached
87177         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
87179 2008-06-23  Bruno Haible  <bruno@clisp.org>
87181         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
87182         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
87183         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
87184         m4/signalblocking.m4.
87185         (gl_PREREQ_SIGACTION): Don't invoke it.
87186         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
87187         gl_PREREQ_SIG_HANDLER_H.
87188         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
87189         Don't check for sigaction here.
87191 2008-06-23  Bruno Haible  <bruno@clisp.org>
87193         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
87194         (install_handlers): Don't set the SA_RESETHAND flag.
87196 2008-06-23  Bruno Haible  <bruno@clisp.org>
87198         * m4/sigaction.m4: Comment fixes.
87199         * lib/signal.in.h: Likewise.
87201 2008-06-23  Eric Blake  <ebb9@byu.net>
87203         Fix typo.
87204         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
87206         Avoid SA_ namespace.
87207         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
87208         Reported by Ralf Wildenhues.
87210         Avoid test failure due to SA_RESTORER.
87211         * tests/test-sigaction.c (SA_MASK): New macro.
87212         (main): Avoid failing due to extension flags being set.
87213         Reported by Jim Meyering.
87215         Revert use of sig-handler.h in sigprocmask.c.
87216         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
87217         it requires the existence of struct sigaction.
87218         * lib/sigprocmask.c (handler_t): Restore typedef.
87219         (rpl_signal, old_handlers): Use local type.
87221 2008-06-22  Bruno Haible  <bruno@clisp.org>
87223         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
87224         conditionally.
87225         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87227 2008-06-22  Bruno Haible  <bruno@clisp.org>
87229         * doc/posix-functions/siginterrupt.texi: Move note.
87231         * lib/signal.in.h (SA_RESTART): New macro.
87232         * lib/sigaction.c: Update comment.
87234         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
87236         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
87237         (gl_PREREQ_SIGPROCMASK): Invoke it.
87238         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
87240         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
87242         * lib/sigprocmask.c: Update a comment.
87244 2008-06-21  Eric Blake  <ebb9@byu.net>
87246         Use sigaction module rather than signal().
87247         * modules/c-stack (Depends-on): Add sigaction.
87248         * modules/fatal-signal (Depends-on): Likewise.
87249         * modules/nanosleep (Depends-on): Likewise.
87250         * modules/sigprocmask (Files): Add sig-handler.h.
87251         * modules/sigaction (Files): Likewise.
87252         * lib/sig-handler.h (get_handler): New file, suggested by Paul
87253         Eggert.
87254         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
87255         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
87256         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
87257         (init_fatal_signals): Likewise.
87258         * lib/nanosleep.c (rpl_nanosleep): Likewise.
87259         (siginterrupt): Delete fallback.
87260         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
87261         instead.
87262         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
87263         siginterrupt.
87265         New module sigaction, for mingw.
87266         * modules/sigaction: New module...
87267         * modules/sigaction-tests: ...and its test.
87268         * m4/sigaction.m4: New file.
87269         * lib/sigaction.c: Likewise.
87270         * tests/test-sigaction.c: Likewise.
87271         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
87272         * modules/signal (Makefile.am): Likewise.
87273         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
87274         needed.
87275         * doc/posix-headers/signal.texi (signal.h): Mention provided
87276         types.
87277         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
87278         that sigaction is preferable.
87279         * doc/posix-functions/sigaction.texi (sigaction): Mention new
87280         module.
87281         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87282         sigaction.
87284         Improve robustness of sigprocmask by overriding signal.
87285         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
87286         is in use.
87287         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
87288         (SIGKILL, SIGSTOP): Provide fallbacks.
87289         (rpl_signal): Implement.
87290         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
87291         signal can be called inside handlers.
87293         Fix nanosleep module on mingw.
87294         * modules/nanosleep (Depends-on): Add sys_select.
87295         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
87297         Fix licensing of sigprocmask.
87298         * modules/raise (License): Relicense as LGPL.
87300 2008-06-21  Bruno Haible  <bruno@clisp.org>
87302         * lib/propername.c (proper_name_utf8): Don't use the transliterated
87303         result if it contains question marks.
87304         Reported by Michael Geng <linux@michaelgeng.de>.
87306 2008-06-19  Bruno Haible  <bruno@clisp.org>
87308         Fix CVS-ism.
87309         * doc/gnulib.texi: Include updated-stamp.texi.
87310         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
87311         (updated-stamp.texi): New rule.
87312         (gnulib.info): Depend on it.
87313         * doc/.gitignore: Add updated-stamp.texi.
87314         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
87316 2008-06-19  Bruno Haible  <bruno@clisp.org>
87318         * doc/Makefile (gnulib.info): Update and simplify dependencies.
87319         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
87321 2008-06-19  Eric Blake  <ebb9@byu.net>
87323         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
87324         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
87325         Reported by Stepan Kasal.
87327 2008-06-18  Bruno Haible  <bruno@clisp.org>
87329         * lib/fatal-signal.c (init_fatal_signals): Add comment.
87330         Reported by Eric Blake.
87332 2008-06-18  Eric Blake  <ebb9@byu.net>
87334         Work around cygwin 1.5.25 strsignal bug.
87335         * tests/test-strsignal.c: Allow for const char *.
87336         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
87338 2008-06-18  Simon Josefsson  <simon@josefsson.org>
87340         * users.txt: Update URL to article and add author/date
87341         information.
87343 2008-06-17  Bruno Haible  <bruno@clisp.org>
87345         New macro gl_DISABLE_THREADS.
87346         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
87347         if the user did not pass --enable-threads or --disable-threads option.
87348         (gl_DISABLE_THREADS): New macro.
87349         Reported by Eric Blake <ebb9@byu.net>.
87351 2008-06-17  Bruno Haible  <bruno@clisp.org>
87353         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
87354         when the macro ignores it.
87355         Based on a patch by Eric Blake <ebb9@byu.net>.
87357 2008-06-17  Bruno Haible  <bruno@clisp.org>
87359         * modules/tls (License): Change to LGPLv2+.
87360         Reported by Eric Blake.
87362 2008-06-17  Eric Blake  <ebb9@byu.net>
87364         Simplify c-stack prerequisites.
87365         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
87366         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
87367         no longer requires <ucontext.h> to exist.  Optimize setrlimit
87368         check.
87369         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
87370         <sys/resource.h>.
87372         Move c-stack test into testsuite.
87373         * modules/c-stack-tests: New file.
87374         * lib/c-stack.c [DEBUG]: Move test program...
87375         * tests/test-c-stack.c: ...into this new file.  Skip rather than
87376         fail test if sigaltstack is lacking.
87377         * tests/test-c-stack.sh: New driver file.
87379 2008-06-16  Eric Blake  <ebb9@byu.net>
87381         Use raise module consistently.
87382         * modules/fatal-signal (Depends-on): Add raise.
87383         * modules/sigprocmask (Depends-on): Likewise.
87384         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
87385         * lib/sigprocmask.c (sigprocmask): Likewise.
87386         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
87387         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
87389         Fix compliance bug in sigpending.
87390         * lib/sigprocmask.c (sigpending): Return pending array via
87391         parameter, not return value.
87393 2008-06-14  Eric Blake  <ebb9@byu.net>
87395         Improve obstack-printf test code.
87396         * tests/test-obstack-printf.c (test_function): Fix comment, and
87397         simplify usage of obstack_* in macros.  Add a test for coverage.
87398         Reported by Bruno Haible.
87400 2008-06-14  Bruno Haible  <bruno@clisp.org>
87402         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
87403         array size as a constant, not as a const variable.
87404         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
87405         AC_USE_SYSTEM_EXTENSIONS.
87406         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
87407         Test whether the obstack_printf function actually exists.
87408         * modules/obstack-printf (Depends-on): Add extensions.
87409         (Include): Remove obstack.h.
87410         * modules/obstack-printf-posix (Depends-on): Add extensions.
87411         (Include): Remove obstack.h.
87413 2008-06-13  Eric Blake  <ebb9@byu.net>
87415         Add obstack-printf and obstack-printf-posix modules.
87416         * modules/obstack-printf: New file.
87417         * modules/obstack-printf-posix: Likewise.
87418         * MODULES.html.sh (Misc): Mention them.
87419         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
87420         Likewise.
87421         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
87422         Likewise.
87423         * modules/stdio (Makefile.am): Accomodate new modules.
87424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
87425         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
87426         Declare.
87427         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
87428         functions.
87429         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
87430         (gl_REPLACE_OBSTACK_PRINTF): New macros
87431         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
87432         * tests/test-obstack-printf.c: New file.
87433         * modules/obstack-printf-tests: Likewise.
87434         * modules/obstack-printf-posix-tests: Likewise.
87436 2008-06-11  Bruno Haible  <bruno@clisp.org>
87438         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
87439         * lib/open.c: Include errno.h.
87440         (open): Fail when attempting to write to a file that has a trailing
87441         slash.
87442         * tests/test-open.c (main): Test against trailing slash bug.
87443         * doc/posix-functions/open.texi: Mention the trailing slash bug.
87445 2008-06-10  Bruno Haible  <bruno@clisp.org>
87447         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
87448         for $? to work inside the trap command, with various /bin/sh-s.
87449         * tests/test-vc-list-files-cvs.sh: Likewise.
87451 2008-06-10  Bruno Haible  <bruno@clisp.org>
87453         * lib/acl-internal.h: Don't include gettext.h here.
87454         * lib/set-mode-acl.c: Include gettext.h here.
87455         * lib/copy-acl.c: Likewise.
87457 2008-06-10  Bruno Haible  <bruno@clisp.org>
87459         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
87460         * lib/wait-process.c (wait_subprocess): Likewise.
87461         * lib/execute.h (execute): Add termsigp argument.
87462         * lib/execute.c (execute): Likewise.
87463         * lib/csharpcomp.c (compile_csharp_using_pnet,
87464         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
87465         * lib/csharpexec.c (execute_csharp_using_pnet,
87466         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
87467         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
87468         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
87469         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
87470         is_jikes_present): Update.
87471         * lib/javaexec.c (execute_java_class): Update.
87472         * lib/javaversion.c (execute_and_read_line): Update.
87473         * NEWS: Document the changes.
87474         Reported by Eric Blake.
87476 2008-06-10  Eric Blake  <ebb9@byu.net>
87478         Add missing include.
87479         * tests/test-strstr.c (includes): Add <signal.h>.
87480         * tests/test-strcasestr.c (includes): Likewise.
87481         * tests/test-memmem.c (includes): Likewise.
87483 2008-06-10  Bruno Haible  <bruno@clisp.org>
87485         * lib/wait-process.c (wait_subprocess): Add an assertion.
87487 2008-06-10  Bruno Haible  <bruno@clisp.org>
87489         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
87491 2008-06-10  Bruno Haible  <bruno@clisp.org>
87493         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
87494         using alarm().
87495         * tests/test-strcasestr.c (main): Likewise.
87496         * tests/test-strstr.c (main): Likewise.
87498 2008-06-09  Bruno Haible  <bruno@clisp.org>
87500         Work around the Solaris 10 ACE ACLs ABI change.
87501         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
87502         declare if ACL_NO_TRIVIAL is present.
87503         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
87504         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
87505         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
87506         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
87507         define if ACL_NO_TRIVIAL is present.
87508         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
87509         and use the current ABI.
87510         (file_has_acl): Use same #if condition as elsewhere.
87511         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
87512         in use, and use the current ABI.
87513         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
87514         Reported by Jim Meyering.
87516 2008-06-09  Eric Blake  <ebb9@byu.net>
87518         Work around environments that (stupidly) ignore SIGALRM.
87519         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
87520         before using alarm().
87521         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
87522         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
87523         Reported by Ian Beckwith <ianb@erislabs.net>.
87525         Produce autobuild blurb earlier in log.
87526         * modules/autobuild (configure.ac-early): Move AB_INIT here.
87528 2008-06-09  Jim Meyering  <meyering@redhat.com>
87529         and Ondřej Vašík  <ovasik@redhat.com>
87531         utimens.c: correct kernel bug work-around
87532         Ondřej Vašík found that the invalid return value of 280 indicates
87533         failure, not success, and the kernel bug we're trying to work
87534         around affects not just the utimensat call, but also the fallback
87535         futimens call.
87536         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
87537         not success.
87538         [HAVE_FUTIMENS]: Use the same work-around, here.
87540 2008-06-09  Jim Meyering  <meyering@redhat.com>
87542         add more guards around definition of ACE_-related code
87543         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
87544         ALLOW and ACE_OWNER are also defined.
87546 2008-06-08  Bruno Haible  <bruno@clisp.org>
87548         * lib/acl-internal.h: Add me as co-author.
87549         * lib/file-has-acl.c: Likewise.
87550         * lib/set-mode-acl.c: Likewise.
87551         * lib/copy-acl.c: Likewise.
87553 2008-06-08  Bruno Haible  <bruno@clisp.org>
87555         Add support for AIX ACLs.
87556         * lib/acl-internal.h (acl_nontrivial): New declaration.
87557         * lib/file-has-acl.c (acl_nontrivial): New function.
87558         (file_has_acl): Add implementation using AIX 4 ACL API.
87559         * lib/set-mode-acl.c (qset_acl): Likewise.
87560         * lib/copy-acl.c (qcopy_acl): Likewise.
87562 2008-06-08  Bruno Haible  <bruno@clisp.org>
87564         Add support for HP-UX ACLs.
87565         * lib/acl-internal.h (acl_nontrivial): New declaration.
87566         * lib/file-has-acl.c (acl_nontrivial): New function.
87567         (file_has_acl): Add implementation using HP-UX 11 ACL API.
87568         * lib/set-mode-acl.c (qset_acl): Likewise.
87569         * lib/copy-acl.c (qcopy_acl): Likewise.
87571 2008-06-08  Bruno Haible  <bruno@clisp.org>
87573         Add support for Cygwin ACLs.
87574         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
87575         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
87576         the chmod_or_fchmod call.
87577         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
87579 2008-06-08  Bruno Haible  <bruno@clisp.org>
87581         Fix bug with setuid modes in Solaris 10+ code.
87582         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
87583         succeeded, when the mode contains some special bits.
87585 2008-06-08  Bruno Haible  <bruno@clisp.org>
87587         Add support for Solaris 7..10 ACLs.
87588         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
87589         declarations.
87590         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
87591         functions.
87592         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
87593         * lib/set-mode-acl.c (qset_acl): Likewise.
87594         * lib/copy-acl.c (qcopy_acl): Likewise.
87596 2008-06-08  Bruno Haible  <bruno@clisp.org>
87598         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
87599         declaration.
87600         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
87601         (acl_access_nontrivial): Remove MacOS X case.
87602         (file_has_acl): Use acl_extended_nontrivial.
87603         * lib/copy-acl.c (qcopy_acl): Likewise.
87605 2008-06-08  Bruno Haible  <bruno@clisp.org>
87607         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
87609 2008-06-08  Jim Meyering  <meyering@redhat.com>
87611         * modules/acl (Maintainer): Add Bruno Haible.
87613 2008-06-07  Bruno Haible  <bruno@clisp.org>
87615         Improve support for Tru64 ACLs.
87616         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
87617         ACL on OSF/1.
87619 2008-06-07  Bruno Haible  <bruno@clisp.org>
87621         Add support for MacOS X ACLs.
87622         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
87623         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
87624         * lib/set-mode-acl.c (qset_acl): Likewise.
87625         * lib/copy-acl.c (qcopy_acl): Likewise.
87627 2008-06-07  Bruno Haible  <bruno@clisp.org>
87629         Fix memory leak introduced on 2008-05-22.
87630         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
87631         use.
87633 2008-06-07  Bruno Haible  <bruno@clisp.org>
87635         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
87636         to construct an empty ACL.
87638 2008-06-07  Bruno Haible  <bruno@clisp.org>
87640         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
87641         precisely.
87642         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
87644 2008-06-07  Bruno Haible  <bruno@clisp.org>
87646         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
87647         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
87649 2008-06-07  Bruno Haible  <bruno@clisp.org>
87651         * doc/posix-functions/_setjmp.texi: Explain the use of this function
87652         regardless of POSIX.
87653         * doc/posix-functions/_longjmp.texi: Likewise.
87654         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
87655         SystemV platform in this case.
87657 2008-06-06  Eric Blake  <ebb9@byu.net>
87659         Document abort() bugs.
87660         * doc/posix-functions/abort.texi (abort): Mention anomalies.
87662         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
87663         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
87664         sigsetjmp.
87665         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
87666         siglongjmp, but only as a macro.
87667         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
87668         is obsolete.
87669         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
87671         Tweak documentation to cover cygwin argz bugs.
87672         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
87673         argz bug fix; no code change needed since no cygwin releases
87674         occurred between the last fix and the bug being tested.
87675         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
87676         module and recently fixed cygwin bugs.
87677         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
87678         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
87679         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
87680         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
87681         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
87682         Likewise.
87683         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
87684         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
87685         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
87686         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
87687         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
87688         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
87689         Likewise.
87691         Avoid gcc warning on cygwin.
87692         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
87693         !ACL_NO_TRIVIAL]: Avoid unused variable.
87695 2008-06-05  Eric Blake  <ebb9@byu.net>
87697         Be tolerant of UNKNOWN version in gnulib-tool test dir.
87698         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
87699         git-version-gen fails to come up with a version.
87700         Reported by Simon Josefsson.
87702 2008-06-05  Jim Meyering  <meyering@redhat.com>
87703             Paul Eggert  <eggert@cs.ucla.edu>
87705         utimens.c: work around a probable Linux kernel bug
87706         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
87707         appears to be a kernel bug that causes utimensat to return 280
87708         instead of 0, indicating success.
87710 2008-06-04  Bruno Haible  <bruno@clisp.org>
87712         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
87713         2008-06-01 commit.
87715 2008-06-04  Bruno Haible  <bruno@clisp.org>
87717         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
87718         * lib/file-has-acl.c (acl_access_nontrivial): New function.
87719         (file_has_acl): Use it. Save errno afterwards.
87720         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
87722 2008-06-03  Bruno Haible  <bruno@clisp.org>
87724         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
87725         draft code. Simplify #ifs.
87726         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
87727         Put Solaris code after POSIX-draft code. Fix comments regarding
87728         Solaris 10, HP-UX. Mention Cygwin.
87729         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
87731 2008-06-03  Eric Blake  <ebb9@byu.net>
87733         Provide fallback for older kernels.
87734         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
87735         Provide runtime fallback if kernel lacks support.
87736         Reported by Mike Frysinger.
87738 2008-06-02  Bruno Haible  <bruno@clisp.org>
87740         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
87741         it exists.
87743 2008-06-02  Bruno Haible  <bruno@clisp.org>
87745         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
87746         * lib/copy-acl.c (qcopy_acl): Update comment.
87748 2008-06-02  Bruno Haible  <bruno@clisp.org>
87750         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
87751         like ACL APIs.
87753 2008-06-02  Bruno Haible  <bruno@clisp.org>
87755         * tests/test-file-has-acl.sh: Use different code for Cygwin.
87756         * tests/test-set-mode-acl.sh: Likewise.
87757         * tests/test-copy-acl.sh: Likewise.
87758         * tests/test-copy-file.sh: Likewise.
87760 2008-06-02  Bruno Haible  <bruno@clisp.org>
87762         * tests/test-file-has-acl.sh: Remove unused code.
87764 2008-06-01  Bruno Haible  <bruno@clisp.org>
87766         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
87767         (copy_acl): Just a wrapper around qcopy_acl that emits the error
87768         messages.
87769         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
87771 2008-06-01  Bruno Haible  <bruno@clisp.org>
87773         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
87774         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
87775         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
87776         APIs.
87777         * modules/acl-tests (configure.ac): Remove tests now contained in
87778         m4/acl.m4.
87780 2008-06-02  Jim Meyering  <meyering@redhat.com>
87782         announce-gen: use a better key-server host name
87783         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
87784         it may be more consistently reliable.  Suggested by Werner Koch
87785         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
87787 2008-06-01  Bruno Haible  <bruno@clisp.org>
87789         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
87790         Reported by Voroskoi Andras <voroskoi@gmail.com>.
87792 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
87794         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
87796 2008-06-01  Bruno Haible  <bruno@clisp.org>
87798         New ACL tests.
87799         * tests/test-file-has-acl.sh: New file.
87800         * tests/test-file-has-acl.c: New file.
87801         * tests/test-set-mode-acl.sh: New file.
87802         * tests/test-set-mode-acl.c: New file.
87803         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
87804         * tests/test-copy-acl.c: New file.
87805         * modules/acl-tests: New file, based on modules/copy-file-tests.
87806         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
87807         (Depends-on): Add acl-tests.
87808         (configure.ac): Remove checks.
87809         (Makefile.am): Don't create test-sameacls program here any more.
87811 2008-06-01  Bruno Haible  <bruno@clisp.org>
87813         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
87814         * tests/test-sameacls.c: Include progname.h.
87815         (main): Invoke set_program_name. Portability fixes for MacOS X,
87816         Solaris, HP-UX.
87818 2008-06-01  Bruno Haible  <bruno@clisp.org>
87820         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
87821         function.
87822         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
87824 2008-06-01  Bruno Haible  <bruno@clisp.org>
87826         * modules/rpmatch (Depends-on): Add strdup.
87828 2008-06-01  Bruno Haible  <bruno@clisp.org>
87830         * lib/pipe.c: Include unistd-safer.h.
87831         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
87832         * modules/pipe (Depends-on): Add unistd-safer.
87834 2008-05-30  Simon Josefsson  <simon@josefsson.org>
87836         * modules/autobuild (configure.ac): Call AB_INIT.
87838 2008-05-30  Simon Josefsson  <simon@josefsson.org>
87840         * tests/test-getaddrinfo.c: Don't print debug messages by default.
87841         Suggested by Bruno Haible <bruno@clisp.org>.
87843 2008-05-30  Simon Josefsson  <simon@josefsson.org>
87845         * tests/test-base64.c: Cast size_t to unsigned long when invoking
87846         printf.  Use %lu instead of %d.  Reported by Bruno Haible
87847         <bruno@clisp.org>.
87849 2008-05-29  Eric Blake  <ebb9@byu.net>
87851         Prefer new POSIX 200x interfaces over futimesat.
87852         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
87853         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
87854         when available.
87855         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
87857 2008-05-28  Bruno Haible  <bruno@clisp.org>
87859         * modules/stpcpy (License): Change to LGPLv2+.
87860         Requested by David Lutterkort <dlutter@redhat.com>.
87862 2008-05-27  Bruno Haible  <bruno@clisp.org>
87864         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
87865         current mingw.
87866         Reported by Jose E. Marchesi <jemarch@gnu.org>.
87868 2008-05-27  Bruno Haible  <bruno@clisp.org>
87870         * modules/iconv_open (Link): New section, from module 'iconv'.
87871         * modules/striconv (Link): Likewise.
87872         * modules/striconveh (Link): Likewise.
87873         * modules/xstriconv (Link): Likewise.
87874         * modules/unicodeio (Link): Likewise.
87875         * modules/propername (Link): Likewise.
87876         Reported by Jim Meyering.
87878 2008-05-26  Jim Meyering  <meyering@redhat.com>
87880         sha256: do not artificially restrict buffer length to be < 2^32
87881         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
87882         uint32_t to size_t.
87883         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
87884         to match.
87886         avoid unaligned access errors, e.g., on sparc
87887         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
87888         direct access through a possibly-unaligned uint64* pointer.
87889         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
87890         direct access through a possibly-unaligned uint32* pointer.
87891         Prompted by this patch from Tom "spot" Callaway:
87892         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
87894         sha512.c: fix typo in comment
87895         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
87897 2008-05-25  Bruno Haible  <bruno@clisp.org>
87899         * lib/set-mode-acl.c: Renamed from lib/acl.c.
87900         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
87901         (Makefile.am): Update lib_SOURCES.
87903 2008-05-25  Bruno Haible  <bruno@clisp.org>
87905         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
87907 2008-05-25  Jim Meyering  <meyering@redhat.com>
87909         useless-if-before-free: freed expr may have white-space differences
87910         * build-aux/useless-if-before-free: Recognize cases in which the
87911         freed expression differs from the tested one in embedded white
87912         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
87913         $1 was used, so we can't make any regexp shy.  Improved tests now
87914         detect this.
87916         useless-if-before-free: accept white space in the expression.
87917         * build-aux/useless-if-before-free: For now, any white space
87918         in the expression must be identical in the free argument.
87920         useless-if-before-free: efficiency tweak
87921         * build-aux/useless-if-before-free: Make the expression-matching
87922         regexp "shy".
87923         Make the *outer* regexp shy, not the expr-matching one.
87925         update code-in-comment to accept cast of free arg
87926         * build-aux/useless-if-before-free: Update regexp.
87928 2008-05-25  Bruno Haible  <bruno@clisp.org>
87930         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
87931         * modules/copy-file-tests (Files, Makefile.am): Update.
87932         * tests/test-copy-file.c (func_test_copy): Update.
87934 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
87936         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
87938 2008-05-23  Bruno Haible  <bruno@clisp.org>
87940         Improve support for ACLs on OSF/1.
87941         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
87942         Remove fallback for unknown flavors of ACLs.
87944 2008-05-22  Bruno Haible  <bruno@clisp.org>
87946         Add support for ACLs on OSF/1.
87947         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
87948         replacements.
87949         (acl_free_text): New macro fallback.
87950         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
87951         acl_free.
87952         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
87953         acl_free_text function. Require AC_C_INLINE.
87955 2008-05-22  Bruno Haible  <bruno@clisp.org>
87957         Make copy_acl work on MacOS X 10.5.
87958         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
87959         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
87960         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
87961         If MODE_INSIDE_ACL, don't assume that every system has the same text
87962         representation for ACLs as FreeBSD.
87963         * lib/copy-acl.c (copy_acl): Add support for platforms with
87964         !MODE_INSIDE_ACL.
87965         * lib/file-has-acl.c (file_has_acl): Likewise.
87966         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
87967         FreeBSD, MacOS X, or IRIX, respectively.
87969 2008-05-22  Bruno Haible  <bruno@clisp.org>
87971         * lib/acl.h: Don't include <sys/acl.h>.
87972         (GETACLCNT): Move fallback to lib/acl-internal.h.
87973         * lib/acl-internal.h: Include <sys/acl.h> here.
87974         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
87976 2008-05-22  Bruno Haible  <bruno@clisp.org>
87978         Split off copy_acl function to separate file.
87979         * lib/copy-acl.c: New file, extracted from lib/acl.c.
87980         * lib/acl.c (copy_acl): Moved function to separate file.
87981         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
87982         * modules/acl (Files): Add lib/copy-acl.c.
87983         (Makefiles.am): Augment lib_SOURCES.
87985 2008-05-22  Bruno Haible  <bruno@clisp.org>
87987         * modules/copy-file-tests: New file.
87988         * tests/test-copy-file.sh: New file.
87989         * tests/test-copy-file.c: New file.
87990         * tests/test-copy-file-sameacls.c: New file.
87992 2008-05-22  Eric Blake  <ebb9@byu.net>
87994         Avoid gcc warning.
87995         * tests/test-memcmp.c (main): Pass NULL indirectly.
87997 2008-05-21  Bruno Haible  <bruno@clisp.org>
87999         Add reference doc about ACLs.
88000         * doc/acl-resources.txt: New file.
88001         * doc/acl-cygwin.txt: New file.
88003 2008-05-21  Bruno Haible  <bruno@clisp.org>
88005         Avoid one more warning from gcc.
88006         * lib/vasnprintf.c (IF_LINT): Update comments.
88007         (VASNPRINTF): Use it also for the 'prefix' array initializer.
88009 2008-05-21  Jim Meyering  <meyering@redhat.com>
88011         avoid a warning from gcc
88012         * lib/vasnprintf.c (IF_LINT): Define.
88013         (scale10_round_decimal_long_double):
88014         Use it to avoid a "may be used uninitialized" warning.
88015         (scale10_round_decimal_double): Likewise.
88017 2008-05-21  Simon Josefsson  <simon@josefsson.org>
88019         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
88020         declared.
88022 2008-05-20  Bruno Haible  <bruno@clisp.org>
88024         * tests/test-memcmp.c (main): Test also the sign of the result. Test
88025         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
88027 2008-05-20  Simon Josefsson  <simon@josefsson.org>
88029         * modules/memcmp-tests: New file.
88030         * tests/test-memcmp.c: New file.
88032 2008-05-19  Bruno Haible  <bruno@clisp.org>
88034         * modules/propername (Notice, configure.ac): Put quoted "..." into
88035         --keyword option.
88036         * lib/propername.h: Update comments accordingly.
88037         Reported by Eric Blake.
88039 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
88041         * modules/getpass-gnu (Depends-on): Add fseeko.
88043 2008-05-19  Simon Josefsson  <simon@josefsson.org>
88045         * modules/base64-tests: New file.
88047 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
88049         * lib/base64.c (base64_decode_ctx): If a decode context structure
88050         was passed in use it to ignore newlines.  If a context structure
88051         was _not_ passed in, continue to treat newlines as garbage (this
88052         is the historical behavior).  Formerly base64_decode.
88053         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
88054         takes a decode context structure.
88055         * lib/base64.h (base64_decode): Macro for four-argument calls.
88056         (base64_decode_alloc): Likewise.
88057         * lib/base64.c (base64_decode_ctx): If a decode context structure
88058         was passed in use it to ignore newlines.  If a context structure
88059         was _not_ passed in, continue to treat newlines as garbage (this
88060         is the historical behavior).  Formerly base64_decode.
88061         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
88062         takes a decode context structure.
88063         * lib/base64.h (base64_decode): Macro for four-argument calls.
88064         (base64_decode_alloc): Likewise.
88066 2008-05-19  Jim Meyering  <meyering@redhat.com>
88068         avoid a warning from gcc
88069         * lib/trim.c (IF_LINT): Define.
88070         (trim2): Use it to avoid a "may be used uninitialized" warning.
88072         Fix doc typo.
88073         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
88075 2008-05-19  Bruno Haible  <bruno@clisp.org>
88077         * doc/glibc-functions/getpass.texi: Document limits of other
88078         implementations.
88080 2008-05-19  Simon Josefsson  <simon@josefsson.org>
88081             Bruno Haible <bruno@clisp.org>
88083         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
88085 2008-05-18  Bruno Haible  <bruno@clisp.org>
88087         * modules/propername: New file, from GNU gettext.
88088         * lib/propername.h: New file, from GNU gettext.
88089         * lib/propername.c: New file, from GNU gettext.
88090         * MODULES.html.sh (Internationalization functions): Add propername.
88092 2008-05-16  Jim Meyering  <meyering@redhat.com>
88093             Bruno Haible  <bruno@clisp.org>
88095         Avoid some warnings from "gcc -Wshadow".
88096         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
88098 2008-05-15  Eric Blake  <ebb9@byu.net>
88100         Extend previous patch to cygwin 1.7.0.
88101         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
88102         fast implementation in cygwin >= 1.7.0.
88103         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
88104         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
88106 2008-05-15  Bruno Haible  <bruno@clisp.org>
88108         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
88109         implementation in glibc >= 2.9.
88110         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
88111         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
88113 2008-05-15  Bruno Haible  <bruno@clisp.org>
88115         * MODULES.html.sh (Internationalization functions): Remove linebreak.
88116         (Unicode string functions): Add unilbrk/*.
88117         Reported by Karl Berry.
88119 2008-05-15  Eric Blake  <ebb9@byu.net>
88121         Fix violation of <stdbool.h> replacement in regex.
88122         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
88123         * lib/regexec.c (re_search_internal): Likewise.
88124         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
88126 2008-05-15  Jim Meyering  <meyering@redhat.com>
88128         avoid distracting test output when git or cvs is not found
88129         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
88130         * tests/test-vc-list-files-git.sh: Likewise.
88132 2008-05-15  Eric Blake  <ebb9@byu.net>
88134         Glibc finally accepted the memmem speedup code, bugzilla #5514.
88135         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
88136         glibc version.
88137         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
88138         * doc/posix-functions/strstr.texi (strstr): Likewise.
88139         * lib/str-two-way.h (MAX): Sychronize with glibc.
88141 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
88143         * lib/regcomp.c (optimize_utf8): Add a note on why we test
88144         opr.ctx_type.
88145         (calc_first): Initialize constraint field.
88146         (duplicate_node_closure): Use it instead of special casing ANCHORS.
88147         Fix grammar.
88148         (duplicate_node): Merge constraint field for all node types.
88149         (calc_eclosure_iter): Look at constraint field for all node types.
88150         * lib/regex_internal.c (create_cd_newstate): Don't look at
88151         opr.ctx_type.
88153 2008-05-14  Bruno Haible  <bruno@clisp.org>
88155         Help GCC to do better code generation.
88156         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
88157         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
88158         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
88159         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
88160         Declare with attribute 'malloc' if supported.
88162 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
88164         use "echo STR|wc -c" rather than unportable "expr length STR"
88165         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
88166         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
88168 2008-05-14  Jim Meyering  <meyering@redhat.com>
88170         use dd ibs=$n count=1 ... rather than less-portable head -c$n
88171         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
88172         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
88173         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
88174         via Collin Lasse.
88176 2008-05-14  Eric Blake  <ebb9@byu.net>
88178         Avoid quadratic growth in gl_LIBSOURCES.
88179         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
88180         Suggested by Bruno Haible.
88182         Test xmemdup0.
88183         * modules/xmemdup0-tests: New file.
88184         * tests/test-xmemdup0.c: Likewise.
88186 2008-05-13  Eric Blake  <ebb9@byu.net>
88188         Split xmemdup0 into its own module.
88189         * modules/xmemdup0: New file.
88190         * lib/xmemdup0.h: Likewise.
88191         * lib/xmemdup0.c: Likewise.
88192         * MODULES.html.sh (Memory management functions): Add xmemdup0.
88193         * lib/xalloc.h (xmemdup0): Remove.
88194         * lib/xmalloc.c (xmemdup0): Likewise.
88196 2008-05-13  Eric Blake  <ebb9@byu.net>
88197             Bruno Haible  <bruno@clisp.org>
88199         Reduce number of forks required during autoconf.
88200         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
88201         and gl_LIBSOURCES_DIR.
88202         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
88203         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
88204         m4_syscmd per file.
88205         <m4_foreach_w>: Move...
88206         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
88208 2008-05-13  Eric Blake  <ebb9@byu.net>
88210         * gnulib-tool: Fix various comment typos.
88212 2008-05-12  Bruno Haible  <bruno@clisp.org>
88214         Tailor the linebreaking algorithm.
88215         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
88217 2008-05-12  Bruno Haible  <bruno@clisp.org>
88219         Update to Unicode 5.0.0.
88220         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
88221         LBP_JV, LBP_JT. Redistribute values.
88222         (unilbrk_table): Change size.
88223         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
88224         Unicode TR#14 rev. 22.
88225         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
88226         LBP_JV, LBP_JT. Redistribute values.
88227         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
88228         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
88229         Update.
88230         * lib/unilbrk/lbrkprop1.h: Regenerated.
88231         * lib/unilbrk/lbrkprop2.h: Regenerated.
88232         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
88233         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
88234         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
88235         Likewise.
88236         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
88237         Likewise.
88238         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
88239         result.
88240         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
88241         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
88242         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
88243         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
88244         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
88245         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
88247 2008-05-11  Bruno Haible  <bruno@clisp.org>
88249         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
88251 2008-05-11  Bruno Haible  <bruno@clisp.org>
88253         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
88254         * modules/unilbrk/gen-lbrk: New file.
88256 2008-05-11  Bruno Haible  <bruno@clisp.org>
88258         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
88259         * m4/sha512.m4 (gl_SHA512): Likewise.
88261 2008-05-11  Jim Meyering  <meyering@redhat.com>
88263         New modules: crypto/sha256, crypto/sha512 (from coreutils)
88264         * modules/crypto/sha256: New file.
88265         * modules/crypto/sha512: Likewise.
88266         * lib/sha256.c: Likewise.
88267         * lib/sha256.h: Likewise.
88268         * lib/sha512.c: Likewise.
88269         * lib/sha512.h: Likewise.
88270         * lib/u64.h: Likewise.
88271         * m4/sha256.m4: Likewise.
88272         * m4/sha512.m4: Likewise.
88273         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
88275 2008-05-10  Bruno Haible  <bruno@clisp.org>
88277         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
88278         (Input/Output <stdio.h>): Add xprintf.
88279         (Signal handling <signal.h>): Add strsignal.
88280         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
88281         (Core language properties): Add func.
88282         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
88283         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
88284         strings.
88285         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
88286         (Input/output): New section.
88287         (File system functions): Add openat-die, stat-macros.
88288         (Networking functions): Add sockets.
88289         (Unicode string functions): Add unictype/*.
88290         (Support for building libraries and executables): Add gperf.
88291         (Support for building documentation): Add agpl-3.0.
88292         (Misc): Add nocrash.
88294 2008-05-10  Bruno Haible  <bruno@clisp.org>
88296         * modules/unictype/gen-ctype: New file.
88298 2008-05-10  Jim Meyering  <meyering@redhat.com>
88300         Make chdir-safer.c more efficient on a system with no symlinks.
88301         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
88302         also if ELOOP is zero.  Suggested by Bruno Haible.
88304         Make chdir-safer.c slightly safer.
88305         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
88306         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
88308         Avoid compile failure on systems without ELOOP (like mingw).
88309         * lib/chdir-safer.c (ELOOP): Define if not already defined.
88310         Reported by Bruno Haible.
88312 2008-05-10  Bruno Haible  <bruno@clisp.org>
88314         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
88315         (is_utf8_encoding): Use a case-insensitive comparison.
88316         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
88317         streq.
88319 2008-05-10  Bruno Haible  <bruno@clisp.org>
88321         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
88322         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
88323         * lib/unilbrk/ulc-common.h (iconv_string_length,
88324         iconv_string_keeping_offsets): Remove declarations.
88325         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
88326         Don't include <iconv.h>, streq.h, xsize.h.
88327         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
88328         conversion.
88329         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
88330         <iconv.h>, streq.h, xsize.h.
88331         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
88332         conversion.
88333         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
88334         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
88335         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
88336         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
88338 2008-05-10  Bruno Haible  <bruno@clisp.org>
88340         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
88341         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
88343         * modules/unilbrk/u32-width-linebreaks-tests: New file.
88344         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
88346         * modules/unilbrk/u16-width-linebreaks-tests: New file.
88347         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
88349         * modules/unilbrk/u8-width-linebreaks-tests: New file.
88350         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
88352         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
88353         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
88355         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
88356         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
88358         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
88359         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
88361         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
88362         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
88364 2008-05-10  Bruno Haible  <bruno@clisp.org>
88366         Split up 'linebreak' module.
88367         * lib/unilbrk.h: New file, based on lib/linebreak.h.
88368         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
88369         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
88370         modifications.
88371         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
88372         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
88373         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
88374         lib/linebreak.c.
88375         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
88376         lib/linebreak.c.
88377         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
88378         lib/linebreak.c.
88379         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
88380         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
88381         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
88382         lib/linebreak.c.
88383         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
88384         lib/linebreak.c.
88385         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
88386         lib/linebreak.c.
88387         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
88388         lib/linebreak.c.
88389         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
88390         lib/linebreak.c.
88391         * modules/unilbrk/base: New file.
88392         * modules/unilbrk/tables: New file.
88393         * modules/unilbrk/u8-possible-linebreaks: New file.
88394         * modules/unilbrk/u16-possible-linebreaks: New file.
88395         * modules/unilbrk/u32-possible-linebreaks: New file.
88396         * modules/unilbrk/ulc-common: New file.
88397         * modules/unilbrk/ulc-possible-linebreaks: New file.
88398         * modules/unilbrk/u8-width-linebreaks: New file.
88399         * modules/unilbrk/u16-width-linebreaks: New file.
88400         * modules/unilbrk/u32-width-linebreaks: New file.
88401         * modules/unilbrk/ulc-width-linebreaks: New file.
88402         * lib/linebreak.h: Remove file.
88403         * lib/linebreak.c: Remove file.
88404         * m4/linebreak.m4: Remove file.
88405         * modules/linebreak: Remove file.
88406         * NEWS: Mention the changes.
88408 2008-05-09  Eric Blake  <ebb9@byu.net>
88410         Add xmemdup0.
88411         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
88412         implementation.
88413         * lib/xmalloc.c (xmemdup0): New C implementation.
88415 2008-05-08  Bruno Haible  <bruno@clisp.org>
88417         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
88419 2008-05-07  Eric Blake  <ebb9@byu.net>
88421         Support cross-compilation of <wctype.h>.
88422         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
88423         AC_CACHE_CHECK.
88425 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
88427         * build-aux/vc-list-files: Add support for bzr.
88429 2008-05-03  Jim Meyering  <meyering@redhat.com>
88431         avoid failed assertion with tight malloc
88432         * tests/test-getndelim2.c: Correct an off-by-one assertion.
88434 2008-05-03  Simon Josefsson  <simon@josefsson.org>
88436         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
88437         are needed from arpa/inet.h.
88438         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
88439         Reported by Bruno Haible.
88441 2008-05-02  Jim Meyering  <meyering@redhat.com>
88443         avoid compilation error on FreeBSD 6
88444         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
88446 2008-05-01  Jim Meyering  <meyering@redhat.com>
88448         useless-if-before-free: correct --help's exit status description
88449         * build-aux/useless-if-before-free (usage): Like grep, exit 0
88450         for one or more matches, etc.  Reported by Bruno Haible.
88452         vc-list-files: make the stand-alone gnulib test work
88453         * modules/vc-list-files-tests (configure.ac):
88454         Define and AC_SUBST abs_aux_dir.
88455         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
88456         $(abs_top_srcdir) to each script and having each of them
88457         duplicate the work of setting PATH, set PATH here, using
88458         the new variable, abs_aux_dir instead.
88459         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
88460         * tests/test-vc-list-files-git.sh: Likewise.
88461         Reported by Bruno Haible.
88463 2008-05-01  Bruno Haible  <bruno@clisp.org>
88465         * lib/getndelim2.c (getndelim2): Fix newsize computation during
88466         reallocation. Rename 'done' to 'found_delimiter'.
88468 2008-05-01  Jim Meyering  <meyering@redhat.com>
88470         vc-list-files: accommodate /bin/sh like the one from Solaris 10
88471         * build-aux/vc-list-files: Use `...`, not $(...).
88473 2008-04-30  Jim Meyering  <meyering@redhat.com>
88475         add tests for vc-list-files
88476         * modules/vc-list-files-tests: New module.
88477         * tests/test-vc-list-files-cvs.sh: New file.
88478         * tests/test-vc-list-files-git.sh: New file.
88480         avoid a warning from gcc
88481         * lib/getndelim2.c (IF_LINT): Define.
88482         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
88484         vc-list-files: work properly with build-aux/cvsu, too
88485         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
88486         to all cvs-based clauses.
88488         vc-list-files: work properly in the CVS+awk case, too
88489         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
88491         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
88492         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
88493         take more than one file argument, so .  Add quotes, just in case $dir
88494         ever contains a shell meta-character.  Prompted by Soren Hansen in
88495         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
88497 2008-04-29  Eric Blake  <ebb9@byu.net>
88499         Optimize getndelim2 to use block operations when possible.
88500         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
88501         freadseek, and memchr2.
88502         * lib/getndelim2.c (getndelim2): Use them for block reads.
88504 2008-04-29  Bruno Haible  <bruno@clisp.org>
88506         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
88507         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
88508         * modules/inet_ntop (Depends-on): Add extensions.
88509         * modules/inet_pton (Depends-on): Likewise.
88510         Reported by Simon Josefsson.
88512 2008-04-29  Jim Meyering  <meyering@redhat.com>
88514         When the is more than one match in a block, match all of them.
88515         * build-aux/useless-if-before-free: Iterate through each block
88516         until there are no more matches.
88518         Fix broken useless-if-before-free script.
88519         * build-aux/useless-if-before-free: Fix typo: missing "?" after
88520         the expression to match cast of argument to free-like function.
88522 2008-04-29  Eric Blake  <ebb9@byu.net>
88524         Use new header.
88525         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
88527 2008-04-29  Jim Meyering  <meyering@redhat.com>
88529         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
88530         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
88531         by gnulib to exist and to declare e.g., inet_ntop.
88532         Don't include "inet_ntop.h", now removed.
88534         * m4/arpa_inet_h.m4: Remove trailing blanks.
88536 2008-04-29  Eric Blake  <ebb9@byu.net>
88538         Silence valgrind on safe reads beyond potential array bounds.
88539         * lib/rawmemchr.valgrind: New file.
88540         * lib/strchrnul.valgrind: Likewise.
88541         * modules/rawmemchr (Files): Distribute new file.
88542         * modules/strchrnul (Files): Likewise.
88543         Suggested by Bruno Haible.
88545 2008-04-29  Bruno Haible  <bruno@clisp.org>
88547         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
88548         (inet_ntop, inet_pton): Change portability warning's wording.
88549         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
88550         Invoke gl_CHECK_NEXT_HEADERS.
88551         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
88552         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
88553         set ARPA_INET_H.
88554         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
88555         * modules/arpa_inet (Description): No longer only for systems that
88556         lack it.
88557         (Depends-on): Add include_next.
88558         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
88559         HAVE_ARPA_INET_H.
88561 2008-04-29  Jim Meyering  <meyering@redhat.com>
88563         * modules/mkdir (License): Re-license as LGPLv2+.
88565 2008-04-29  Bruno Haible  <bruno@clisp.org>
88567         * modules/rawmemchr (Maintainer): Set to Eric.
88568         * modules/strchrnul (Maintainer): Likewise.
88570 2008-04-29  Simon Josefsson  <simon@josefsson.org>
88572         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
88573         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
88575         * modules/arpa_inet (arpa/inet.h): Use them.
88577 2008-04-28  Eric Blake  <ebb9@byu.net>
88579         Test getndelim2.
88580         * modules/getndelim2-tests: New file.
88581         * tests/test-getndelim2.c: Likewise.
88582         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
88583         stream.
88584         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
88586         * MODULES.html.sh: Document new module.
88588 2008-04-20  Bruno Haible  <bruno@clisp.org>
88590         * lib/c-stack.c (die): Use raise.
88591         * modules/c-stack (Depends-on): Add raise.
88593 2008-04-28  Bruno Haible  <bruno@clisp.org>
88595         Expect rpmatch to be declared.
88596         * lib/yesno.c (rpmatch): Remove declaration.
88598         Declare rpmatch.
88599         * lib/stdlib.in.h (rpmatch): New declaration.
88600         * lib/rpmatch.c: Include <stdlib.h> first.
88601         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
88602         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
88603         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
88604         HAVE_RPMATCH.
88605         * modules/rpmatch (Depends-on): Add stdlib, extensions.
88606         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
88607         (Include): Set to <stdlib.h>.
88608         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
88609         HAVE_RPMATCH.
88610         * NEWS: Document the change.
88612 2008-04-28  Bruno Haible  <bruno@clisp.org>
88614         Change rpmatch to use nl_langinfo when appropriate.
88615         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
88616         (N_): New macro.
88617         (localized_pattern): New function/macro.
88618         (try): Remove match, nomatch arguments. Copy the pattern into safe
88619         memory before caching it.
88620         (rpmatch): Use localized_pattern. Add translator comments.
88621         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
88622         Suggested by Eric Blake.
88623         * modules/rpmatch (Depends-on): Add stdbool.
88625 2008-04-28  Eric Blake  <ebb9@byu.net>
88627         Add rawmemchr module, matching glibc.
88628         * modules/string (Makefile.am): New indicator.
88629         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
88630         * lib/string.in.h (rawmemchr): Declare when appropriate.
88631         * modules/rawmemchr: New file.
88632         * m4/rawmemchr.m4: Likewise.
88633         * lib/rawmemchr.c: Likewise.
88634         * modules/rawmemchr-tests: Likewise.
88635         * tests/test-rawmemchr.c: Likewise.
88636         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
88637         module.
88638         * modules/strchrnul (Depends-on): Add rawmemchr.
88639         * lib/strchrnul.c (strchrnul): Optimize a corner case.
88641         Whitespace cleanup.
88642         * tests/test-strchrnul.c: Reindent.
88643         * lib/strchrnul.c: Likewise.
88645         Optimize and test strchrnul.
88646         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
88647         * modules/strchrnul-tests: New file.
88648         * tests/test-strchrnul.c: Likewise.
88650         Remove intprops dependency.
88651         * modules/memchr (Depends-on): Remove intprops.
88652         * modules/memrchr (Depends-on): Likewise.
88653         * modules/memchr2 (Depends-on): Likewise.
88654         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
88655         * lib/memrchr.c (__memrchr): Likewise.
88656         * lib/memrchr2.c (memchr2): Likewise.
88657         Reported by Simon Josefsson.
88659 2008-04-28  Simon Josefsson  <simon@josefsson.org>
88661         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
88662         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
88664 2008-04-28  Simon Josefsson  <simon@josefsson.org>
88666         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
88668         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
88670         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
88672         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
88673         declarations.
88674         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
88676         * m4/inet_pton.m4: Don't check for header files.
88678         * m4/inet_ntop.m4: Don't check for header files.
88680 2008-04-28  Simon Josefsson  <simon@josefsson.org>
88682         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
88683         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
88684         trigger for cygwin).
88685         Reported by Bruno Haible  <bruno@clisp.org>.
88687 2008-04-28  Bruno Haible  <bruno@clisp.org>
88689         * doc/posix-functions/strdup.texi: Mention mingw problem.
88691 2008-04-27  Bruno Haible  <bruno@clisp.org>
88693         * modules/stat-time-tests (Depends-on): Add sleep.
88694         * tests/test-stat-time.c (force_unlink): New function.
88695         (cleanup): Use it.
88696         (test_mtime): Remove the ctime related tests.
88697         (test_ctime): New function, containing the ctime related tests.
88698         (main): Call test_ctime, except on native Windows platforms.
88700 2008-04-27  Bruno Haible  <bruno@clisp.org>
88702         * lib/rpmatch.c (rpmatch): Add some comments.
88703         Reported by James Youngman <jay@gnu.org>.
88705 2008-04-27  Bruno Haible  <bruno@clisp.org>
88707         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
88708         quiet NaNs.
88710 2008-04-27  Bruno Haible  <bruno@clisp.org>
88712         Make test-yesno.sh work on mingw.
88713         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
88714         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
88715         (main): Set stdin to binary mode.
88716         * modules/yesno-tests (Depends-on): Add binary-io.
88718 2008-04-27  Bruno Haible  <bruno@clisp.org>
88720         Fix 'isfinite' on x86, x86_64, ia64 platforms.
88721         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
88722         argument that lie outside the IEEE 854 domain.
88723         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
88724         (gl_ISFINITE): Use it.
88725         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
88727 2008-04-27  Bruno Haible  <bruno@clisp.org>
88729         Allow local renaming in config.h.
88730         * lib/memrchr.c (memrchr): Don't undefine outside libc.
88732 2008-04-27  Bruno Haible  <bruno@clisp.org>
88734         * lib/memchr.c (__memchr): Change type of 'i'.
88735         * lib/memchr2.c (memchr2): Likewise.
88737 2008-04-26  Eric Blake  <ebb9@byu.net>
88738         and Bruno Haible  <bruno@clisp.org>
88740         Optimize and test memrchr.
88741         * modules/memrchr (Depends-on): Add intprops.
88742         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
88743         * modules/memrchr-tests: New file.
88744         * tests/test-memrchr.c: New file.
88746 2008-04-26  Bruno Haible  <bruno@clisp.org>
88748         Add tentative support for DragonFly BSD.
88749         * lib/stdio-impl.h: Add macros for DragonFly BSD.
88750         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
88751         fp.
88752         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
88753         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
88754         * lib/fpurge.c (fpurge): Likewise.
88755         * lib/freadable.c (freaadable): Likewise.
88756         * lib/freadahead.c (freadahead): Likewise.
88757         * lib/freading.c (freading): Likewise.
88758         * lib/freadptr.c (freadptr): Likewise.
88759         * lib/freadseek.c (freadptrinc): Likewise.
88760         * lib/fseeko.c (fseeko): Likewise.
88761         * lib/fseterr.c (fseterr): Likewise.
88762         * lib/fwritable.c (fwritable): Likewise.
88763         * lib/fwriting.c (fwriting): Likewise.
88765 2008-04-26  Bruno Haible  <bruno@clisp.org>
88767         * lib/stdio-impl.h: New file.
88768         * lib/fbufmode.c: Include stdio-impl.h.
88769         (fbufmode): Use fp_, remove redundant #defines.
88770         * lib/fflush.c: Include stdio-impl.h.
88771         (clear_ungetc_buffer): Remove redundant #defines.
88772         * lib/fpurge.c: Include stdio-impl.h.
88773         (fpurge): Remove redundant #defines.
88774         * lib/freadable.c: Include stdio-impl.h.
88775         (freadable): Remove redundant #defines.
88776         * lib/freadahead.c: Include stdio-impl.h.
88777         (freadahead): Remove redundant #defines.
88778         * lib/freading.c: Include stdio-impl.h.
88779         (freading): Remove redundant #defines.
88780         * lib/freadptr.c: Include stdio-impl.h.
88781         (freadptr): Remove redundant #defines.
88782         * lib/freadseek.c: Include stdio-impl.h.
88783         (freadptrinc): Remove redundant #defines.
88784         * lib/fseeko.c: Include stdio-impl.h.
88785         (rpl_fseeko): Remove redundant #defines.
88786         * lib/fseterr.c: Include stdio-impl.h.
88787         (fseterr): Remove redundant #defines.
88788         * lib/fwritable.c: Include stdio-impl.h.
88789         (fwritable: Remove redundant #defines.
88790         * lib/fwriting.c: Include stdio-impl.h.
88791         (fwriting): Remove redundant #defines.
88792         * modules/fbufmode (Files): Add lib/stdio-impl.h.
88793         * modules/fflush (Files): Likewise.
88794         * modules/fpurge (Files): Likewise.
88795         * modules/freadable (Files): Likewise.
88796         * modules/freadahead (Files): Likewise.
88797         * modules/freading (Files): Likewise.
88798         * modules/freadptr (Files): Likewise.
88799         * modules/freadseek (Files): Likewise.
88800         * modules/fseeko (Files): Likewise.
88801         * modules/fseterr (Files): Likewise.
88802         * modules/fwritable (Files): Likewise.
88803         * modules/fwriting (Files): Likewise.
88805 2008-04-26  Bruno Haible  <bruno@clisp.org>
88807         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
88808         restore_seek_optimization, update_fpos_cache): New functions, extracted
88809         from rpl_fflush.
88810         (rpl_fflush): Use them.
88811         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
88812         (gl_REPLACE_FFLUSH): Use it.
88814 2008-04-26  Bruno Haible  <bruno@clisp.org>
88816         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
88817         on Solaris.
88818         * tests/test-xstrtoimax.sh: Likewise.
88819         * tests/test-xstrtoumax.sh: Likewise.
88820         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
88822 2008-04-26  Bruno Haible  <bruno@clisp.org>
88824         * modules/memchr-tests: New file.
88825         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
88827 2008-04-26  Eric Blake  <ebb9@byu.net>
88828             Bruno Haible  <bruno@clisp.org>
88830         * lib/memchr.c: Include intprops.h.
88831         (__memchr): Optimize parallel detection of matching bytes. Rename local
88832         variables. Add explanatory comments.
88834 2008-04-26  Bruno Haible  <bruno@clisp.org>
88836         Fix module 'memchr', broken since 2000-10-28.
88837         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
88839 2008-04-26  Bruno Haible  <bruno@clisp.org>
88841         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
88842         comments.
88844 2008-04-25  Eric Blake  <ebb9@byu.net>
88846         Use native fstatat on cygwin 1.7.0.
88847         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
88848         first.
88850 2008-04-23  Eric Blake  <ebb9@byu.net>
88852         Improve memchr2 performance.
88853         * lib/memchr2.c (memchr2): Further optimize parallel detection of
88854         NUL bytes.
88855         * modules/memchr2 (Depends-on): Use intprops.h.
88857 2008-04-23  Simon Josefsson  <simon@josefsson.org>
88859         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
88860         an inline function instead of a CPP macro.  Patch by Ben Pfaff
88861         <blp@cs.stanford.edu>.
88863 2008-04-23  Simon Josefsson  <simon@josefsson.org>
88865         * lib/arpa_inet.in.h: New file.
88867         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
88868         (Makefile.am): Sed in substitute header file.
88870         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
88871         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
88873         * modules/inet_ntop (configure.ac): Use
88874         gl_ARPA_INET_MODULE_INDICATOR.
88876         * modules/inet_pton (configure.ac): Use
88877         gl_ARPA_INET_MODULE_INDICATOR.
88879 2008-04-22  Jim Meyering  <meyering@redhat.com>
88881         * modules/verify (License): Re-license as LGPLv2+.
88883 2008-04-22  Simon Josefsson  <simon@josefsson.org>
88885         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
88886         parameter to void* as per POSIX standard (MinGW uses char*).
88888 2008-04-21  Bruno Haible  <bruno@clisp.org>
88890         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
88891         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
88892         Define to replacements if REPLACE_ISWCNTRL is 1.
88893         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
88894         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
88895         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
88896         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
88897         what it fixes.
88898         * doc/posix-functions/iswalpha.texi: Likewise.
88899         * doc/posix-functions/iswblank.texi: Likewise.
88900         * doc/posix-functions/iswcntrl.texi: Likewise.
88901         * doc/posix-functions/iswdigit.texi: Likewise.
88902         * doc/posix-functions/iswgraph.texi: Likewise.
88903         * doc/posix-functions/iswlower.texi: Likewise.
88904         * doc/posix-functions/iswprint.texi: Likewise.
88905         * doc/posix-functions/iswpunct.texi: Likewise.
88906         * doc/posix-functions/iswspace.texi: Likewise.
88907         * doc/posix-functions/iswupper.texi: Likewise.
88908         * doc/posix-functions/iswxdigit.texi: Likewise.
88909         Reported by Alain Guibert.
88911 2008-04-21  Bruno Haible  <bruno@clisp.org>
88913         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
88914         Patch by Alain Guibert.
88916 2008-04-21  Bruno Haible  <bruno@clisp.org>
88918         Fix test failures on mingw.
88919         * tests/test-xstrtol.c (print_no_progname): New function.
88920         (main): Install it in error_print_progname hook.
88921         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
88922         * tests/test-xstrtoimax.sh: Likewise.
88923         * tests/test-xstrtoumax.sh: Likewise.
88925 2008-04-21  Bruno Haible  <bruno@clisp.org>
88927         Fix test failure on mingw.
88928         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
88930 2008-04-21  Bruno Haible  <bruno@clisp.org>
88932         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
88933         Actually assign a value.
88935 2008-04-20  Bruno Haible  <bruno@clisp.org>
88937         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
88938         take 2.
88939         * lib/canonicalize.c (canonicalize_file_name): Elide if the
88940         'canonicalize-lgpl' module is also used.
88941         * lib/canonicalize-lgpl.c: Undo last change.
88942         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
88944 2008-04-20  Bruno Haible  <bruno@clisp.org>
88946         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
88947         config.h. Provide _mkdir based fallback for mingw.
88948         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
88949         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
88950         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
88951         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
88952         rather than defining mkdir in config.h.
88953         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
88954         (gl_SYS_STAT_H_DEFAULTS): New macro.
88955         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
88956         HAVE_IO_H any more.
88957         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
88958         HAVE_DECL_MKDIR and HAVE_IO_H.
88960 2008-04-20  Bruno Haible  <bruno@clisp.org>
88962         * lib/isapipe.c: Port to native Windows platforms.
88964 2008-04-20  Bruno Haible  <bruno@clisp.org>
88966         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
88968 2008-04-21  Eric Blake  <ebb9@byu.net>
88970         Work around preprocessors that don't handle UINTMAX_MAX.
88971         * lib/memchr2.c (memchr2): Avoid embedded #if.
88972         Reported by Alain Guibert, fix suggested by Bruno Haible.
88974 2008-04-21  Simon Josefsson  <simon@josefsson.org>
88976         * doc/posix-functions/strftime.texi (strftime): Explain better
88977         Windows incompatibility.  Suggested by Micah Cowan
88978         <micah@cowan.name>.
88980 2008-04-20  Bruno Haible  <bruno@clisp.org>
88982         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
88983         unistr/u8-mblen.
88985 2008-04-20  Bruno Haible  <bruno@clisp.org>
88987         Fix test failure on platforms with non-GNU iconv.
88988         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
88989         (U_TO_U8): Use it, rather than u16_to_u8.
88990         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
88991         units at the end of the input string.
88992         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
88994 2008-04-20  Bruno Haible  <bruno@clisp.org>
88996         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
88997         when the resulting length is 0.
88998         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
89000 2008-04-20  Bruno Haible  <bruno@clisp.org>
89002         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
89003         works.
89004         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
89006 2008-04-20  Bruno Haible  <bruno@clisp.org>
89008         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
89009         * modules/tsearch-tests (configure.ac): Test for initstate function.
89011 2008-04-20  Bruno Haible  <bruno@clisp.org>
89013         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
89014         for nlink_t if missing.
89015         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
89017 2008-04-19  Bruno Haible  <bruno@clisp.org>
89019         Work around snprintf bug on Linux libc5.
89020         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
89021         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
89022         gl_SNPRINTF_SIZE1.
89023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
89024         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
89025         that test failed.
89026         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
89027         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
89028         * modules/snprintf (Files): Add m4/printf.m4.
89029         * modules/vsnprintf (Files): Likewise.
89030         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
89031         * doc/posix-functions/vsnprintf.texi: Likewise.
89033 2008-04-19  Bruno Haible  <bruno@clisp.org>
89035         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
89036         from 0.0058 to less than 10^-7.
89038 2008-04-19  Bruno Haible  <bruno@clisp.org>
89040         Fix rounding when a precision is given.
89041         * lib/vasnprintf.c (is_borderline): New function.
89042         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
89043         9...9x.
89044         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
89045         %e, %g.
89046         * tests/test-vasprintf-posix.c (test_function): Likewise.
89047         * tests/test-snprintf-posix.h (test_function): Likewise.
89048         * tests/test-sprintf-posix.h (test_function): Likewise.
89049         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
89050         * tests/test-printf-posix.h (test_function): Likewise.
89051         * tests/test-printf-posix.output: Update.
89052         Reported by John Darrington <john@darrington.wattle.id.au> via
89053         Ben Pfaff <blp@cs.stanford.edu>.
89055 2008-04-18  Simon Josefsson  <simon@josefsson.org>
89057         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
89058         Suggested by Bruno Haible <bruno@clisp.org>.
89060 2008-04-17  Bruno Haible  <bruno@clisp.org>
89062         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
89063         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
89064         implementation.
89065         Patch by Bruce Merry <bmerry@gmail.com>.
89067 2008-04-17  Simon Josefsson  <simon@josefsson.org>
89069         * doc/posix-functions/strftime.texi (strftime): Mention that %e
89070         doesn't work under Windows.
89072 2008-04-16  Bruno Haible  <bruno@clisp.org>
89074         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
89075         New macros.
89076         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
89077         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
89078         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
89079         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
89080         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
89081         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
89082         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
89083         macros.
89084         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
89085         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
89086         Northern Sotho, Uighur.
89088 2008-04-16  Bruno Haible  <bruno@clisp.org>
89090         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
89091         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
89092         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
89093         Reported by Daniel Bergström <daniel@octocode.com>.
89095 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
89096             Bruno Haible  <bruno@clisp.org>
89098         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
89099         function.
89100         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
89101         New functions, mostly extracted from gl_locale_name_default.
89102         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
89104 2008-04-16  Eric Blake  <ebb9@byu.net>
89106         Adjust strtod detection to catch glibc 2.7 bug.
89107         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
89108         Reported by John Gatewood Ham.
89110 2008-04-16  Bruno Haible  <bruno@clisp.org>
89112         Add tentative support for Linux libc5.
89113         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
89114         * lib/fpurge.c (fpurge): Likewise.
89115         * lib/freadable.c (freadable): Likewise.
89116         * lib/freadahead.c (freadahead): Likewise.
89117         * lib/freading.c (freading): Likewise.
89118         * lib/freadptr.c (freadptr): Likewise.
89119         * lib/freadseek.c (freadptrinc): Likewise.
89120         * lib/fseeko.c (rpl_fseeko): Likewise.
89121         * lib/fseterr.c (fseterr): Likewise.
89122         * lib/fwritable.c (fwritable): Likewise.
89123         * lib/fwriting.c (fwriting): Likewise.
89124         Reported by Alain Guibert <alguibert+bts@free.fr>.
89126 2008-04-15  Bruno Haible  <bruno@clisp.org>
89128         * modules/mathl (configure.ac): Define module indicator.
89130 2008-04-15  Bruno Haible  <bruno@clisp.org>
89132         * lib/logl.c (logl): Remove unused variables.
89134 2008-04-15  Bruno Haible  <bruno@clisp.org>
89136         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
89137         fails.
89139 2008-04-15  Bruno Haible  <bruno@clisp.org>
89141         * lib/trim.c (trim2): Fix argument of isspace() macro.
89143 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
89145         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
89146         to 0.
89147         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
89149 2008-04-14  Bruno Haible  <bruno@clisp.org>
89151         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
89152         AC_LANG_PROGRAM argument.
89153         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
89154         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
89155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
89156         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
89157         * m4/math_h.m4 (gl_MATH_H): Likewise.
89158         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
89159         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
89160         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
89161         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
89162         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
89163         * m4/regex.m4 (gl_REGEX): Likewise.
89164         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
89165         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
89166         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
89167         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
89168         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
89169         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
89170         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
89171         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
89173 2008-04-14  Jim Meyering  <meyering@redhat.com>
89175         test-strtod: fix typos: s/abs/fabs/
89176         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
89178 2008-04-13  Bruno Haible  <bruno@clisp.org>
89180         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
89181         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
89182         module is also used and while not building the reloc-wrapper.
89184 2008-04-13  Bruno Haible  <bruno@clisp.org>
89186         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
89188 2008-04-13  Bruno Haible  <bruno@clisp.org>
89190         Fix AIX compilation failure introduced on 2008-04-02.
89191         * tests/test-frexp.c (exp): Undefine before redefining.
89192         * tests/test-frexpl.c (exp): Likewise.
89194 2008-04-13  Bruno Haible  <bruno@clisp.org>
89196         Work around a HP-UX stdio bug.
89197         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
89198         * tests/test-ftello.c (main): Likewise.
89199         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
89200         * doc/posix-functions/ftello.texi: Likewise.
89202 2008-04-13  Bruno Haible  <bruno@clisp.org>
89204         Make test-signbit pass on HP-UX/hppa.
89205         * tests/test-signbit.c (minus_zerol): New variable.
89206         (test_signbitl): Use it.
89208 2008-04-13  Bruno Haible  <bruno@clisp.org>
89210         Make truncl work on OSF/1 4.0.
89211         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
89212         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
89213         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
89214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
89215         HAVE_DECL_TRUNCL.
89216         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
89217         HAVE_DECL_TRUNCL.
89218         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
89220 2008-04-13  Bruno Haible  <bruno@clisp.org>
89222         * lib/unictype.h: Remove trailing comma from enumeration definitions.
89224 2008-04-13  Bruno Haible  <bruno@clisp.org>
89226         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
89227         expression, so as to avoid HP-UX 11 cc compiler bug.
89229 2008-04-13  Bruno Haible  <bruno@clisp.org>
89231         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
89233 2008-04-13  Bruno Haible  <bruno@clisp.org>
89235         * lib/git-merge-changelog.c: Remove empty declaration outside of
89236         functions.
89238 2008-04-13  Bruno Haible  <bruno@clisp.org>
89240         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
89242 2008-04-13  Bruno Haible  <bruno@clisp.org>
89244         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
89245         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
89246         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
89247         also if it exists but lacks definitions of the SHUT_* macros.
89248         * modules/sys_socket (Description): Update.
89249         Reported by Elbert Pol <e.pol@chello.nl>.
89251 2008-04-13  Bruno Haible  <bruno@clisp.org>
89253         * lib/localcharset.c (OS2): Don't redefine if already defined.
89254         Reported by Elbert Pol <e.pol@chello.nl>.
89256 2008-04-13  Bruno Haible  <bruno@clisp.org>
89258         * lib/binary-io.h [__EMX__]: Include <io.h>.
89259         Reported by Elbert Pol <e.pol@chello.nl>.
89261 2008-04-12  Bruno Haible  <bruno@clisp.org>
89263         * lib/fpucw.h: Enable the definitions also for x86_64.
89264         Needed for NetBSD/x86_64.
89265         Reported by Thomas Klausner <tk@giga.or.at>.
89267 2008-04-12  Bruno Haible  <bruno@clisp.org>
89269         * tests/test-strtod.c: Include isnand.h.
89270         (main): Use isnand instead of isnan.
89271         Reported by Jim Meyering.
89273 2008-04-12  Bruno Haible  <bruno@clisp.org>
89275         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
89276         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
89278 2008-04-12  Jim Meyering  <meyering@redhat.com>
89280         * m4/math_h.m4 (gl_MATH_H): Fix typos.
89282 2008-04-12  Bruno Haible  <bruno@clisp.org>
89284         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
89285         Reported by Elbert Pol <e.pol@chello.nl>.
89287 2008-04-12  Eric Blake  <ebb9@byu.net>
89289         Work around Solaris 10 math.h bug.
89290         * m4/math_h.m4 (gl_MATH_H): Check for bug.
89291         (gl_MATH_H_DEFAULTS): Set up default.
89292         * modules/math (Makefile.am): Replace new indicators.
89293         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
89294         * tests/test-math.c (main): Test this.
89295         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
89296         * doc/posix-headers/math.texi (math.h): Mention bug.
89297         Reported by Nelson H. F. Beebe and Jim Meyering.
89299 2008-04-11  Bruno Haible  <bruno@clisp.org>
89301         Adapt to future versions of Apple GCC.
89302         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
89303         Reported by Peter O'Gorman <peter@pogma.com>.
89305 2008-04-11  Bruno Haible  <bruno@clisp.org>
89307         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
89309 2008-04-11  Bruno Haible  <bruno@clisp.org>
89311         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
89313         * modules/getaddrinfo-tests (Makefile.am): Define
89314         test_getaddrinfo_LDADD.
89316 2008-04-11  Bruno Haible  <bruno@clisp.org>
89318         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
89319         (init): Fix syntax error.
89320         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
89321         is declared.
89323 2008-04-11  Bruno Haible  <bruno@clisp.org>
89325         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
89326         * modules/glob (Depends-on): Add stdbool.
89328 2008-04-11  Bruno Haible  <bruno@clisp.org>
89330         * lib/trim.c: Include <string.h>.
89332 2008-04-11  Eric Blake  <ebb9@byu.net>
89334         Avoid compile failure on OS/2.
89335         * lib/regex_internal.h (internal_function): Disable optimization
89336         on OS/2 (__EMX__), where it caused compiler error.
89337         Reported by Elbert Pol.
89339 2008-04-11  Bruno Haible  <bruno@clisp.org>
89341         Flush the standard error stream before aborting. Needed on mingw.
89342         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
89343         * tests/test-array_list.c (ASSERT): Likewise.
89344         * tests/test-array_oset.c (ASSERT): Likewise.
89345         * tests/test-avltree_list.c (ASSERT): Likewise.
89346         * tests/test-avltree_oset.c (ASSERT): Likewise.
89347         * tests/test-avltreehash_list.c (ASSERT): Likewise.
89348         * tests/test-binary-io.c (ASSERT): Likewise.
89349         * tests/test-byteswap.c (ASSERT): Likewise.
89350         * tests/test-c-ctype.c (ASSERT): Likewise.
89351         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
89352         * tests/test-c-strcasestr.c (ASSERT): Likewise.
89353         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
89354         * tests/test-c-strstr.c (ASSERT): Likewise.
89355         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
89356         * tests/test-canonicalize.c (ASSERT): Likewise.
89357         * tests/test-carray_list.c (ASSERT): Likewise.
89358         * tests/test-ceilf1.c (ASSERT): Likewise.
89359         * tests/test-ceilf2.c (ASSERT): Likewise.
89360         * tests/test-ceill.c (ASSERT): Likewise.
89361         * tests/test-count-one-bits.c (ASSERT): Likewise.
89362         * tests/test-fbufmode.c (ASSERT): Likewise.
89363         * tests/test-fflush2.c (ASSERT): Likewise.
89364         * tests/test-floorf1.c (ASSERT): Likewise.
89365         * tests/test-floorf2.c (ASSERT): Likewise.
89366         * tests/test-floorl.c (ASSERT): Likewise.
89367         * tests/test-fopen.c (ASSERT): Likewise.
89368         * tests/test-fpending.c (ASSERT): Likewise.
89369         * tests/test-fprintf-posix.c (ASSERT): Likewise.
89370         * tests/test-fpurge.c (ASSERT): Likewise.
89371         * tests/test-freadable.c (ASSERT): Likewise.
89372         * tests/test-freadahead.c (ASSERT): Likewise.
89373         * tests/test-freading.c (ASSERT): Likewise.
89374         * tests/test-freadptr.c (ASSERT): Likewise.
89375         * tests/test-freadptr2.c (ASSERT): Likewise.
89376         * tests/test-freadseek.c (ASSERT): Likewise.
89377         * tests/test-freopen.c (ASSERT): Likewise.
89378         * tests/test-frexp.c (ASSERT): Likewise.
89379         * tests/test-frexpl.c (ASSERT): Likewise.
89380         * tests/test-fseek.c (ASSERT): Likewise.
89381         * tests/test-fseeko.c (ASSERT): Likewise.
89382         * tests/test-fstrcmp.c (ASSERT): Likewise.
89383         * tests/test-ftell.c (ASSERT): Likewise.
89384         * tests/test-ftello.c (ASSERT): Likewise.
89385         * tests/test-func.c (ASSERT): Likewise.
89386         * tests/test-fwritable.c (ASSERT): Likewise.
89387         * tests/test-fwriting.c (ASSERT): Likewise.
89388         * tests/test-getdelim.c (ASSERT): Likewise.
89389         * tests/test-getline.c (ASSERT): Likewise.
89390         * tests/test-i-ring.c (ASSERT): Likewise.
89391         * tests/test-iconv-utf.c (ASSERT): Likewise.
89392         * tests/test-iconv.c (ASSERT): Likewise.
89393         * tests/test-isfinite.c (ASSERT): Likewise.
89394         * tests/test-isnand.c (ASSERT): Likewise.
89395         * tests/test-isnanf.c (ASSERT): Likewise.
89396         * tests/test-isnanl.h (ASSERT): Likewise.
89397         * tests/test-ldexpl.c (ASSERT): Likewise.
89398         * tests/test-linked_list.c (ASSERT): Likewise.
89399         * tests/test-linkedhash_list.c (ASSERT): Likewise.
89400         * tests/test-localename.c (ASSERT): Likewise.
89401         * tests/test-lseek.c (ASSERT): Likewise.
89402         * tests/test-mbscasecmp.c (ASSERT): Likewise.
89403         * tests/test-mbscasestr1.c (ASSERT): Likewise.
89404         * tests/test-mbscasestr2.c (ASSERT): Likewise.
89405         * tests/test-mbscasestr3.c (ASSERT): Likewise.
89406         * tests/test-mbscasestr4.c (ASSERT): Likewise.
89407         * tests/test-mbschr.c (ASSERT): Likewise.
89408         * tests/test-mbscspn.c (ASSERT): Likewise.
89409         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
89410         * tests/test-mbspbrk.c (ASSERT): Likewise.
89411         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
89412         * tests/test-mbsrchr.c (ASSERT): Likewise.
89413         * tests/test-mbsspn.c (ASSERT): Likewise.
89414         * tests/test-mbsstr1.c (ASSERT): Likewise.
89415         * tests/test-mbsstr2.c (ASSERT): Likewise.
89416         * tests/test-mbsstr3.c (ASSERT): Likewise.
89417         * tests/test-memchr2.c (ASSERT): Likewise.
89418         * tests/test-memmem.c (ASSERT): Likewise.
89419         * tests/test-open.c (ASSERT): Likewise.
89420         * tests/test-printf-frexp.c (ASSERT): Likewise.
89421         * tests/test-printf-frexpl.c (ASSERT): Likewise.
89422         * tests/test-printf-posix.c (ASSERT): Likewise.
89423         * tests/test-quotearg.c (ASSERT): Likewise.
89424         * tests/test-rbtree_list.c (ASSERT): Likewise.
89425         * tests/test-rbtree_oset.c (ASSERT): Likewise.
89426         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
89427         * tests/test-round1.c (ASSERT): Likewise.
89428         * tests/test-roundf1.c (ASSERT): Likewise.
89429         * tests/test-roundl.c (ASSERT): Likewise.
89430         * tests/test-signbit.c (ASSERT): Likewise.
89431         * tests/test-sleep.c (ASSERT): Likewise.
89432         * tests/test-snprintf-posix.c (ASSERT): Likewise.
89433         * tests/test-snprintf.c (ASSERT): Likewise.
89434         * tests/test-sprintf-posix.c (ASSERT): Likewise.
89435         * tests/test-stat-time.c (ASSERT): Likewise.
89436         * tests/test-strcasestr.c (ASSERT): Likewise.
89437         * tests/test-strerror.c (ASSERT): Likewise.
89438         * tests/test-striconv.c (ASSERT): Likewise.
89439         * tests/test-striconveh.c (ASSERT): Likewise.
89440         * tests/test-striconveha.c (ASSERT): Likewise.
89441         * tests/test-strsignal.c (ASSERT): Likewise.
89442         * tests/test-strstr.c (ASSERT): Likewise.
89443         * tests/test-strtod.c (ASSERT): Likewise.
89444         * tests/test-trunc1.c (ASSERT): Likewise.
89445         * tests/test-trunc2.c (ASSERT): Likewise.
89446         * tests/test-truncf1.c (ASSERT): Likewise.
89447         * tests/test-truncf2.c (ASSERT): Likewise.
89448         * tests/test-truncl.c (ASSERT): Likewise.
89449         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
89450         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
89451         * tests/test-vasnprintf.c (ASSERT): Likewise.
89452         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
89453         * tests/test-vasprintf.c (ASSERT): Likewise.
89454         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
89455         * tests/test-vprintf-posix.c (ASSERT): Likewise.
89456         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
89457         * tests/test-vsnprintf.c (ASSERT): Likewise.
89458         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
89459         * tests/test-wcwidth.c (ASSERT): Likewise.
89460         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
89461         * tests/test-xprintf-posix.c (ASSERT): Likewise.
89462         * tests/test-xvasprintf.c (ASSERT): Likewise.
89463         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
89464         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
89465         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
89466         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
89467         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
89468         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
89469         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
89470         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
89471         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
89472         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
89473         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
89474         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
89475         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
89476         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
89477         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
89478         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
89479         * tests/unictype/test-block_list.c (ASSERT): Likewise.
89480         * tests/unictype/test-block_of.c (ASSERT): Likewise.
89481         * tests/unictype/test-block_test.c (ASSERT): Likewise.
89482         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
89483         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
89484         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
89485         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
89486         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
89487         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
89488         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
89489         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
89490         * tests/unictype/test-combining.c (ASSERT): Likewise.
89491         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
89492         * tests/unictype/test-digit.c (ASSERT): Likewise.
89493         * tests/unictype/test-mirror.c (ASSERT): Likewise.
89494         * tests/unictype/test-numeric.c (ASSERT): Likewise.
89495         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
89496         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
89497         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
89498         * tests/unictype/test-scripts.c (ASSERT): Likewise.
89499         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
89500         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
89501         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
89502         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
89503         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
89504         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
89505         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
89506         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
89507         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
89508         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
89509         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
89510         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
89511         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
89512         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
89513         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
89514         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
89515         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
89516         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
89517         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
89518         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
89519         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
89520         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
89521         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
89522         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
89523         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
89524         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
89525         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
89526         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
89527         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
89528         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
89529         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
89530         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
89531         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
89532         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
89533         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
89534         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
89535         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
89536         Reported by Eric Blake.
89538 2008-04-11  Bruno Haible  <bruno@clisp.org>
89540         * lib/wchar.in.h: Tweak comment.
89542 2008-04-11  Bruno Haible  <bruno@clisp.org>
89544         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
89545         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
89546         gl_COMMON.
89547         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
89549 2008-04-11  Bruno Haible  <bruno@clisp.org>
89551         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
89553 2008-04-11  Simon Josefsson  <simon@josefsson.org>
89555         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
89556         of attempting to use non-existing /dev/*random.  Based on patch
89557         from Adam Strzelecki <ono@java.pl> in
89558         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
89560 2008-04-08  Bruno Haible  <bruno@clisp.org>
89562         Add tentative support for emx+gcc.
89563         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
89564         * lib/fpurge.c (fpurge): Likewise.
89565         * lib/freadable.c (freadable): Likewise.
89566         * lib/freadahead.c (freadahead): Likewise.
89567         * lib/freading.c (freading): Likewise.
89568         * lib/freadptr.c (freadptr): Likewise.
89569         * lib/freadseek.c (freadptrinc): Likewise.
89570         * lib/fseeko.c (rpl_fseeko): Likewise.
89571         * lib/fseterr.c (fseterr): Likewise.
89572         * lib/fwritable.c (fwritable): Likewise.
89573         * lib/fwriting.c (fwriting): Likewise.
89574         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
89576 2008-04-09  Eric Blake  <ebb9@byu.net>
89578         Avoid some autoconf warnings.
89579         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
89580         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
89581         * m4/afs.m4 (gl_AFS): Likewise.
89582         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
89583         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
89584         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
89585         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
89586         (gl_INTEGER_TYPE_SUFFIX): Likewise.
89587         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
89588         (AC_CHECK_DECLS_ONCE): Likewise.
89589         Rename file...
89590         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
89591         gnulib-tool requires autoconf 2.59 or better.
89592         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
89594 2008-04-08  Eric Blake  <ebb9@byu.net>
89596         Use 'git describe --match' if present (added in git 1.5.5).
89597         * build-aux/git-version-gen: Limit result to tags that match 'v*'
89598         if possible.
89600 2008-04-08  Bruno Haible  <bruno@clisp.org>
89602         Add tentative support for OpenServer.
89603         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
89604         _ptr, _cnt.
89605         * lib/fpurge.c (fpurge): Likewise.
89606         * lib/freadable.c (freadable): Likewise.
89607         * lib/freadahead.c (freadahead): Likewise.
89608         * lib/freading.c (freading): Likewise.
89609         * lib/freadptr.c (freadptr): Likewise.
89610         * lib/freadseek.c (freadptrinc): Likewise.
89611         * lib/fseeko.c (rpl_fseeko): Likewise.
89612         * lib/fseterr.c (fseterr): Likewise.
89613         * lib/fwritable.c (fwritable): Likewise.
89614         * lib/fwriting.c (fwriting): Likewise.
89615         Reported by Roger Cornelius <rac@tenzing.org> and
89616         Brian K. White <brian@aljex.com>.
89618 2008-04-06  Jim Meyering  <meyering@redhat.com>
89620         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
89622 2008-04-06  Bruno Haible  <bruno@clisp.org>
89624         Avoid possible error with non-ASCII bytes in UTF-8 locales.
89625         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
89626         * tests/test-printf-posix.sh: Likewise.
89627         * tests/test-vfprintf-posix.sh: Likewise.
89628         * tests/test-vprintf-posix.sh: Likewise.
89629         * tests/test-xprintf-posix.sh: Likewise.
89631 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89633         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
89634         hide error from 'ls', needed on OS/2.
89635         Report by Elbert Pol <elbert.pol@gmail.com>.
89637 2008-04-04  Eric Blake  <ebb9@byu.net>
89639         Make test-fseeko.c failures meaningful.
89640         * tests/test-fseeko.c: Print line number on failure.
89641         * tests/test-fseek.c: Likewise.
89642         Reported by Nelson H. F. Beebe.
89644         Improve strtod bug detection check.
89645         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
89646         required for Solaris 10.
89647         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
89649 2008-04-04  Bruno Haible  <bruno@clisp.org>
89651         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
89652         by m4/setenv.m4.
89654 2008-04-03  Eric Blake  <ebb9@byu.net>
89656         Ensure sane .version contents.
89657         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
89658         version string.
89659         * build-aux/git-version-gen: Improve documentation.
89661         Make GNU make output nicer.
89662         * top/GNUmakefile [!_have-Makefile]: Add dependency on
89663         MAKECMDGOALS to enforce message for all command line targets.  Set
89664         srcdir for use in maint.mk.
89666         Another maintainer tweak.
89667         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
89668         a target that regenerates version.
89670 2008-04-03  Jim Meyering  <meyering@redhat.com>
89672         vc-list-files: don't cause coreutils "make po-check" failure
89673         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
89675 2008-04-03  Eric Blake  <ebb9@byu.net>
89677         Allow VPATH usage of vc-list-files.
89678         * build-aux/vc-list-files (scriptversion): Add timestamp.
89679         (options): Add --help, --version, -C.
89680         (CVS): Support installed cvsu.
89682 2008-04-02  Bruno Haible  <bruno@clisp.org>
89684         Avoid some "statement with no effect" warnings from gcc.
89685         * tests/test-wctype.c (main): Explicitly ignore unused values.
89686         Reported by Jim Meyering.
89688 2008-04-02  Jim Meyering  <meyering@redhat.com>
89690         Avoid some warnings from "gcc -Wshadow".
89691         * tests/test-frexp.c (exp): Define to a different identifier.
89692         * tests/test-frexpl.c (exp): Likewise.
89694 2008-04-03  Jim Meyering  <meyering@redhat.com>
89696         bootstrap: remove dangling *.[ch] symlinks from lib
89697         * build-aux/bootstrap [dangling symlink removal]: Move find's
89698         -depth option to precede all others, to avoid a warning.
89699         Remove *.[ch] files too, and from "$source_base" (usually lib/).
89701 2008-04-02  Bruno Haible  <bruno@clisp.org>
89703         Avoid some warnings from "gcc -Wshadow".
89704         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
89705         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
89706         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
89707         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
89708         Reported by Jim Meyering.
89710 2008-04-01  Bruno Haible  <bruno@clisp.org>
89712         Fix test to work on IRIX 6.5 with cc.
89713         * tests/test-math.c (numeric_equal): New function.
89714         (main): Use it.
89716 2008-04-01  Bruno Haible  <bruno@clisp.org>
89718         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
89720 2008-04-01  Bruno Haible  <bruno@clisp.org>
89722         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
89723         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
89724         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
89725         (Depends-on): Remove math.
89727         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
89728         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
89729         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
89730         (Depends-on): Remove math.
89732         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
89733         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
89734         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
89735         (Depends-on): Remove math.
89736         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
89737         (Depends-on): Remove math.
89739         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
89740         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
89741         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
89742         (Depends-on): Remove math.
89743         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
89744         (Depends-on): Remove math.
89746         * tests/test-round1.c: Include nan.h.
89747         (main): Use NaNd instead of NAN.
89748         * modules/round-tests (Files): Add tests/nan.h.
89750         * tests/test-trunc1.c: Include nan.h.
89751         (main): Use NaNd instead of NAN.
89752         * modules/trunc-tests (Files): Add tests/nan.h.
89754         * tests/test-roundf1.c: Include nan.h.
89755         (main): Use NaNf instead of NAN.
89756         * modules/roundf-tests (Files): Add tests/nan.h.
89758         * tests/test-truncf1.c: Include nan.h.
89759         (main): Use NaNf instead of NAN.
89760         * modules/truncf-tests (Files): Add tests/nan.h.
89762         * tests/test-ceilf1.c: Include nan.h.
89763         (main): Use NaNf instead of NAN.
89764         * modules/ceilf-tests (Files): Add tests/nan.h.
89766         * tests/test-floorf1.c: Include nan.h.
89767         (main): Use NaNf instead of NAN.
89768         * modules/floorf-tests (Files): Add tests/nan.h.
89770         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
89771         (main): Use NaNf instead of NAN.
89772         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
89774         * tests/test-isnand.c: Include nan.h instead of <math.h>.
89775         (main): Use NaNd instead of NAN.
89776         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
89778         * tests/test-frexp.c: Include nan.h.
89779         (main): Use NaNd instead of NAN.
89780         * modules/frexp-tests (Files): Add tests/nan.h.
89782         * lib/isnan.c: Don't include <math.h>.
89783         (FUNC): Don't use NAN macro.
89784         * modules/isnand-nolibm (Depends-on): Remove math.
89785         * modules/isnanf-nolibm (Depends-on): Remove math.
89786         * modules/isnanl (Depends-on): Remove math.
89787         * modules/isnanl-nolibm (Depends-on): Remove math.
89789         * tests/nan.h: New file.
89791 2008-04-01  Eric Blake  <ebb9@byu.net>
89793         Fix typos.
89794         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
89795         values to be the right type.
89797         For now, cater to gnulib strtod inaccuracies.
89798         * tests/test-strtod.c (main): Allow 1-ulp error on expected
89799         fractional results.  While not as nice from a QoI perspective, it
89800         is a quicker patch than correctly implementing decimal to binary
89801         rounding.
89803 2008-03-31  Eric Blake  <ebb9@byu.net>
89805         Guarantee a definition of NAN.
89806         * lib/math.in.h (NAN): Define if missing.
89807         * tests/test-math.c (main): Test it.
89808         * doc/posix-headers/math.texi (math.h): Document this.
89809         * lib/isnan.c (rpl_isnand): Use it.
89810         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
89811         * tests/test-floorf1.c (NaN): Likewise.
89812         * tests/test-frexp.c (NaN): Likewise.
89813         * tests/test-isnand.c (NaN): Likewise.
89814         * tests/test-isnanf.c (NaN): Likewise.
89815         * tests/test-round1.c (NaN): Likewise.
89816         * tests/test-roundf1.c (NaN): Likewise.
89817         * tests/test-snprintf-posix.h (NaN): Likewise.
89818         * tests/test-sprintf-posix.h (NaN): Likewise.
89819         * tests/test-trunc1.c (NaN): Likewise.
89820         * tests/test-truncf1.c (NaN): Likewise.
89821         * tests/test-vasnprintf-posix.c (NaN): Likewise.
89822         * tests/test-vasprintf-posix.c (NaN): Likewise.
89823         * modules/isnand-nolibm (Depends-on): Add math.
89824         * modules/isnanf-nolibm (Depends-on): Likewise.
89825         * modules/isnanl (Depends-on): Likewise.
89826         * modules/isnanl-nolibm (Depends-on): Likewise.
89827         * modules/snprintf-posix-tests (Depends-on): Likewise.
89828         * modules/sprintf-posix-tests (Depends-on): Likewise.
89829         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
89830         * modules/vsprintf-posix-tests (Depends-on): Likewise.
89831         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
89832         * modules/vasprintf-posix-tests (Depends-on): Likewise.
89834 2008-03-31  Bruno Haible  <bruno@clisp.org>
89836         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
89837         * doc/posix-functions/strtod.texi: Likewise.
89839 2008-03-31  Bruno Haible  <bruno@clisp.org>
89841         * tests/test-strtod.c (main): Don't use C99 syntax.
89843 2008-03-31  Bruno Haible  <bruno@clisp.org>
89845         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
89846         Reported by Eric Blake.
89848 2008-03-31  Jim Meyering  <meyering@redhat.com>
89850         Don't compare actual signbit return values.
89851         * tests/test-strtod.c (main): Rather, compare only their
89852         zero/non-zero nature.
89854 2008-03-31  Eric Blake  <ebb9@byu.net>
89856         More strtod documentation.
89857         * doc/posix-functions/strtod.texi (strtod): Interpret more test
89858         failures as distinct bugs.
89860 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89862         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
89863         Problem reported by Erik Benada in
89864         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
89866 2008-03-30  Bruno Haible  <bruno@clisp.org>
89868         * tests/test-strtod.c: Add comments about which assertion fails on which
89869         platform.
89870         * doc/posix-functions/strtod.texi: Add info about many more platforms.
89872 2008-03-30  Eric Blake  <ebb9@byu.net>
89874         Test signbit behavior on zeros.
89875         * tests/test-signbit.c (test_signbitf): Add tests for zero.
89876         (test_signbitd, test_signbitl): Likewise.
89878         More strtod touchups.
89879         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
89880         sign of negative underflow, for now.  Use .5, not .1.
89881         * doc/posix-functions/strtod.texi (strtod): Mention these
89882         limitations.
89883         Reported by Jim Meyering.
89885 2008-03-30  Bruno Haible  <bruno@clisp.org>
89887         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
89888         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
89890 2008-03-30  Bruno Haible  <bruno@clisp.org>
89892         Avoid failure when attempting to return empty iconv results on some
89893         platforms.
89894         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
89895         allocation, don't report ENOMEM when the resulting string is empty.
89897 2008-03-30  Bruno Haible  <bruno@clisp.org>
89899         Fix buffer overrun.
89900         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
89901         Don't consider the width for tmp_length. Check count against tmp_length
89902         before doing the padding. Ensure enough allocation during padding.
89904 2008-03-30  Eric Blake  <ebb9@byu.net>
89906         strtod touchups.
89907         * lib/strtod.c (strtod): Avoid compiler warnings.
89908         Reported by Jim Meyering.
89910 2008-03-30  Bruno Haible  <bruno@clisp.org>
89912         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
89913         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
89914         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
89915         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
89916         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
89917         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
89918         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
89919         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
89921         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
89922         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
89923         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
89924         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
89925         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
89926         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
89927         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
89928         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
89930         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
89931         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
89932         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
89933         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
89934         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
89935         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
89936         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
89937         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
89939         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
89940         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
89942         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
89943         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
89945         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
89946         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
89948         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
89949         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
89950         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
89952         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
89953         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
89954         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
89956         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
89957         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
89958         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
89960         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
89961         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
89962         * modules/vasprintf (Depends-on): Add EOVERFLOW.
89964         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
89965         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
89966         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
89967         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
89968         (Depends-on): Add EOVERFLOW.
89969         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
89970         (Depends-on): Add EOVERFLOW.
89971         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
89972         (Depends-on): Add EOVERFLOW.
89973         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
89974         (Depends-on): Add EOVERFLOW.
89975         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
89976         (Depends-on): Add EOVERFLOW.
89977         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
89978         (Depends-on): Add EOVERFLOW.
89979         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
89980         (Depends-on): Add EOVERFLOW.
89981         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
89982         (Depends-on): Add EOVERFLOW.
89984         * lib/sprintf.c (EOVERFLOW): Remove fallback.
89985         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
89986         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
89988         * lib/snprintf.c (EOVERFLOW): Remove fallback.
89989         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
89990         * modules/snprintf (Depends-on): Add EOVERFLOW.
89992         * lib/poll.c (EOVERFLOW): Remove fallback.
89993         * modules/poll (Depends-on): Add EOVERFLOW.
89995         * lib/getugroups.c (EOVERFLOW): Remove fallback.
89996         * modules/getugroups (Depends-on): Add EOVERFLOW.
89998         * lib/getdelim.c (EOVERFLOW): Remove fallback.
89999         * modules/getdelim (Depends-on): Add EOVERFLOW.
90001         * lib/ftell.c (EOVERFLOW): Remove fallback.
90002         * modules/ftell (Depends-on): Add EOVERFLOW.
90004         * lib/fprintf.c (EOVERFLOW): Remove fallback.
90005         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
90006         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
90008         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
90010         * modules/EOVERFLOW-tests: New file.
90011         * tests/test-EOVERFLOW.c: New file.
90013         * modules/EOVERFLOW: New file.
90014         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
90016 2008-03-30  Bruno Haible  <bruno@clisp.org>
90018         Fix bug introduced on 2007-06-10.
90019         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
90020         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
90022 2008-03-30  Bruno Haible  <bruno@clisp.org>
90024         Improve freadseek's efficiency after ungetc.
90025         * lib/freadseek.c: Include freadahead.h.
90026         (freadptrinc): New function, extracted from freadseek.
90027         (freadseek): Use it in a loop. Use freadahead to determine the number
90028         of loop iterations.
90029         * modules/freadseek (Depends-on): Add freadahead.
90030         (configure.ac): Require AC_C_INLINE.
90032 2008-03-30  Bruno Haible  <bruno@clisp.org>
90034         * lib/freadseek.c (freadseek): Don't ignore the return value of
90035         freadptr.
90037 2008-03-29  Eric Blake  <ebb9@byu.net>
90039         Add hex float support.
90040         * modules/strtod (Depends-on): Add c-ctype.
90041         (Link): Mention POW_LIB.
90042         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
90043         whitespace between 'e' and exponent.
90044         * tests/test-strtod.c (main): Enable hex float tests.
90045         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
90046         now provides.
90048         Document various strtod bugs, with some fixes.
90049         * doc/posix-functions/strtod.texi (strtod): Document bugs with
90050         "-0x", "inf", "nan", and hex constants.
90051         * doc/posix-functions/atof.texi (atof): Likewise.
90052         * modules/stdlib (Makefile.am): Support strtod.
90053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
90054         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
90055         detect additional strtod bugs.
90056         * lib/stdlib.in.h (rpl_strtod): Add declarations.
90057         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
90058         bool where appropriate.  Parse 'inf' and 'nan'.
90059         * tests/test-strtod.c: New file.
90060         * modules/strtod (Depends-on): Add stdbool, stdlib.
90061         (configure.ac): Turn on module indicator.
90062         * modules/strtod-tests: New module.
90064 2008-03-29  Eric Blake  <ebb9@byu.net>
90066         Fix ftell on mingw.
90067         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
90068         * modules/ftell-tests (Depends-on): Add binary-io.
90069         * modules/ftello-tests (Depends-on): Likewise.
90070         * tests/test-ftell.c (main): Enhance test to cover behavior after
90071         ungetc.  Enforce binary mode.
90072         * tests/test-ftello.c (main): Likewise.
90074         Pass test-freadseek on cygwin.
90075         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
90076         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
90077         ungetc buffer.
90079         * tests/test-fflush2.c (main): Fix typo.
90081 2008-03-29  Bruno Haible  <bruno@clisp.org>
90083         * tests/test-fflush2.c (main): Temporarily disable the contents of
90084         this test.
90085         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
90086         Reported by Eric Blake.
90088 2008-03-28  Simon Josefsson  <simon@josefsson.org>
90090         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
90091         (GC_SHA224_DIGEST_SIZE): Add.
90093         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
90094         (gc_hash_digest_length): Likewise.
90095         (gc_hash_buffer): Likewise.
90097 2008-03-25  Bruno Haible  <bruno@clisp.org>
90099         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
90100         detail which gettext release to use.
90101         Reported by Simon Josefsson.
90103 2008-03-26  Jim Meyering  <meyering@redhat.com>
90105         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
90106         * modules/gnumakefile (clean-GNUmakefile): Also, use
90107         test ... && ... || : syntax rather than if-then ... fi.
90109         gnumakefile: Don't double-quote-expand $(VPATH) value.
90110         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
90112 2008-03-24  Eric Blake  <ebb9@byu.net>
90114         Alter GNUmakefile to install into top directory.
90115         * modules/maintainer-makefile: Split, and add dependency...
90116         * modules/gnumakefile: to this new module.
90117         * build-aux/GNUmakefile: Move...
90118         * top/GNUmakefile: ...here.
90119         * build-aux/maint.mk: Move...
90120         * top/maint.mk: ...here.
90121         * MODULES.html.sh (Support for maintaining...): Document new
90122         module.
90124 2008-03-23  Bruno Haible  <bruno@clisp.org>
90126         * gnulib-tool: New options --vc-files, --no-vc-files.
90127         (func_usage): Document them.
90128         (vc_files): New variable.
90129         (func_import): Consider vc_files.
90130         (func_create_testdir): Set vc_files to empty.
90131         Suggested by Jim Meyering and Karl Berry.
90133 2008-03-23  Bruno Haible  <bruno@clisp.org>
90135         Fix regex compilation error on HP-UX 11.
90136         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
90137         * modules/regex (Files): Add m4/mbstate_t.m4.
90138         Reported by Ton Voon <ton.voon@altinity.com>.
90140 2008-03-23  Bruno Haible  <bruno@clisp.org>
90142         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
90144 2008-03-23  Eric Blake  <ebb9@byu.net>
90145             Bruno Haible  <bruno@clisp.org>
90147         Install files from top/ in the destination directory.
90148         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
90149         augmentation also for the files from top/.
90150         (func_import, func_create_testdir): Rewrite file names:
90151         top/filename -> filename.
90153 2008-03-23  Bruno Haible  <bruno@clisp.org>
90155         Tweak "gnulib --version" output.
90156         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
90158 2008-03-23  Bruno Haible  <bruno@clisp.org>
90160         Tweak "gnulib --version" output.
90161         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
90162         rather than contents of ChangeLog, when possible.
90164 2008-03-21  Eric Blake  <ebb9@byu.net>
90166         More --version tweaks.
90167         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
90168         date of last ChangeLog entry.
90170 2008-03-21  Jim Meyering  <meyering@redhat.com>
90172         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
90174 2008-03-20  Eric Blake  <ebb9@byu.net>
90176         VPATH fix.
90177         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
90179 2008-03-20  Simon Josefsson  <simon@josefsson.org>
90181         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
90182         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
90184 2008-03-20  Eric Blake  <ebb9@byu.net>
90186         Sync GNUmakefile with coreutils.
90187         * build-aux/GNUmakefile (have-Makefile): Rename...
90188         (_have-Makefile): ...to this, for namespace consideration.
90189         (GNUmakefile.cfg): Include, if present.
90190         (_autoreconf): Define a default.
90191         (_is-dist-target): New rule for rebuilds to pick up intra-release
90192         version.
90193         (maint-cfg.mk): Rename...
90194         (cfg.mk): ...to this.
90196 2008-03-18  Jim Meyering  <meyering@redhat.com>
90198         New script and module: mktempd
90199         * MODULES.html.sh (maint+release support): Add mktempd.
90200         * build-aux/mktempd: New file.
90201         * modules/mktempd: New file.
90203 2008-03-15  Jim Meyering  <meyering@redhat.com>
90205         Undo last change.
90206         * lib/sha1.c, lib/md5.c: 63 != ~63.
90207         Reported by Andreas Schwab.
90209         sha1.c, md5.c: Hoist a redundant expression.
90210         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
90211         "ctx->buflen" only once, before calling *_process_block.
90212         * lib/md5.c (md5_process_bytes): Likewise.
90214 2008-03-14  Eric Blake  <ebb9@byu.net>
90216         Bump copyright year in files generated by gnulib-tool.
90217         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
90218         gnulib-tool, rather than hard-coding it.
90220         Fix 'gnulib-tool --version' output to work with git.
90221         * gnulib-tool (func_gnulib_dir): New function, extracted from...
90222         (startup): ...here.
90223         (func_version): Use it to invoke git-version-gen, rather than
90224         relying on CVS keyword expansion.  Modernize wording.
90225         (cvsdatestamp, last_checkin_date, version): Kill unused
90226         variables.
90228 2008-03-12  Jim Meyering  <meyering@redhat.com>
90230         Recognize optional cast of the argument to free.
90231         * build-aux/useless-if-before-free: Update regexps.
90233         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
90235 2008-03-11  Bruno Haible  <bruno@clisp.org>
90237         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
90238         by a single package.
90239         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
90240         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
90241         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
90242         Reported by Sam Steingold <sds@gnu.org>.
90244 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
90246         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
90247         repositories.
90249 2008-03-11  Bruno Haible  <bruno@clisp.org>
90251         Avoid conflicts between local macro definitions.
90252         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
90253         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
90255 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
90256             Bruno Haible  <bruno@clisp.org>
90258         Make va_copy work with some version of xlc on AIX 5.1.
90259         * lib/stdarg.in.h: New file.
90260         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
90261         On AIX, use a <stdarg.h> file substitute.
90262         * modules/stdarg (Files): Add lib/stdarg.in.h.
90263         (Depends-on): Add include_next.
90264         (Makefile.am): Build a stdarg.h substitute if requested.
90265         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
90267 2008-03-10  Bruno Haible  <bruno@clisp.org>
90269         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
90270         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
90271         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
90273 2008-03-10  Bruno Haible  <bruno@clisp.org>
90275         * modules/stdlib (Depends-on): Add include_next, remove
90276         absolute-header.
90278 2008-03-09  Bruno Haible  <bruno@clisp.org>
90280         * lib/freadahead.h (freadahead): Document more precisely.
90281         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
90282         the sum of both buffer sizes.
90283         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
90284         * NEWS: Document the change.
90286 2008-03-09  Bruno Haible  <bruno@clisp.org>
90288         Extend freadptr to return also the buffer size.
90289         * lib/freadptr.h (freadptr): Add sizep argument.
90290         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
90291         (freadptr): Add sizep argument. Determine buffer size like freadahead
90292         does.
90293         * tests/test-freadptr.c: Don't include freadahead.h.
90294         (main): Adapt for new calling convention of freadptr.
90295         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
90296         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
90297         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
90298         tests/test-freadptr2.sh.
90299         (Depends): Remove freadahead.
90300         (TESTS): Add test-freadptr2.sh.
90301         (check_PROGRAMS): Add test-freadptr2.
90303 2008-03-09  Bruno Haible  <bruno@clisp.org>
90305         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
90306         Report and solution by Simon Josefsson.
90308 2008-03-06  Bruno Haible  <bruno@clisp.org>
90310         Make fflush after ungetc work on BSD platforms.
90311         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
90312         * tests/test-fflush2.c: New file.
90313         * tests/test-fflush2.sh: New file.
90314         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
90315         tests/test-fflush2.c.
90316         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
90317         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
90319 2008-03-06  Eric Blake  <ebb9@byu.net>
90321         Likewise for ftello.
90322         * modules/ftello (Dependencies): Add extensions.
90323         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
90325 2008-03-06  Bruno Haible  <bruno@clisp.org>
90327         * modules/fseeko (Dependencies): Add extensions.
90328         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
90329         Needed on glibc systems.
90331 2008-03-06  Bruno Haible  <bruno@clisp.org>
90333         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
90334         email address.
90335         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
90337 2008-03-06  Bruno Haible  <bruno@clisp.org>
90339         * users.txt: Add libgnupdf.
90341 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
90343         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
90344         (Header File Substitutes, Function Substitutes,
90345         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
90346         (Build robot for gnulib): Fix typo.
90348 2008-03-06  Bruno Haible  <bruno@clisp.org>
90350         * doc/gnulib-tool.texi (VCS Issues): Small updates.
90351         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
90353 2008-03-06  Bruno Haible  <bruno@clisp.org>
90355         * doc/func.texi: New file, extracted from doc/gnulib.texi.
90356         * doc/gnulib.texi: Include it.
90358 2008-03-06  Simon Josefsson  <simon@josefsson.org>
90360         * modules/func (License): Change license to unlimited; there was
90361         no LGPL parts in the module anyway.
90363 2008-03-06  Simon Josefsson  <simon@josefsson.org>
90365         * modules/__func__: Renamed to modules/func.
90366         * modules/__func__-tests: Renamed to modules/func-tests.
90367         * tests/test-__func__.c: Renamed to tests/test-func.c.
90368         * m4/__func__.m4: Renamed to m4/func.m4.
90369         * doc/gnulib.texi (__func__): Section renamed to func.
90370         Suggested by Eric Blake <ebb9@byu.net>.
90372 2008-03-06  Simon Josefsson  <simon@josefsson.org>
90374         * doc/gnulib.texi (__func__): Use C99 terminology when talking
90375         about __func__.  Make example self-contained.  Suggested by Eric
90376         Blake <ebb9@byu.net>.
90378         * tests/test-__func__.c (main): Avoid extraneous () around __func.
90379         Suggested by Eric Blake <ebb9@byu.net>.
90381 2008-03-06  Simon Josefsson  <simon@josefsson.org>
90383         * modules/__func__: New file.
90384         * modules/__func__-tests: New file.
90385         * tests/test-__func__.c: New file.
90386         * m4/__func__.m4: New file.
90387         * doc/gnulib.texi (__func__): Document __func__ module.
90389 2008-03-05  Simon Josefsson  <simon@josefsson.org>
90391         * modules/byteswap (License): Re-license as LGPLv2+.
90393 2008-03-05  Simon Josefsson  <simon@josefsson.org>
90395         * doc/Makefile: Add pdf target.
90397 2008-03-05  Simon Josefsson  <simon@josefsson.org>
90399         * modules/inline (License): Use 'unlimited', since there are only
90400         *.m4 files in this module.
90402 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
90403             Bruno Haible  <bruno@clisp.org>
90405         Add support for HP C 7.1 on OpenVMS 8.3.
90406         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
90408 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
90410         Update VMS specifics.
90411         * lib/getopt.c [VMS]: Remove include of unixlib.h.
90413 2008-03-02  Jim Meyering  <meyering@redhat.com>
90415         Remove the last dependency on the "free" module.
90416         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
90417         Reported by Bob Proulx.
90419         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
90421         Remove useless "if" tests before free.  Deprecate "free" module.
90422         * doc/posix-functions/free.texi: Mention that this
90423         module is no longer useful.
90424         * modules/free (Notice): Say this module is obsolete.
90425         * modules/readutmp (Depends-on): Remove free.
90426         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
90427         * lib/putenv.c (putenv): Likewise.
90428         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
90429         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
90430         * tests/test-c-strcasestr.c (main): Likewise.
90431         * tests/test-c-strstr.c (main): Likewise.
90432         * tests/test-mbscasestr1.c (main): Likewise.
90433         * tests/test-mbscasestr2.c (main): Likewise.
90434         * tests/test-mbsstr1.c (main): Likewise.
90435         * tests/test-mbsstr2.c (main): Likewise.
90436         * tests/test-memmem.c (main): Likewise.
90437         * tests/test-strcasestr.c (main): Likewise.
90438         * tests/test-striconv.c (main): Likewise.
90439         * tests/test-striconveh.c (main): Likewise.
90440         * tests/test-striconveha.c (main): Likewise.
90441         * tests/test-strstr.c (main): Likewise.
90443         * build-aux/git-version-gen: Adjust a comment and the Usage string.
90445         bootstrap: sync from coreutils again
90446         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
90448 2008-03-01  Jim Meyering  <meyering@redhat.com>
90450         bootstrap: sync from coreutils
90451         * build-aux/bootstrap (update_po_files): Copy a .po file into place
90452         also when the target doesn't exist.
90454 2008-03-01  Eric Blake  <ebb9@byu.net>
90456         Fix bugs in last patch.
90457         * lib/memchr2.c (memchr2): Fix typo.
90458         * tests/test-memchr2.c: Test previous bug, and don't use GNU
90459         extension.
90460         Reported by Bruce Korb.
90462         New module 'memchr2'.
90463         * modules/memchr2: New file.
90464         * modules/memchr2-tests: Likewise.
90465         * lib/memchr2.h: Likewise.
90466         * lib/memchr2.c: Likewise, based on memchr.c.
90467         * tests/test-memchr2.c: New test.
90468         * MODULES.html.sh (String handling): Add memchr2.
90470 2008-02-29  Bruno Haible  <bruno@clisp.org>
90472         * modules/freadseek-tests: New file.
90473         * tests/test-freadseek.sh: New file.
90474         * tests/test-freadseek.c: New file.
90476         New module 'freadseek'.
90477         * modules/freadseek: New file.
90478         * lib/freadseek.h: New file.
90479         * lib/freadseek.c: New file.
90480         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
90482 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
90484         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
90485         wydawca.
90487         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
90488         program_invocation_name and program_invocation_short_name are
90489         present.
90491 2008-02-28  Bruno Haible  <bruno@clisp.org>
90493         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
90494         * tests/test-freadptr.sh: Also test non-seekable stdin.
90496 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
90498         * build-aux/bootstrap (source_base, m4_base)
90499         (doc_base, tests_base): New variables.
90500         (gnulib_tool_options): Do not hardcode base directories, use
90501         the above variables instead.
90503 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
90505         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
90507 2008-02-28  Bruno Haible  <bruno@clisp.org>
90509         * modules/freadptr-tests: New file.
90510         * tests/test-freadptr.sh: New file.
90511         * tests/test-freadptr.c: New file.
90513         New module 'freadptr'.
90514         * modules/freadptr: New file.
90515         * lib/freadptr.h: New file.
90516         * lib/freadptr.c: New file.
90517         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
90519 2008-02-26  Karl Berry  <karl@freefriends.org>
90521         Sync from Libtool:
90522         * libltdl/argz.c (argz_add, argz_count): New functions.
90523         * libltdl/argz.in.h: Declare them.
90524         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
90526 2008-02-22  Bruno Haible  <bruno@clisp.org>
90528         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
90529         is a pointer type.  Needed for HP-UX 10.
90530         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
90531         * doc/posix-functions/gmtime_r.texi: Likewise.
90532         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
90534 2008-02-24  Bruno Haible  <bruno@clisp.org>
90536         * modules/environ-tests: New file.
90537         * tests/test-environ.c: New file.
90539         New module 'environ'.
90540         * modules/environ: New file.
90541         * lib/unistd.in.h (environ): New declaration.
90542         * m4/environ.m4: New file.
90543         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
90544         after use.
90545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
90546         HAVE_DECL_ENVIRON.
90547         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
90548         HAVE_DECL_ENVIRON.
90549         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
90550         wrong claim that 'environ' is missing on some systems.
90551         * modules/execute (Depends-on): Add environ.
90552         * lib/execute.c (environ): Remove fallback declaration.
90553         * modules/pipe (Depends-on): Add environ.
90554         * lib/pipe.c (environ): Remove fallback declaration.
90555         * modules/setenv (Depends-on): Add environ.
90556         * lib/setenv.c (environ): Remove fallback declaration.
90557         * modules/unsetenv (Depends-on): Add environ.
90558         * lib/unsetenv.c (environ): Remove fallback declaration.
90559         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
90560         m4/environ.m4.
90561         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
90562         (gl_PREREQ_UNSETENV): Likewise.
90564 2008-02-24  Bruno Haible  <bruno@clisp.org>
90566         * doc/posix-functions/environ.texi: Document the MacOS X problem.
90568 2008-02-20  Bob Proulx  <bob@proulx.com>
90570         Enable use of older two part flavor 'git describe'.
90571         * build-aux/git-version-gen: If using the older two part flavor of
90572         git version then recreate the third part now present in the
90573         newer three part flavor of git describe.
90575 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
90577         * lib/fts.c (fts_build): Typo correction to comment.
90579 2008-02-17  Bruno Haible  <bruno@clisp.org>
90581         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
90582         generating no-op conflicts.
90584 2008-02-17  Bruno Haible  <bruno@clisp.org>
90586         Speed up by 10%.
90587         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
90588         result_entries, rather than an index-based loop.
90590 2008-02-17  Bruno Haible  <bruno@clisp.org>
90592         Speed up by 25%.
90593         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
90594         'hashcode_cached'.
90595         (entry_create): New function.
90596         (entry_hashcode): Use the cached hashcode if possible.
90597         (read_changelog_file, try_split_merged_entry): Use entry_create.
90599 2008-02-17  Bruno Haible  <bruno@clisp.org>
90601         Speed up from O(n^2) to O(n) for long ChangeLog files.
90602         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
90603         (read_changelog_file): Change implementation of entries_reversed list
90604         to rbtreehash.
90605         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
90607 2008-02-17  Bruno Haible  <bruno@clisp.org>
90609         New option --split-merged-entry.
90610         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
90611         (find_paragraph_end, try_split_merged_entry): New functions.
90612         (long_options): Add option --split-merged-entry.
90613         (usage): Document option --split-merged-entry.
90614         (main): Implement option --split-merged-entry.
90615         Reported by Eric Blake.
90617 2008-02-17  Bruno Haible  <bruno@clisp.org>
90619         * lib/git-merge-changelog.c: Include c-strstr.h.
90620         (main): Support the "git pull --rebase" situation.
90621         * modules/git-merge-changelog (Depends-on): Add c-strstr.
90622         Reported by Eric Blake.
90624 2008-02-16  Eric Blake  <ebb9@byu.net>
90626         Avoid doubling \ in common case of "c-maybe" quoting style.
90627         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
90628         eliding outer quotes.
90629         * lib/quotearg.h: Document this.
90630         * tests/test-quotearg.c (result_strings, inputs, results_g)
90631         (flag_results, locale_results): Test it by adding a new string to
90632         each test group.
90633         (compare_strings): Test new string.
90635 2008-02-13  Eric Blake  <ebb9@byu.net>
90637         Avoid trigraph quoting in default output.
90638         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
90639         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
90640         unless explicitly requested.
90641         * tests/test-quotearg.c (flag_results, main): Add additional tests.
90643 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
90645         Don't rely on signed integer overflowing to negative value.
90646         * lib/getugroups.c (getugroups): Include <limits.h>.
90647         Instead, compare against INT_MAX, and increment only if the test passes.
90649 2008-02-13  Jim Meyering  <meyering@redhat.com>
90650         and Eric Blake  <ebb9@byu.net>
90652         Avoid shadowing warning and compile errors on Linux.
90653         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
90654         forwarding macros on Linux.
90655         (dcgettext): Define a stub, for Linux.
90656         (results_g, main): Avoid warnings.
90658 2008-02-12  Eric Blake  <ebb9@byu.net>
90660         Silence warning in last patch.
90661         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
90663         Quotearg part 4: add tests, fix c-maybe colon quoting.
90664         * lib/quotearg.h: Improve documentation.
90665         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
90666         escapes when adding outer quotes.  When quoting trigraphs, use
90667         valid C notation.  When quoting NUL, omit extra characters if next
90668         character is not digit.  Alter prototype.
90669         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
90670         callers.
90671         * modules/quotearg-tests: New module.
90672         * tests/test-quotearg.c: New test.
90674 2008-02-07  Eric Blake  <ebb9@byu.net>
90676         Quotearg part 3: add flag to control outer quote elision.
90677         * lib/quotearg.h (c_maybe_quoting_style): New style.
90678         (enum quoting_flags): Better documentation of flags.
90679         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
90680         c-maybe style.
90681         (quotearg_buffer_restyled): Handle new flag to elide outer
90682         quotes.
90684         Quotearg part 2: add flag that can control NUL elision.
90685         * lib/quotearg.h (set_quoting_flags): New prototype.
90686         * lib/quotearg.c (struct quoting_options): Add flag field.
90687         (set_quoting_flags): New function.
90688         (quotearg_buffer_restyled): Add flags parameter.
90689         (quotearg_alloc_mem): Set the flag if length cannot be returned.
90690         (quotearg_n_options): Set the flag, since length cannot be
90691         returned.
90692         (quoting_options_from_style): Default flags correctly.
90694         Quotearg part 1: more wrappers, restore quotearg_char state.
90695         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
90696         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
90697         (quotearg_colon_mem): New wrappers.
90698         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
90699         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
90700         functions.
90701         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
90702         (quotearg_colon_mem): New functions.
90704 2008-02-11  Bruno Haible  <bruno@clisp.org>
90706         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
90707         library in the current directory: it does not work with parallel make.
90708         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
90710 2008-02-11  Bruno Haible  <bruno@clisp.org>
90712         * .gitattributes: New file.
90714 2008-02-11  Jim Meyering  <meyering@redhat.com>
90716         useless-if-before-free: Fix reversed exit values.
90717         * build-aux/useless-if-before-free: Use correct values
90718         for EXIT_MATCH and EXIT_NO_MATCH.
90720         * build-aux/useless-if-before-free: Close stdout carefully.
90722 2008-02-10  Bruno Haible  <bruno@clisp.org>
90724         New module 'git-merge-changelog'.
90725         * modules/git-merge-changelog: New file.
90726         * lib/git-merge-changelog.c: New file.
90728 2008-02-10  Jim Meyering  <meyering@redhat.com>
90730         useless-if-before-free: New option: --list (-l).
90732         useless-if-before-free: Don't exit immediately upon open failure.
90733         * build-aux/useless-if-before-free: Exit 2 for errors.
90734         Upon failure to open a file, don't exit immediately.
90735         Rather, just warn and continue with any remaining files.
90737 2008-02-10  Bruno Haible  <bruno@clisp.org>
90739         New abstract list operation 'node_set_value'.
90740         * lib/gl_list.h (gl_list_node_set_value): New function.
90741         (struct gl_list_implementation): New field node_set_value.
90742         * lib/gl_list.c (gl_list_node_set_value): New function.
90743         * lib/gl_array_list.c (gl_array_node_set_value): New function.
90744         (gl_array_list_implementation): Update.
90745         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
90746         (gl_carray_list_implementation): Update.
90747         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
90748         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
90749         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
90750         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
90751         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
90752         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
90753         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
90754         Update.
90755         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
90756         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
90757         (gl_sublist_list_implementation): Update.
90759 2008-02-10  Bruno Haible  <bruno@clisp.org>
90761         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
90762         Needed when ELEMENT is #defined to 'some_type *'.
90764 2008-02-10  Jim Meyering  <meyering@redhat.com>
90766         New script and module: useless-if-before-free
90767         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
90768         * build-aux/useless-if-before-free: New file.
90769         * modules/useless-if-before-free: New file.
90771         * build-aux/gitlog-to-changelog: Use committer date, not author date.
90773         xstrtol_error: Fix typo.
90774         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
90775         s/exit_failure/exit_status/.
90777 2008-02-09  Jim Meyering  <meyering@redhat.com>
90779         New script and module: gitlog-to-changelog
90780         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
90781         * modules/gitlog-to-changelog: New file.
90782         * build-aux/gitlog-to-changelog: New file.
90784 2008-02-08  Jim Meyering  <meyering@redhat.com>
90786         Avoid two "parameter unused" warnings.
90787         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
90788         Mark "st" as used.
90790         Use "git COMMAND", not "git-COMMAND".
90791         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
90792         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
90793         * build-aux/git-version-gen: Use "git status", not "git-status".
90795 2008-02-07  Bruno Haible  <bruno@clisp.org>
90797         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
90798         Avoids a crash on Windows Vista.
90799         Reported by Adam Strzelecki <ono@java.pl> via
90800         Simon Josefsson <simon@josefsson.org>.
90802 2008-02-06  Bruno Haible  <bruno@clisp.org>
90804         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
90805         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
90806         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
90807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
90808         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
90809         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
90810         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
90811         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
90812         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
90813         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90814         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90815         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90816         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
90817         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
90818         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90819         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
90820         left-adjust flag.
90821         * tests/test-snprintf-posix.h (test_function): Likewise.
90822         * tests/test-sprintf-posix.h (test_function): Likewise.
90823         * tests/test-vasprintf-posix.c (test_function): Likewise.
90824         * doc/posix-functions/fprintf.texi: Update.
90825         * doc/posix-functions/printf.texi: Update.
90826         * doc/posix-functions/snprintf.texi: Update.
90827         * doc/posix-functions/sprintf.texi: Update.
90828         * doc/posix-functions/vfprintf.texi: Update.
90829         * doc/posix-functions/vprintf.texi: Update.
90830         * doc/posix-functions/vsnprintf.texi: Update.
90831         * doc/posix-functions/vsprintf.texi: Update.
90832         Reported by Peter Fales <psfales@alcatel-lucent.com>.
90834 2008-02-06  Bruno Haible  <bruno@clisp.org>
90836         Fix bug introduced on 2008-01-26.
90837         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
90839 2008-02-06  Bruno Haible  <bruno@clisp.org>
90841         Fix bug introduced on 2007-06-10.
90842         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
90843         !NEED_PRINTF_FLAG_ZERO.
90845 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
90847         getloadavg: use libperfstat on AIX5
90848         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
90850 2008-02-03  Bruno Haible  <bruno@clisp.org>
90852         * lib/diffseq.h: Add comments about required #includes.
90853         Reported by Michael Biggs <gnulib@doubleplum.net>.
90855 2008-02-01  Bruno Haible  <bruno@clisp.org>
90857         * users.txt: Add gnuit.
90859 2008-01-31  Bruno Haible  <bruno@clisp.org>
90861         * lib/md4.c (set_uint32): Mark as inline.
90862         * lib/md5.c (set_uint32): Likewise.
90863         * lib/sha1.c (set_uint32): Likewise.
90864         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
90865         * m4/md5.m4 (gl_MD5): Likewise.
90866         * m4/sha1.m4 (gl_SHA1): Likewise.
90868 2008-01-31  Jim Meyering  <meyering@redhat.com>
90870         Use "sizeof VAR", rather than a literal "4".
90871         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
90872         * lib/md4.c (md4_read_ctx): Likewise.
90873         * lib/sha1.c (sha1_read_ctx): Likewise.
90875 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90877         * tests/test-sha1.c: New file, based on test-md5.c.
90879         * modules/crypto/sha1-tests: New file.
90881 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90883         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
90885 2008-01-31  Jim Meyering  <meyering@redhat.com>
90887         Prefer "sizeof v" over the equivalent "4".
90888         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
90889         * lib/md5.c (set_uint32): Likewise.
90890         * lib/sha1.c (set_uint32): Likewise.
90892 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90894         * lib/sha1.c (set_uint32): Mark function as static.
90896 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90898         md2: clarify comments to say that alignment is not required.
90899         * lib/md2.h: Remove warning about alignment in comment.
90900         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
90901         never been required.
90903 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90905         md4: adapt alignment constraint fix from sha1.
90906         * lib/md4.c (set_uint32): New function, from sha1.c
90907         (md4_read_ctx): Use it.
90908         (md4_finish_ctx): Doc fix.
90909         * lib/md4.h: Doc fix.
90911 2008-01-31  Simon Josefsson  <simon@josefsson.org>
90913         md5: adapt alignment constraint fix from sha1.
90914         * lib/md5.c (set_uint32): New function, from sha1.c
90915         (md5_read_ctx): Use it.
90916         (md5_finish_ctx): Doc fix.
90917         * lib/md5.h: Doc fix.
90919 2008-01-30  Peter Palfrader  <weasel@debian.org>
90921         sha1: remove the result buffer alignment constraint
90922         * lib/sha1.c (set_uint32): New function.
90923         (sha1_read_ctx): Rewrite to remove the result buffer alignment
90924         constraint.
90925         (sha1_finish_ctx): Remove comment warning about alignment constraint.
90926         * lib/sha1.h: Likewise.
90928 2008-01-30  Andreas Schwab  <schwab@suse.de>
90929             Bruno Haible  <bruno@clisp.org>
90931         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
90932         correct definition of LDBL_MIN_EXP.
90934 2008-01-30  Karl Berry  <karl@gnu.org>
90936         * config/srclist-update: try to preserve x bit on updates.
90937         * config/srclistvars.sh: update for karl.
90939 2008-01-29  Jim Meyering  <meyering@redhat.com>
90941         vasnprintf.c: Avoid warning about unused label
90942         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
90943         "overflow" label definition and associated code with the
90944         same cpp condition that guards the sole use of that label.
90946 2008-01-26  Bruno Haible  <bruno@clisp.org>
90948         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
90949         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
90950         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
90951         * lib/isnanl-nolibm.h (isnanl): Likewise.
90952         Reported by Paul Eggert <eggert@cs.ucla.edu>.
90954 2008-01-26  Bruno Haible  <bruno@clisp.org>
90956         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
90957         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
90959 2008-01-26  Bruno Haible  <bruno@clisp.org>
90961         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
90962         GCC >= 4.0 built-in.
90963         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
90965 2008-01-26  Bruno Haible  <bruno@clisp.org>
90967         Rename isnan, applicable to 'double' only, to isnand.
90968         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
90969         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
90970         (configure.ac): Update.
90971         (Include): Replace "isnan.h" with "isnand.h".
90972         * m4/isnand.m4: Renamed from m4/isnan.m4.
90973         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
90974         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
90975         instead of isnan.c.
90976         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
90977         instead of HAVE_ISNAN_IN_LIBC.
90978         (isnand): Renamed from isnan.
90979         * lib/isnand.c: New file.
90980         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
90981         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
90982         (Makefile.am): Update.
90983         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
90984         Include isnand.h instead of isnan.h.
90985         (main): Test isnand instead of isnan.
90986         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
90987         isnan-nolibm.
90988         * modules/frexp (Depends-on): Likewise.
90989         * modules/frexp-tests (Depends-on): Likewise.
90990         * modules/frexp-nolibm (Depends-on): Likewise.
90991         * modules/frexp-nolibm-tests (Depends-on): Likewise.
90992         * modules/isfinite (Depends-on): Likewise.
90993         * modules/round-tests (Depends-on): Likewise.
90994         * modules/signbit (Depends-on): Likewise.
90995         * modules/signbit-tests (Depends-on): Likewise.
90996         * modules/snprintf-posix (Depends-on): Likewise.
90997         * modules/sprintf-posix (Depends-on): Likewise.
90998         * modules/trunc-tests (Depends-on): Likewise.
90999         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
91000         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
91001         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
91002         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
91003         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
91004         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
91005         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
91006         * modules/vasnprintf-posix (Depends-on): Likewise.
91007         * modules/vasprintf-posix (Depends-on): Likewise.
91008         * modules/vfprintf-posix (Depends-on): Likewise.
91009         * modules/vsnprintf-posix (Depends-on): Likewise.
91010         * modules/vsprintf-posix (Depends-on): Likewise.
91011         * lib/frexp.c: Include isnand.h instead of isnan.h.
91012         (ISNAN): Set to isnand instead of isnan.
91013         * lib/isfinite.c: Include isnand.h instead of isnan.h.
91014         (gl_isfinited): Use isnand instead of isnan.
91015         * lib/signbitd.c: Include isnand.h instead of isnan.h.
91016         (gl_signbitd): Use isnand instead of isnan.
91017         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
91018         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
91019         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
91020         (main): Use isnand instead of isnan.
91021         * tests/test-round1.c: Include isnand.h.
91022         (main): Use isnand instead of isnan.
91023         * tests/test-round2.c: Include isnand.h instead of isnan.h.
91024         (ISNAN): Set to isnand instead of isnan.
91025         * tests/test-trunc1.c: Include isnand.h.
91026         (main): Use isnand instead of isnan.
91027         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
91028         (equal): Use isnand instead of isnan.
91029         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
91030         isnand-nolibm.
91031         * NEWS: Mention the change.
91033 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
91034             Bruno Haible  <bruno@clisp.org>
91036         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
91037         the GCC builtins for signbits are present and set
91038         REPLACE_SIGNBIT_USING_GCC if so.
91039         * lib/math.in.h (signbit): Define using GCC builtins if
91040         REPLACE_SIGNBIT_USING_GCC is set.
91041         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
91042         REPLACE_SIGNBIT_USING_GCC.
91043         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
91045 2008-01-25  Jim Meyering  <meyering@redhat.com>
91047         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
91048         * lib/poll.c: Include <config.h>, not "config.h".
91049         * tests/test-getaddrinfo.c: Likewise.
91051 2008-01-25  Simon Josefsson  <simon@josefsson.org>
91053         * modules/sockets-tests: New file.
91055 2008-01-24  Simon Josefsson  <simon@josefsson.org>
91057         * modules/sockets: New module, can be used to call WSA_Startup and
91058         WSA_Cleanup when needed.
91060         * lib/sockets.h, lib/sockets.c: New files.
91062         * m4/sockets.m4: New file.
91064         * tests/test-sockets.c: New file.
91066 2008-01-19  Bruno Haible  <bruno@clisp.org>
91068         * doc/posix-headers: Renamed from doc/headers.
91069         * doc/posix-functions: Renamed from doc/functions.
91070         * doc/gnulib.texi: Update.
91072 2008-01-19  Bruno Haible  <bruno@clisp.org>
91074         * doc/glibc-functions/strcasestr.texi: Include contents of
91075         doc/functions/strcasestr.texi, fixing the list of platforms.
91076         * doc/functions/strcasestr.texi: Remove file.
91078 2008-01-19  Bruno Haible  <bruno@clisp.org>
91080         * doc/glibc-functions/memmem.texi: Include contents of
91081         doc/functions/memmem.texi.
91082         * doc/functions/memmem.texi: Remove file.
91084 2008-01-18  Bruno Haible  <bruno@clisp.org>
91086         * doc/glibc-functions/*.texi: New files.
91087         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
91088         to use the new files.
91090 2008-01-17  Bruno Haible  <bruno@clisp.org>
91092         * tests/test-gethostname.c (main): Fix printf statement.
91094 2008-01-17  Simon Josefsson  <simon@josefsson.org>
91096         * modules/gethostname-tests: New file.
91098         * tests/test-gethostname.c: New file.
91100 2008-01-17  Simon Josefsson  <simon@josefsson.org>
91102         * lib/gethostname.c: Include string.h unconditionally, strncpy is
91103         used by the UNAME case.  Reported by Bruno Haible
91104         <bruno@clisp.org>.
91106 2008-01-17  Eric Blake  <ebb9@byu.net>
91108         Convert c-strcasestr to be more efficient.
91109         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
91110         (Depends-on): Add c-strcase, remove malloca, strnlen.
91111         * tests/test-c-strcasestr.c (main): Enhance test.
91112         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
91114 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
91116         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
91117         Use it in creating po/Makevars.
91119 2008-01-15  Simon Josefsson  <simon@josefsson.org>
91121         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
91122         Applications that requires it should initialize libgcrypt
91123         manually.
91125 2008-01-16  Simon Josefsson  <simon@josefsson.org>
91127         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
91129 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
91131         Fix problem with getdate on mingw32 reported by Simon Josefsson
91132         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
91133         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
91134         tzname", when deciding whether to declare tzname.
91135         * lib/strftime.c (tzname): Likewise.
91137 2008-01-15  Bruno Haible  <bruno@clisp.org>
91139         Work around a MacOS X 10.5 bug in frexpl().
91140         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
91141         * doc/functions/frexpl.texi: Document the bug.
91142         Reported by Elias Pipping <pipping@gentoo.org>.
91144 2008-01-14  Eric Blake  <ebb9@byu.net>
91146         Touch up previous patch.
91147         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
91148         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
91150         Convert strcasestr module to use Two-Way algorithm.
91151         * modules/strcasestr-simple: New module, based on the old
91152         strcasestr, but with Two-Way rather than KMP.
91153         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
91154         * lib/string.in.h (rpl_strcasestr): Declare.
91155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
91156         performance.
91157         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
91158         * modules/string (Makefile.am): Support strcasestr.
91159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
91160         * modules/strcasestr-tests (Depends-on): Check for alarm.
91161         * tests/test-strcasestr.c: Augment test.
91162         * lib/str-two-way.h: Clean up stray macro.
91163         * NEWS: Document new module.
91164         * MODULES.html.sh (string handling): Likewise.
91165         * doc/functions/strcasestr.texi: New file.
91166         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
91167         here, since it is not a POSIX function.
91169 2008-01-14  Colin Watson  <cjwatson@debian.org>
91170             Bruno Haible  <bruno@clisp.org>
91172         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
91173         works fine; if not, set REPLACE_STRSIGNAL.
91174         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
91175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91176         REPLACE_STRSIGNAL.
91177         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
91178         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
91179         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
91181 2008-01-14  Bruno Haible  <bruno@clisp.org>
91183         * modules/strsignal (Include): Change to <string.h>.
91185 2008-01-14  Colin Watson  <cjwatson@debian.org>
91187         * modules/argp (Notice): Add a notice recommending to change
91188         XGETTEXT_OPTIONS.
91189         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
91191 2008-01-13  Colin Watson  <cjwatson@debian.org>
91193         * modules/strsignal-tests: New file.
91194         * tests/test-strsignal.c: New file.
91196         * lib/strsignal.c: New file, from glibc with modifications.
91197         * lib/siglist.h: New file, from glibc with modifications.
91198         * lib/string.in.h (strsignal): New declaration.
91199         * m4/strsignal.m4: New file.
91200         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91201         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
91202         * modules/strsignal: New file.
91203         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
91204         HAVE_DECL_STRSIGNAL.
91206 2008-01-13  Bruno Haible  <bruno@clisp.org>
91208         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
91209         locale encoding is not ASCII. Needed for OpenBSD 4.0.
91210         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
91211         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91213 2008-01-13  Bruno Haible  <bruno@clisp.org>
91215         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
91216         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
91217         * lib/argp.h (__attribute__): Likewise.
91218         * lib/c-stack.c (__attribute__): Likewise.
91219         * lib/error.h (__attribute__): Likewise.
91220         * lib/fts.c (__attribute__): Likewise.
91221         * lib/openat.h (__attribute__): Likewise.
91222         * lib/stdio.in.h (__attribute__): Likewise.
91223         * lib/string.in.h (__attribute__): Likewise.
91224         * lib/utimens.c (__attribute__): Likewise.
91225         * lib/vasnprintf.h (__attribute__): Likewise.
91226         * lib/xalloc.h (__attribute__): Likewise.
91227         * lib/xprintf.h (__attribute__): Likewise.
91228         * lib/xstrtol.h (__attribute__): Likewise.
91229         * lib/xvasprintf.h (__attribute__): Likewise.
91231 2008-01-12  Bruno Haible  <bruno@clisp.org>
91233         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
91234         * doc/glibc-headers/a.out.texi: New file.
91235         * doc/glibc-headers/aliases.texi: New file.
91236         * doc/glibc-headers/alloca.texi: New file.
91237         * doc/glibc-headers/ar.texi: New file.
91238         * doc/glibc-headers/argp.texi: New file.
91239         * doc/glibc-headers/argz.texi: New file.
91240         * doc/glibc-headers/byteswap.texi: New file.
91241         * doc/glibc-headers/crypt.texi: New file.
91242         * doc/glibc-headers/endian.texi: New file.
91243         * doc/glibc-headers/envz.texi: New file.
91244         * doc/glibc-headers/err.texi: New file.
91245         * doc/glibc-headers/error.texi: New file.
91246         * doc/glibc-headers/execinfo.texi: New file.
91247         * doc/glibc-headers/fpu_control.texi: New file.
91248         * doc/glibc-headers/fstab.texi: New file.
91249         * doc/glibc-headers/fts.texi: New file.
91250         * doc/glibc-headers/getopt.texi: New file.
91251         * doc/glibc-headers/ieee754.texi: New file.
91252         * doc/glibc-headers/ifaddrs.texi: New file.
91253         * doc/glibc-headers/libintl.texi: New file.
91254         * doc/glibc-headers/mcheck.texi: New file.
91255         * doc/glibc-headers/mntent.texi: New file.
91256         * doc/glibc-headers/obstack.texi: New file.
91257         * doc/glibc-headers/paths.texi: New file.
91258         * doc/glibc-headers/printf.texi: New file.
91259         * doc/glibc-headers/pty.texi: New file.
91260         * doc/glibc-headers/resolv.texi: New file.
91261         * doc/glibc-headers/shadow.texi: New file.
91262         * doc/glibc-headers/sysexits.texi: New file.
91263         * doc/glibc-headers/ttyent.texi: New file.
91265 2008-01-12  Jim Meyering  <meyering@redhat.com>
91267         announce-gen: emit Gnulib's git-based version string.
91268         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
91269         New option --gnulib-version=V, where V is expected to be
91270         the output of running git describe in the gnulib directory.
91271         (get_tool_versions): Request feedback on xdelta.  I suspect it's
91272         not useful, and plan to stop publishing an xdelta file with each
91273         coreutils release.
91275         * build-aux/announce-gen: Also check for lzma-compressed files.
91277 2008-01-11  Bruno Haible  <bruno@clisp.org>
91279         * tests/test-memmem.c (main): Increase maximum allowed time.
91280         * tests/test-strstr.c (main): Likewise.
91282 2008-01-11  Bruno Haible  <bruno@clisp.org>
91284         * doc/functions/memmem.texi: Add more precisions about platforms.
91285         * doc/functions/strstr.texi: Likewise.
91287 2008-01-10  Eric Blake  <ebb9@byu.net>
91289         * m4/strstr.m4: Delete cruft from copy-n-paste.
91290         Reported by Bruno Haible.
91292 2008-01-10  Bruno Haible  <bruno@clisp.org>
91294         Make c-strstr rely on strstr.
91295         * lib/c-strstr.c: Don't include str-kmp.h.
91296         (c_strstr): Define in terms of strstr.
91297         * modules/c-strstr (Files): Remove lib/str-kmp.h.
91298         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
91300 2008-01-10  Bruno Haible  <bruno@clisp.org>
91302         * doc/gnulib.texi (String Functions in C Locale): New section.
91303         * doc/c-ctype.texi: New file.
91304         * doc/c-strcase.texi: New file.
91305         * doc/c-strcaseeq.texi: New file.
91306         * doc/c-strcasestr.texi: New file.
91307         * doc/c-strstr.texi: New file.
91308         * doc/c-strtod.texi: New file.
91309         * doc/c-strtold.texi: New file.
91311 2008-01-10  Eric Blake  <ebb9@byu.net>
91313         * lib/relocatable.h: Fix a comment.
91315 2008-01-10  Eric Blake  <ebb9@byu.net>
91317         Share two-way algorithm.
91318         * lib/str-two-way.h: New file, merged from...
91319         * lib/memmem.c: ...here...
91320         * lib/strstr.c: ...and here.
91321         * modules/memmem (Files): Use it.
91322         * modules/strstr (Files): Likewise.
91324         Avoid quadratic strstr implementations.
91325         * lib/strstr.c: New file.
91326         * m4/strstr.m4: Likewise.
91327         * modules/strstr: Likewise.
91328         * modules/strstr-tests: Likewise.
91329         * tests/test-strstr.c: Likewise.
91330         * lib/string.in.h (rpl_strstr): Declare.
91331         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
91332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
91333         * modules/string (Makefile.am): Likewise.
91334         * MODULES.html.sh (string handling): Mention new module.
91335         * doc/functions/strstr.texi (strstr): Document the bug.
91337 2008-01-10  Bruno Haible  <bruno@clisp.org>
91339         * lib/relocatable.h (relocate): State whether result is freshly
91340         allocated or not.
91341         * lib/relocatable.c (relocate): Return a freshly allocated string
91342         instead of a pointer to a privately held string.
91343         Reported by Sylvain Beucler <beuc@gnu.org>.
91345 2008-01-10  Colin Watson  <cjwatson@debian.org>
91347         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
91348         s/S_ISNLK/S_ISLNK/.
91350 2008-01-09  Bruno Haible  <bruno@clisp.org>
91352         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
91353         and other files.
91354         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
91355         if it's only a guess.
91356         * modules/memmem: Simplify by depending on memmem-simple.
91358 2008-01-09  Bruno Haible  <bruno@clisp.org>
91360         Work around OpenBSD 4.0 tdelete() bug.
91361         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
91362         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
91363         macros and don't redefine the enum values.
91364         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
91365         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
91366         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
91368 2008-01-09  Bruno Haible  <bruno@clisp.org>
91370         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
91371         (main): Don't perform the tests if setlocale did not install a UTF-8
91372         locale. Needed on OpenBSD 4.0.
91373         * modules/wcwidth-tests (Depends-on): Add localcharset.
91375 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
91377         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
91378         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
91379         * NEWS: announce this.
91380         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
91382 2008-01-09  Simon Josefsson  <simon@josefsson.org>
91383         and Eric Blake  <ebb9@byu.net>
91385         Add memmem-simple module.
91386         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
91387         (gl_FUNC_MEMMEM): Separate performance from presence checks.
91388         * modules/memmem-simple: New file.
91389         * modules/memmem (Description): Tweak.
91390         * MODULES.html.sh (string handling): Mention new module.
91391         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
91392         addressed by memmem-simple.
91393         * NEWS: Document the difference.
91395 2008-01-09  Eric Blake  <ebb9@byu.net>
91397         Give gcc some memmem optimization hints.
91398         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
91399         (strcasestr): Declare as pure.
91400         * modules/memmem (Maintainer): Claim my implementation.
91402 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91404         Support AIX 6.1 and higher.
91405         * build-aux/config.libpath: Likewise.
91406         * build-aux/config.rpath: Likewise.
91408 2008-01-08  Jim Meyering  <meyering@redhat.com>
91409             Bruno Haible  <bruno@clisp.org>
91411         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
91412         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
91413         Reported by Peter Fales in
91414         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
91416 2008-01-08  Bruno Haible  <bruno@clisp.org>
91418         * modules/unictype/category-of (Depends-on): Add
91419         unictype/category-none.
91420         * modules/unictype/category-and-tests (Depends-on): Add
91421         unictype/category-{L,N,Lu,Nd}.
91422         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
91423         * modules/unictype/category-or-tests (Depends-on): Add
91424         unictype/category-{L,N}.
91425         * modules/unictype/category-name-tests (Depends-on): Add
91426         unictype/category-{Z,Nl}.
91427         Reported by Simon Josefsson.
91429 2008-01-08  Bruno Haible  <bruno@clisp.org>
91431         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
91432         convention better.
91433         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
91434         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
91435         Reported by Peter Miller <millerp@canb.auug.org.au>.
91437 2008-01-08  Eric Blake  <ebb9@byu.net>
91439         Rewrite memmem to guarantee linear complexity without malloc.
91440         * lib/memmem.c (memmem): Use Two-Way rather than
91441         Knuth-Morris-Pratt, to allow O(1) space usage.
91442         (critical_factorization, two_way_short_needle)
91443         (two_way_long_needle): New functions.
91444         (knuth_morris_pratt): Delete.
91445         * modules/memmem (Depends-on): No longer need malloca or stdbool.
91446         Add stdint.
91447         * tests/test-memmem.c (main): Add tests for periodic needle and
91448         sublinear performance.
91449         * doc/functions/memmem.texi (memmem): Document other deficiencies
91450         in cygwin and older glibc.
91452 2008-01-08  Bruno Haible  <bruno@clisp.org>
91454         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
91455         augmentation.
91457 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
91459         Add a configure time option: --disable-acl.
91460         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
91461         AC_ARG_ENABLE(acl).
91463 2008-01-06  Simon Josefsson  <simon@josefsson.org>
91465         * tests/test-localename.c: Don't include obsolete "setenv.h".
91467         * modules/localename-tests (Depends-on): Need unsetenv.
91469 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91471         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
91473 2008-01-06  Colin Watson  <cjwatson@debian.org>
91475         * users.txt: Add man-db.
91477 2008-01-07  Bruno Haible  <bruno@clisp.org>
91479         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
91480         previous section name.
91482 2008-01-07  Bruno Haible  <bruno@clisp.org>
91484         * lib/progname.c (set_program_name): Don't strip off a leading
91485         "lt-" prefix outside a .libs directory.
91486         Suggested by Paul Eggert.
91488 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
91489             Bruno Haible  <bruno@clisp.org>
91491         Improve memory cleanup in 'relocatable' module.
91492         * lib/relocatable.h (compute_curr_prefix): Change return type to
91493         'char *'.
91494         * lib/relocatable.c (compute_curr_prefix): Change return type to
91495         'char *'. Free curr_installdir after use.
91496         (relocate): Free curr_prefix_better after use.
91497         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
91499 2008-01-01  Bruno Haible  <bruno@clisp.org>
91501         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
91502         failure on older glibc systems.
91503         Reported by Peter Fales <psfales@alcatel-lucent.com>.
91505 2008-01-05  Eric Blake  <ebb9@byu.net>
91507         Avoid quadratic system memmem.
91508         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
91509         Reported by Ralf Wildenhues.
91511         Fix memmem test for mingw.
91512         * modules/memmem-tests (configure.ac): Check for alarm.
91513         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
91514         it.
91515         * doc/functions/memmem.texi: New file.
91516         * doc/gnulib.texi (Function Substitutes): Add memmem.
91517         Reported by Bruno Haible.
91519 2008-01-04  Bruno Haible  <bruno@clisp.org>
91521         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
91522         Require gl_HEADER_STRINGS_H_DEFAULTS, not
91523         gl_HEADER_STRING_H_DEFAULTS.
91525 2008-01-04  Eric Blake  <ebb9@byu.net>
91527         Shorten duration of memmem test.
91528         * tests/test-memmem.c (main): Use alarm to declare failure if test
91529         is taking too long.
91530         Reported by Ralf Wildenhues.
91532 2007-12-21  Simon Josefsson  <simon@josefsson.org>
91534         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
91535         string, needed by strerror.
91537 2008-01-03  Colin Watson  <cjwatson@debian.org>
91538             Bruno Haible  <bruno@clisp.org>
91540         * doc/gnulib-tool.texi (Localization): New section.
91542 2008-01-02  Bruno Haible  <bruno@clisp.org>
91544         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
91545         variables to 'unsigned char *' type.
91546         Reported by Paul Eggert.
91548 2008-01-02  Jim Meyering  <jim@meyering.net>
91550         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
91552 2007-12-31  Jim Meyering  <jim@meyering.net>
91554         Avoid use of private FTS type name.
91555         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
91557 2007-12-30  Karl Berry  <karl@gnu.org>
91559         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
91560         work around defect in Texinfo and/or the standalone Info browser.
91562 2007-12-30  Bruno Haible  <bruno@clisp.org>
91564         Unify 5 copies of the KMP code.
91565         * lib/str-kmp.h: New file.
91566         * lib/c-strcasestr.c: Include str-kmp.h.
91567         (knuth_morris_pratt): Remove function.
91568         (c_strcasestr): Update.
91569         * lib/c-strstr.c: Include str-kmp.h.
91570         (knuth_morris_pratt): Remove function.
91571         (c_strcasestr): Update.
91572         * lib/mbscasestr.c: Include str-kmp.h.
91573         (knuth_morris_pratt_unibyte): Remove function.
91574         * lib/mbsstr.c: Include str-kmp.h.
91575         (knuth_morris_pratt_unibyte): Remove function.
91576         * lib/strcasestr.c: Include str-kmp.h.
91577         (knuth_morris_pratt): Remove function.
91578         (strcasestr): Update.
91579         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
91580         * modules/c-strstr (Files): Likewise.
91581         * modules/mbscasestr (Files): Likewise.
91582         * modules/mbsstr (Files): Likewise.
91583         * modules/strcasestr (Files): Likewise.
91584         Suggested by Paul Eggert.
91586 2007-12-30  Bruno Haible  <bruno@clisp.org>
91588         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
91589         defined.
91591 2007-12-30  Bruno Haible  <bruno@clisp.org>
91593         * lib/xmalloca.h: Include xalloc.h.
91594         (xnmalloca): New macro.
91596 2007-12-30  Bruno Haible  <bruno@clisp.org>
91598         * lib/malloca.h (nmalloca): New macro.
91599         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
91600         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
91601         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
91602         knuth_morris_pratt_multibyte): Likewise.
91603         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
91604         knuth_morris_pratt_multibyte): Likewise.
91605         * lib/memmem.c (knuth_morris_pratt): Likewise.
91606         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
91608 2007-12-25  Bruno Haible  <bruno@clisp.org>
91610         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
91611         * lib/glob.c: Don't include openat.h.
91612         (link_exists2_p): Add back the code that deals with the
91613         !GLOB_ALTDIRFUNC case.
91614         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
91615         let it do the filename concatenation.
91616         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
91617         * modules/glob (Depends-on): Remove openat.
91619 2007-12-31  Bruno Haible  <bruno@clisp.org>
91621         * modules/dirfd (License): Change to LGPLv2+.
91622         Approved by Jim Meyering.
91624 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
91626         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
91627         when multiplying M by sizeof (size_t).
91629 2007-12-10  Martin Lambers  <marlam@marlam.de>
91631         Override getpagesize on mingw.
91632         * lib/getpagesize.c: New file.
91633         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
91634         * modules/getpagesize (Files): Add lib/getpagesize.c.
91635         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
91636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91637         REPLACE_GETPAGESIZE.
91638         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
91640 2007-12-25  Bruno Haible  <bruno@clisp.org>
91642         * modules/localcharset (Notice): New field.
91643         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
91644         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
91646 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
91647             Bruno Haible  <bruno@clisp.org>
91649         Avoid using the syntax symbol() in formatted documentation.
91650         * MODULES.html.sh (func_module): When replacing symbol() with a
91651         hyperlink, remove the parentheses. Show an error if some remain.
91652         Recognize and render the '...' syntax.
91653         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
91654         Rework. Add paragraph about GCC's inlining.
91655         * doc/alloca.texi: Likewise.
91656         * doc/error.texi: Remove parentheses from symbol reference.
91657         * doc/gnulib-intro.texi: Likewise.
91658         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
91659         * modules/fnmatch (Description): Reword to say "the ... function".
91660         * modules/full-read (Description): Likewise.
91661         * modules/full-write (Description): Likewise.
91662         * modules/safe-read (Description): Likewise.
91663         * modules/safe-write (Description): Likewise.
91664         * modules/strchrnul (Description): Likewise.
91665         * modules/trim (Description): Likewise.
91666         * modules/error (Description): Remove parentheses from symbol
91667         references.
91668         * modules/verror (Description): Likewise.
91669         Reported by Karl Berry.
91671 2007-12-25  Bruno Haible  <bruno@clisp.org>
91673         Fixup after 2007-10-16 commit.
91674         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
91676 2007-12-24  Bruno Haible  <bruno@clisp.org>
91678         Make --enable-relocatable work with DESTDIR.
91679         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
91680         to compute installdir from destprog.
91681         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
91682         also set the RELOC_DESTDIR variable.
91683         Reported by Левашев Иван <octagram@bluebottle.com>.
91685 2007-12-24  Bruno Haible  <bruno@clisp.org>
91687         Fix link error due to xalloc_die().
91688         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
91689         of xreadlink.
91690         * lib/relocwrapper.c: Update comments.
91691         * build-aux/install-reloc: Remove xreadlink.c from file list.
91692         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
91693         xreadlink.c.
91694         Reported by Левашев Иван <octagram@bluebottle.com>.
91696 2007-12-24  Bruno Haible  <bruno@clisp.org>
91698         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
91699         * lib/setenv.h: Remove file.
91700         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
91701         lib/setenv.h.
91702         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
91703         (Depends-on): Add stdlib.
91704         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
91705         gl_FUNC_UNSETENV.
91706         (Include): Replace setenv.h with <stdlib.h>.
91707         * modules/unsetenv: New file.
91708         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
91709         * lib/unsetenv.c: Include <stdlib.h> first.
91710         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
91711         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
91712         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
91713         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
91714         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
91715         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
91716         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
91717         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
91718         * doc/functions/unsetenv.texi: Update.
91719         * modules/xsetenv (Depends-on): Add unsetenv.
91720         * modules/getdate (Depends-on): Likewise.
91721         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
91722         * lib/xsetenv.c: Don't include setenv.h.
91723         * lib/getdate.y: Likewise.
91724         * lib/relocwrapper.c: Likewise.
91725         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
91726         (Depends-on): Add stdlib.
91727         * NEWS: Mention the changes.
91728         Reported by Левашев Иван <octagram@bluebottle.com>.
91730 2007-12-23  Bruno Haible  <bruno@clisp.org>
91732         * lib/memmem.c (memmem): Use lowercase variable names. Tab
91733         indentation.
91735 2007-12-23  Bruno Haible  <bruno@clisp.org>
91737         * lib/c-strcasestr.c: Add more comments.
91738         * lib/c-strstr.c: Likewise.
91739         * lib/mbscasestr.c: Likewise.
91740         * lib/mbsstr.c: Likewise.
91741         * lib/strcasestr.c: Likewise.
91742         * lib/memmem.c: Likewise.
91744 2007-12-23  Bruno Haible  <bruno@clisp.org>
91746         * tests/test-memmem.c: Include <string.h> first.
91748 2007-12-22  Bruno Haible  <bruno@clisp.org>
91750         * gnulib-tool (func_create_testdir): Change $auxdir while generating
91751         the contents of $testsbase.
91752         Reported by Ralf Wildenhues.
91754 2007-12-22  Bruno Haible  <bruno@clisp.org>
91756         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
91757         two variables local_ldadd_before, local_ldadd_last.
91759 2007-12-20  Eric Blake  <ebb9@byu.net>
91761         Work around circular library issue when cross-compiling.
91762         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
91763         that progname.o does not need to pull in rpl_memcmp.
91765 2007-12-19  Eric Blake  <ebb9@byu.net>
91767         Fix memmem to avoid O(n^2) worst-case complexity.
91768         * lib/memmem.c (knuth_morris_pratt): New function.
91769         (memmem): Use it if first few naive iterations fail.
91770         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
91771         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
91772         * modules/memchr (License): Likewise.
91773         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
91774         malloca.
91775         * tests/test-memmem.c: Rewrite, borrowing ideas from
91776         test-mbsstr1.c; the old version wouldn't even compile!
91777         * modules/memmem-tests: New file.
91778         * lib/string.in.h (rpl_memmem): Add declaration.
91779         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
91780         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
91781         REPLACE_MEMMEM.
91783 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
91785         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
91786         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
91787         before any system include files, and undef after them all.  This
91788         should fix a problem on VMS reported by John E. Malmberg in
91789         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
91791 2007-12-17  Eric Blake  <ebb9@byu.net>
91793         Revert addition of verify, for BSD/OS.
91794         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
91795         can't handle large files, for the sake of obsolete platforms.
91796         * modules/fseeko (Depends-on): Remove verify.
91797         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
91798         * doc/functions/ftello.texi (ftello): Likewise.
91799         * doc/functions/fgetpos.texi (fgetpos): Likewise.
91800         Reported by Larry Jones.
91802 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
91804         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
91805         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
91807 2007-12-17  Jim Meyering  <meyering@redhat.com>
91809         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
91810         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
91811         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
91812         * modules/getcwd (Depends-on): Add openat.
91813         Reported by Petr Salinger.
91815 2007-12-17  Bruno Haible  <bruno@clisp.org>
91817         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
91818         avoid a segmentation fault of the configure test on x86_64 systems.
91820 2007-12-15  Jim Meyering  <meyering@redhat.com>
91822         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
91824 2007-12-13  Eric Blake  <ebb9@byu.net>
91826         Another fseek test.
91827         * tests/test-fseek.c (main): Also test ungetc handling.
91828         * tests/test-fseeko.c (main): Likewise.
91829         * modules/fseeko (Depends-on): Add verify.
91830         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
91831         large.
91832         Reported by Larry Jones.
91834         Fix fseeko on mingw.
91835         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
91836         seek.
91838         Beef up fseek tests.
91839         * tests/test-fseek.c (main): Also test eof handling.
91840         * tests/test-fseeko.c (main): Likewise.
91841         Reported by Larry Jones.
91843 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
91845         Fix fseeko on BSD-based platforms.
91846         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
91847         successful seek.
91849 2007-12-12  Eric Blake  <ebb9@byu.net>
91851         Allow circular dependency of separate libtests.a
91852         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
91853         when use_libtests.
91855 2007-12-11  Eric Blake  <ebb9@byu.net>
91857         Fix bug with -0.0L in previous patch.
91858         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
91859         * tests/test-isnan.c (main): Also test on zeroes.
91860         * tests/test-isnanf.c (main): Likewise.
91861         * tests/test-isnanl.h (main): Likewise.
91863         Detect pseudo-denormals on x86 even when cross-compiling.
91864         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
91865         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
91866         invalid bit patterns that happen to satisfy ==.
91868         Avoid link failures with separate libtests.a.
91869         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
91870         last, to satisfy circular dependencies.
91872 2007-12-11  Eric Blake  <ebb9@byu.net>
91873         and Bruno Haible  <bruno@clisp.org>
91875         Fix OpenBSD 4.0 <float.h> handling of long double.
91876         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
91877         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
91878         * doc/headers/float.texi (float.h): Document OpenBSD bug.
91880 2007-12-11  Jim Meyering  <meyering@redhat.com>
91882         * users.txt: Add libvirt.
91884         Support versions of autoconf prior to 2.59c.
91885         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
91886         if it is not already defined.
91888 2007-12-09  Bruno Haible  <bruno@clisp.org>
91890         Let 'gnulib-tool --import' collect sources needed for the tests in
91891         tests/ rather than in lib/.
91892         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
91893         argument. If true, add rules to generate libtests.a, and put libtests.a
91894         into $(LDADD). Consider source files in subdirectories and set
91895         uses_subdirs.
91896         (func_emit_initmacro_start, func_emit_initmacro_end,
91897         func_emit_initmacro_done): Pass all arguments explicitly.
91898         (func_import): Determine two module lists main_modules,
91899         testsrelated_modules. Determine use_libtests. Determine two variables
91900         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
91901         instead of just sed_transform_lib_file. Determine two variables
91902         main_files and testsrelated_files. Compute 'files' as the union of
91903         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
91904         func_add_or_update. In the generated gnulib-comp.m4, collect the
91905         object files for tests/ in different variables than those for lib/.
91906         Substitute LIBTESTS_LIBDEPS.
91907         (func_create_testdir): Combine the uses_subdirs results from
91908         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
91910 2007-12-09  Bruno Haible  <bruno@clisp.org>
91912         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
91913         the build-aux directory.
91915 2007-12-09  Bruno Haible  <bruno@clisp.org>
91917         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
91918         introduced on 2006-09-09.
91920 2007-12-07  Jim Meyering  <meyering@redhat.com>
91922         Let these macros work also with autoconf-2.59.
91923         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
91924         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
91925         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
91927 2007-12-06  Jim Meyering  <meyering@redhat.com>
91929         Avoid a configure-time syntax error in gl_FUNC_ACL.
91930         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
91931         function in each branch, before testing the cache variable.
91933 2007-12-04  Eric Blake  <ebb9@byu.net>
91935         Make scripts executable.
91936         * build-aux/config.guess: Add execute permissions.
91937         * build-aux/config.sub: Likewise.
91938         * build-aux/gendocs.sh: Likewise.
91940         Fix frexp on mingw.
91941         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
91942         cross-compiling.
91943         * doc/functions/frexp.texi (frexp): Document the bug.
91945         Make cygwin fseeko check more reliable.
91946         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
91947         version numbers, rather than unrelated feature check.
91948         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
91949         * doc/functions/ftello.texi (ftello): Likewise.
91950         Reported by Bruno Haible.
91952         * m4/strerror.m4: Bump version number.
91954 2007-12-03  Bruno Haible  <bruno@clisp.org>
91956         * doc/functions/mprotect.texi: Mention the mingw problem.
91958 2007-12-03  Eric Blake  <ebb9@byu.net>
91960         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
91961         REPLACE_STRERROR is initialized before this macro.
91963 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
91965         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
91966         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
91967         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
91968         put -lsec in even for programs other than 'ls'.  This fixes a problem
91969         for gettext reported by Bruno Haible in
91970         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
91971         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
91972         Add support for Solaris 10.  This isn't efficient, but should get the
91973         job done for now.
91975 2007-12-03  James Youngman  <jay@gnu.org>
91977         * doc/regexprops-generic.texi: change "an close-group" to "a
91978         close-group" and "illegal" to "not allowed".
91980 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91982         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
91983         pr_byname.h. Needed for the rare case when the maintainer has done
91984         "make maintainer-clean" in the source directory and then attempts a
91985         build outside the source directory.
91986         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
91987         scripts_byname.h.
91989 2007-12-02  Martin Lambers  <marlam@marlam.de>
91990             Bruno Haible  <bruno@clisp.org>
91992         * lib/getpagesize.h: Remove file.
91993         * lib/unistd.in.h: Include declaration of getpagesize here.
91994         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
91995         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
91996         HAVE_SYS_PARAM_H.
91997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
91998         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
91999         * modules/getpagesize (Files): Remove lib/getpagesize.h.
92000         (Depends-on): Add unistd.
92001         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
92002         (Include): Use <unistd.h> instead of getpagesize.h.
92003         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
92004         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
92005         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
92006         gl_GETPAGESIZE invocation, already handled by module dependency.
92007         * lib/pagealign_alloc.c: Don't include getpagesize.h.
92009 2007-12-02  Bruno Haible  <bruno@clisp.org>
92011         * modules/strings-tests: New file.
92012         * tests/test-strings.c: New file.
92014         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
92015         * lib/strings.in.h: New file.
92016         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
92017         * m4/strings_h.m4: New file.
92018         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
92019         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
92020         * modules/strings: New file.
92021         * modules/string (Makefile.am): Update.
92022         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
92023         Reported by Karl Berry.
92025 2007-12-01  Eric Blake  <ebb9@byu.net>
92027         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
92028         accommodate fix in cygwin 1.5.25.
92030 2007-12-01  Jim Meyering  <meyering@redhat.com>
92032         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
92033         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
92034         that would inhibit utf8-optimization of a regexp containing line-
92035         or buffer-anchors, e.g., `^', `$'.
92037 2007-11-30  Bruno Haible  <bruno@clisp.org>
92039         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
92040         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
92041         glthread_recursive_lock_init.
92042         * lib/lock.c (glthread_recursive_lock_init)
92043         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
92044         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
92046 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
92048         New function qset_acl, like set_acl but with syscall semantics.
92049         * lib/acl.h (qset_acl): New decl.
92050         * lib/acl.c (qset_acl): New function.
92051         (set_acl): Use new function.  Use more-consistent diagnostics.
92053 2007-11-28  Jim Meyering  <meyering@redhat.com>
92055         * modules/physmem (License): Change from GPL to LGPLv2+.
92057 2007-11-26  Bruno Haible  <bruno@clisp.org>
92059         * lib/vasnprintf.c (decode_long_double): Don't abort if the
92060         'long double' type has excess precision.
92061         Reported by Jim Meyering in
92062         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
92064 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92066         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
92067         Sync from <http://gnu.org/licenses>.
92068         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
92069         with license text from same location.
92070         * doc/maintain.texi, doc/standards.texi:  Sync from
92071         <http://savannah.gnu.org/projects/gnustandards>.
92073 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
92074         and Jim Meyering  <meyering@redhat.com>
92076         Adjust getdate' grammar to accept a slightly more regular language.
92077         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
92078         Before, the former was rejected.
92079         * lib/getdate.y (digits_to_date_time): New function, factored
92080         out of ...
92081         (number): ...here.  Just call digits_to_date_time.
92082         (hybrid): New non-terminal to handle an <unsigned number,
92083         signed relative offset> sequence consistently.
92085 2007-11-18  Jim Meyering  <meyering@redhat.com>
92087         Pull my changes from coreutils:
92088         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
92089         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
92090         use of $gnulib_tool_option_extras, so that it's separated from the
92091         preceding argument.
92093         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
92094         * build-aux/bootstrap (cp_mark_as_generated): Create any required
92095         parent destination directories before copying a file into place.
92097 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
92099         bootstrap: work also with 4-argument variant of AC_INIT
92100         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
92102 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
92104         Port test-getaddrinfo to Solaris.
92105         Problem reported by Bruno Haible in
92106         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
92107         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
92108         explanation of setting 'hints'.
92109         Don't reject an implementation merely because it returns EAI_SERVICE.
92110         (EAI_SERVICE): Define to 0 if not defined.
92112 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
92114         The license of gnu-make and posix-shell is now "GPLed build tool".
92115         * modules/gnu-make (License): Likewise.
92116         * modules/posix-shell (License): Likewise.
92118         New module posix-shell, for determining a POSIX shell
92119         or perhaps something that is close enough to a POSIX shell.
92120         * m4/posix-shell.m4: New file.
92121         * modules/posix-shell: New file.
92123         * MODULES.html.sh: Mention new module.
92125         New module gnu-make, for determining whether we're using GNU Make.
92126         * m4/gnu-make.m4: New file.
92127         * modules/gnu-make: New file.
92128         * MODULES.html.sh: Mention new module.
92130 2007-11-14  Jim Meyering  <meyering@redhat.com>
92132         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
92133         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
92134         use this macro to create a function _definition_.
92135         Remove useless "#undef ARGMATCH_DIE".
92137 2007-11-14  Bruno Haible  <bruno@clisp.org>
92139         * lib/config.charset: Update for OpenBSD 4.1.
92140         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
92142 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
92144         Document 64-bit #if problems in stdint.texi.
92145         * doc/headers/stdint.texi (stdint.h): Mention problems with
92146         64-bit-#if, and how to work around them.
92148         Don't insist on 'long long int' support in the preprocessor.  It
92149         breaks too many things.  For example, PRIdMAX still uses a 'long
92150         long int' format with the latest Sun compiler, even though
92151         HAVE_LONG_LONG_INT isn't defined due to that compiler's
92152         preprocessor problem.  This causes the latest coreutils to dump
92153         core on Solaris 10 sparc with the Sun C compiler.
92154         Instead, fix the 2007-10-16 problem in a different way, by evaluating
92155         the troublesome expressions at configure-time, not at #if-time.
92156         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
92157         preprocessor.
92158         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
92159         compile-time C checks, done at 'configure'-time.
92160         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
92161         * modules/inttypes (Makefile): Substitute the new symbols that
92162         gl_INTTYPES_H now generates.
92163         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
92165 2007-11-12  Bruno Haible  <bruno@clisp.org>
92167         Tests for Unicode character classification functions.
92169         * modules/unictype/bidicategory-byname-tests: New file.
92170         * modules/unictype/bidicategory-name-tests: New file.
92171         * modules/unictype/bidicategory-of-tests: New file.
92172         * modules/unictype/bidicategory-test-tests: New file.
92173         * modules/unictype/block-list-tests: New file.
92174         * modules/unictype/block-of-tests: New file.
92175         * modules/unictype/block-test-tests: New file.
92176         * modules/unictype/category-C-tests: New file.
92177         * modules/unictype/category-Cc-tests: New file.
92178         * modules/unictype/category-Cf-tests: New file.
92179         * modules/unictype/category-Cn-tests: New file.
92180         * modules/unictype/category-Co-tests: New file.
92181         * modules/unictype/category-Cs-tests: New file.
92182         * modules/unictype/category-L-tests: New file.
92183         * modules/unictype/category-Ll-tests: New file.
92184         * modules/unictype/category-Lm-tests: New file.
92185         * modules/unictype/category-Lo-tests: New file.
92186         * modules/unictype/category-Lt-tests: New file.
92187         * modules/unictype/category-Lu-tests: New file.
92188         * modules/unictype/category-M-tests: New file.
92189         * modules/unictype/category-Mc-tests: New file.
92190         * modules/unictype/category-Me-tests: New file.
92191         * modules/unictype/category-Mn-tests: New file.
92192         * modules/unictype/category-N-tests: New file.
92193         * modules/unictype/category-Nd-tests: New file.
92194         * modules/unictype/category-Nl-tests: New file.
92195         * modules/unictype/category-No-tests: New file.
92196         * modules/unictype/category-P-tests: New file.
92197         * modules/unictype/category-Pc-tests: New file.
92198         * modules/unictype/category-Pd-tests: New file.
92199         * modules/unictype/category-Pe-tests: New file.
92200         * modules/unictype/category-Pf-tests: New file.
92201         * modules/unictype/category-Pi-tests: New file.
92202         * modules/unictype/category-Po-tests: New file.
92203         * modules/unictype/category-Ps-tests: New file.
92204         * modules/unictype/category-S-tests: New file.
92205         * modules/unictype/category-Sc-tests: New file.
92206         * modules/unictype/category-Sk-tests: New file.
92207         * modules/unictype/category-Sm-tests: New file.
92208         * modules/unictype/category-So-tests: New file.
92209         * modules/unictype/category-Z-tests: New file.
92210         * modules/unictype/category-Zl-tests: New file.
92211         * modules/unictype/category-Zp-tests: New file.
92212         * modules/unictype/category-Zs-tests: New file.
92213         * modules/unictype/category-and-not-tests: New file.
92214         * modules/unictype/category-and-tests: New file.
92215         * modules/unictype/category-byname-tests: New file.
92216         * modules/unictype/category-name-tests: New file.
92217         * modules/unictype/category-none-tests: New file.
92218         * modules/unictype/category-of-tests: New file.
92219         * modules/unictype/category-or-tests: New file.
92220         * modules/unictype/category-test-withtable-tests: New file.
92221         * modules/unictype/combining-class-tests: New file.
92222         * modules/unictype/ctype-alnum-tests: New file.
92223         * modules/unictype/ctype-alpha-tests: New file.
92224         * modules/unictype/ctype-blank-tests: New file.
92225         * modules/unictype/ctype-cntrl-tests: New file.
92226         * modules/unictype/ctype-digit-tests: New file.
92227         * modules/unictype/ctype-graph-tests: New file.
92228         * modules/unictype/ctype-lower-tests: New file.
92229         * modules/unictype/ctype-print-tests: New file.
92230         * modules/unictype/ctype-punct-tests: New file.
92231         * modules/unictype/ctype-space-tests: New file.
92232         * modules/unictype/ctype-upper-tests: New file.
92233         * modules/unictype/ctype-xdigit-tests: New file.
92234         * modules/unictype/decimal-digit-tests: New file.
92235         * modules/unictype/digit-tests: New file.
92236         * modules/unictype/mirror-tests: New file.
92237         * modules/unictype/numeric-tests: New file.
92238         * modules/unictype/property-alphabetic-tests: New file.
92239         * modules/unictype/property-ascii-hex-digit-tests: New file.
92240         * modules/unictype/property-bidi-arabic-digit-tests: New file.
92241         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
92242         * modules/unictype/property-bidi-block-separator-tests: New file.
92243         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
92244         * modules/unictype/property-bidi-common-separator-tests: New file.
92245         * modules/unictype/property-bidi-control-tests: New file.
92246         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
92247         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
92248         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
92249         * modules/unictype/property-bidi-european-digit-tests: New file.
92250         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
92251         * modules/unictype/property-bidi-left-to-right-tests: New file.
92252         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
92253         * modules/unictype/property-bidi-other-neutral-tests: New file.
92254         * modules/unictype/property-bidi-pdf-tests: New file.
92255         * modules/unictype/property-bidi-segment-separator-tests: New file.
92256         * modules/unictype/property-bidi-whitespace-tests: New file.
92257         * modules/unictype/property-byname-tests: New file.
92258         * modules/unictype/property-combining-tests: New file.
92259         * modules/unictype/property-composite-tests: New file.
92260         * modules/unictype/property-currency-symbol-tests: New file.
92261         * modules/unictype/property-dash-tests: New file.
92262         * modules/unictype/property-decimal-digit-tests: New file.
92263         * modules/unictype/property-default-ignorable-code-point-tests: New file.
92264         * modules/unictype/property-deprecated-tests: New file.
92265         * modules/unictype/property-diacritic-tests: New file.
92266         * modules/unictype/property-extender-tests: New file.
92267         * modules/unictype/property-format-control-tests: New file.
92268         * modules/unictype/property-grapheme-base-tests: New file.
92269         * modules/unictype/property-grapheme-extend-tests: New file.
92270         * modules/unictype/property-grapheme-link-tests: New file.
92271         * modules/unictype/property-hex-digit-tests: New file.
92272         * modules/unictype/property-hyphen-tests: New file.
92273         * modules/unictype/property-id-continue-tests: New file.
92274         * modules/unictype/property-id-start-tests: New file.
92275         * modules/unictype/property-ideographic-tests: New file.
92276         * modules/unictype/property-ids-binary-operator-tests: New file.
92277         * modules/unictype/property-ids-trinary-operator-tests: New file.
92278         * modules/unictype/property-ignorable-control-tests: New file.
92279         * modules/unictype/property-iso-control-tests: New file.
92280         * modules/unictype/property-join-control-tests: New file.
92281         * modules/unictype/property-left-of-pair-tests: New file.
92282         * modules/unictype/property-line-separator-tests: New file.
92283         * modules/unictype/property-logical-order-exception-tests: New file.
92284         * modules/unictype/property-lowercase-tests: New file.
92285         * modules/unictype/property-math-tests: New file.
92286         * modules/unictype/property-non-break-tests: New file.
92287         * modules/unictype/property-not-a-character-tests: New file.
92288         * modules/unictype/property-numeric-tests: New file.
92289         * modules/unictype/property-other-alphabetic-tests: New file.
92290         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
92291         * modules/unictype/property-other-grapheme-extend-tests: New file.
92292         * modules/unictype/property-other-id-continue-tests: New file.
92293         * modules/unictype/property-other-id-start-tests: New file.
92294         * modules/unictype/property-other-lowercase-tests: New file.
92295         * modules/unictype/property-other-math-tests: New file.
92296         * modules/unictype/property-other-uppercase-tests: New file.
92297         * modules/unictype/property-paired-punctuation-tests: New file.
92298         * modules/unictype/property-paragraph-separator-tests: New file.
92299         * modules/unictype/property-pattern-syntax-tests: New file.
92300         * modules/unictype/property-pattern-white-space-tests: New file.
92301         * modules/unictype/property-private-use-tests: New file.
92302         * modules/unictype/property-punctuation-tests: New file.
92303         * modules/unictype/property-quotation-mark-tests: New file.
92304         * modules/unictype/property-radical-tests: New file.
92305         * modules/unictype/property-sentence-terminal-tests: New file.
92306         * modules/unictype/property-soft-dotted-tests: New file.
92307         * modules/unictype/property-space-tests: New file.
92308         * modules/unictype/property-terminal-punctuation-tests: New file.
92309         * modules/unictype/property-test-tests: New file.
92310         * modules/unictype/property-titlecase-tests: New file.
92311         * modules/unictype/property-unassigned-code-value-tests: New file.
92312         * modules/unictype/property-unified-ideograph-tests: New file.
92313         * modules/unictype/property-uppercase-tests: New file.
92314         * modules/unictype/property-variation-selector-tests: New file.
92315         * modules/unictype/property-white-space-tests: New file.
92316         * modules/unictype/property-xid-continue-tests: New file.
92317         * modules/unictype/property-xid-start-tests: New file.
92318         * modules/unictype/property-zero-width-tests: New file.
92319         * modules/unictype/scripts-tests: New file.
92320         * modules/unictype/syntax-c-ident-tests: New file.
92321         * modules/unictype/syntax-c-whitespace-tests: New file.
92322         * modules/unictype/syntax-java-ident-tests: New file.
92323         * modules/unictype/syntax-java-whitespace-tests: New file.
92324         * tests/unictype/test-bidi_byname.c: New file.
92325         * tests/unictype/test-bidi_name.c: New file.
92326         * tests/unictype/test-bidi_of.c: New file.
92327         * tests/unictype/test-bidi_test.c: New file.
92328         * tests/unictype/test-block_list.c: New file.
92329         * tests/unictype/test-block_of.c: New file.
92330         * tests/unictype/test-block_test.c: New file.
92331         * tests/unictype/test-categ_and.c: New file.
92332         * tests/unictype/test-categ_and_not.c: New file.
92333         * tests/unictype/test-categ_byname.c: New file.
92334         * tests/unictype/test-categ_name.c: New file.
92335         * tests/unictype/test-categ_none.c: New file.
92336         * tests/unictype/test-categ_of.c: New file.
92337         * tests/unictype/test-categ_or.c: New file.
92338         * tests/unictype/test-categ_test_withtable.c: New file.
92339         * tests/unictype/test-combining.c: New file.
92340         * tests/unictype/test-decdigit.c: New file.
92341         * tests/unictype/test-digit.c: New file.
92342         * tests/unictype/test-mirror.c: New file.
92343         * tests/unictype/test-numeric.c: New file.
92344         * tests/unictype/test-pr_byname.c: New file.
92345         * tests/unictype/test-pr_test.c: New file.
92346         * tests/unictype/test-predicate-part1.h: New file.
92347         * tests/unictype/test-predicate-part2.h: New file.
92348         * tests/unictype/test-scripts.c: New file.
92349         * tests/unictype/test-sy_c_ident.c: New file.
92350         * tests/unictype/test-sy_java_ident.c: New file.
92352         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
92353         for Unicode 5.0.0.
92354         * tests/unictype/test-categ_Cc.c: Likewise.
92355         * tests/unictype/test-categ_Cf.c: Likewise.
92356         * tests/unictype/test-categ_Cn.c: Likewise.
92357         * tests/unictype/test-categ_Co.c: Likewise.
92358         * tests/unictype/test-categ_Cs.c: Likewise.
92359         * tests/unictype/test-categ_L.c: Likewise.
92360         * tests/unictype/test-categ_Ll.c: Likewise.
92361         * tests/unictype/test-categ_Lm.c: Likewise.
92362         * tests/unictype/test-categ_Lo.c: Likewise.
92363         * tests/unictype/test-categ_Lt.c: Likewise.
92364         * tests/unictype/test-categ_Lu.c: Likewise.
92365         * tests/unictype/test-categ_M.c: Likewise.
92366         * tests/unictype/test-categ_Mc.c: Likewise.
92367         * tests/unictype/test-categ_Me.c: Likewise.
92368         * tests/unictype/test-categ_Mn.c: Likewise.
92369         * tests/unictype/test-categ_N.c: Likewise.
92370         * tests/unictype/test-categ_Nd.c: Likewise.
92371         * tests/unictype/test-categ_Nl.c: Likewise.
92372         * tests/unictype/test-categ_No.c: Likewise.
92373         * tests/unictype/test-categ_P.c: Likewise.
92374         * tests/unictype/test-categ_Pc.c: Likewise.
92375         * tests/unictype/test-categ_Pd.c: Likewise.
92376         * tests/unictype/test-categ_Pe.c: Likewise.
92377         * tests/unictype/test-categ_Pf.c: Likewise.
92378         * tests/unictype/test-categ_Pi.c: Likewise.
92379         * tests/unictype/test-categ_Po.c: Likewise.
92380         * tests/unictype/test-categ_Ps.c: Likewise.
92381         * tests/unictype/test-categ_S.c: Likewise.
92382         * tests/unictype/test-categ_Sc.c: Likewise.
92383         * tests/unictype/test-categ_Sk.c: Likewise.
92384         * tests/unictype/test-categ_Sm.c: Likewise.
92385         * tests/unictype/test-categ_So.c: Likewise.
92386         * tests/unictype/test-categ_Z.c: Likewise.
92387         * tests/unictype/test-categ_Zl.c: Likewise.
92388         * tests/unictype/test-categ_Zp.c: Likewise.
92389         * tests/unictype/test-categ_Zs.c: Likewise.
92390         * tests/unictype/test-ctype_alnum.c: Likewise.
92391         * tests/unictype/test-ctype_alpha.c: Likewise.
92392         * tests/unictype/test-ctype_blank.c: Likewise.
92393         * tests/unictype/test-ctype_cntrl.c: Likewise.
92394         * tests/unictype/test-ctype_digit.c: Likewise.
92395         * tests/unictype/test-ctype_graph.c: Likewise.
92396         * tests/unictype/test-ctype_lower.c: Likewise.
92397         * tests/unictype/test-ctype_print.c: Likewise.
92398         * tests/unictype/test-ctype_punct.c: Likewise.
92399         * tests/unictype/test-ctype_space.c: Likewise.
92400         * tests/unictype/test-ctype_upper.c: Likewise.
92401         * tests/unictype/test-ctype_xdigit.c: Likewise.
92402         * tests/unictype/test-decdigit.h: Likewise.
92403         * tests/unictype/test-digit.h: Likewise.
92404         * tests/unictype/test-numeric.h: Likewise.
92405         * tests/unictype/test-pr_alphabetic.c: Likewise.
92406         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
92407         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
92408         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
92409         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
92410         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
92411         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
92412         * tests/unictype/test-pr_bidi_control.c: Likewise.
92413         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
92414         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
92415         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
92416         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
92417         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
92418         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
92419         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
92420         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
92421         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
92422         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
92423         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
92424         * tests/unictype/test-pr_combining.c: Likewise.
92425         * tests/unictype/test-pr_composite.c: Likewise.
92426         * tests/unictype/test-pr_currency_symbol.c: Likewise.
92427         * tests/unictype/test-pr_dash.c: Likewise.
92428         * tests/unictype/test-pr_decimal_digit.c: Likewise.
92429         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
92430         * tests/unictype/test-pr_deprecated.c: Likewise.
92431         * tests/unictype/test-pr_diacritic.c: Likewise.
92432         * tests/unictype/test-pr_extender.c: Likewise.
92433         * tests/unictype/test-pr_format_control.c: Likewise.
92434         * tests/unictype/test-pr_grapheme_base.c: Likewise.
92435         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
92436         * tests/unictype/test-pr_grapheme_link.c: Likewise.
92437         * tests/unictype/test-pr_hex_digit.c: Likewise.
92438         * tests/unictype/test-pr_hyphen.c: Likewise.
92439         * tests/unictype/test-pr_id_continue.c: Likewise.
92440         * tests/unictype/test-pr_id_start.c: Likewise.
92441         * tests/unictype/test-pr_ideographic.c: Likewise.
92442         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
92443         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
92444         * tests/unictype/test-pr_ignorable_control.c: Likewise.
92445         * tests/unictype/test-pr_iso_control.c: Likewise.
92446         * tests/unictype/test-pr_join_control.c: Likewise.
92447         * tests/unictype/test-pr_left_of_pair.c: Likewise.
92448         * tests/unictype/test-pr_line_separator.c: Likewise.
92449         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
92450         * tests/unictype/test-pr_lowercase.c: Likewise.
92451         * tests/unictype/test-pr_math.c: Likewise.
92452         * tests/unictype/test-pr_non_break.c: Likewise.
92453         * tests/unictype/test-pr_not_a_character.c: Likewise.
92454         * tests/unictype/test-pr_numeric.c: Likewise.
92455         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
92456         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
92457         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
92458         * tests/unictype/test-pr_other_id_continue.c: Likewise.
92459         * tests/unictype/test-pr_other_id_start.c: Likewise.
92460         * tests/unictype/test-pr_other_lowercase.c: Likewise.
92461         * tests/unictype/test-pr_other_math.c: Likewise.
92462         * tests/unictype/test-pr_other_uppercase.c: Likewise.
92463         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
92464         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
92465         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
92466         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
92467         * tests/unictype/test-pr_private_use.c: Likewise.
92468         * tests/unictype/test-pr_punctuation.c: Likewise.
92469         * tests/unictype/test-pr_quotation_mark.c: Likewise.
92470         * tests/unictype/test-pr_radical.c: Likewise.
92471         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
92472         * tests/unictype/test-pr_soft_dotted.c: Likewise.
92473         * tests/unictype/test-pr_space.c: Likewise.
92474         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
92475         * tests/unictype/test-pr_titlecase.c: Likewise.
92476         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
92477         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
92478         * tests/unictype/test-pr_uppercase.c: Likewise.
92479         * tests/unictype/test-pr_variation_selector.c: Likewise.
92480         * tests/unictype/test-pr_white_space.c: Likewise.
92481         * tests/unictype/test-pr_xid_continue.c: Likewise.
92482         * tests/unictype/test-pr_xid_start.c: Likewise.
92483         * tests/unictype/test-pr_zero_width.c: Likewise.
92484         * tests/unictype/test-sy_c_whitespace.c: Likewise.
92485         * tests/unictype/test-sy_java_whitespace.c: Likewise.
92487 2007-11-12  Bruno Haible  <bruno@clisp.org>
92489         Unicode character classification functions.
92490         * lib/unictype.h: New file.
92491         * modules/unictype/base: New file.
92492         * modules/unictype/category-L: New file.
92493         * modules/unictype/category-Lu: New file.
92494         * modules/unictype/category-Ll: New file.
92495         * modules/unictype/category-Lt: New file.
92496         * modules/unictype/category-Lm: New file.
92497         * modules/unictype/category-Lo: New file.
92498         * modules/unictype/category-M: New file.
92499         * modules/unictype/category-Mn: New file.
92500         * modules/unictype/category-Mc: New file.
92501         * modules/unictype/category-Me: New file.
92502         * modules/unictype/category-N: New file.
92503         * modules/unictype/category-Nd: New file.
92504         * modules/unictype/category-Nl: New file.
92505         * modules/unictype/category-No: New file.
92506         * modules/unictype/category-P: New file.
92507         * modules/unictype/category-Pc: New file.
92508         * modules/unictype/category-Pd: New file.
92509         * modules/unictype/category-Ps: New file.
92510         * modules/unictype/category-Pe: New file.
92511         * modules/unictype/category-Pi: New file.
92512         * modules/unictype/category-Pf: New file.
92513         * modules/unictype/category-Po: New file.
92514         * modules/unictype/category-S: New file.
92515         * modules/unictype/category-Sm: New file.
92516         * modules/unictype/category-Sc: New file.
92517         * modules/unictype/category-Sk: New file.
92518         * modules/unictype/category-So: New file.
92519         * modules/unictype/category-Z: New file.
92520         * modules/unictype/category-Zs: New file.
92521         * modules/unictype/category-Zl: New file.
92522         * modules/unictype/category-Zp: New file.
92523         * modules/unictype/category-C: New file.
92524         * modules/unictype/category-Cc: New file.
92525         * modules/unictype/category-Cf: New file.
92526         * modules/unictype/category-Cs: New file.
92527         * modules/unictype/category-Co: New file.
92528         * modules/unictype/category-Cn: New file.
92529         * modules/unictype/category-or: New file.
92530         * modules/unictype/category-of: New file.
92531         * modules/unictype/category-test: New file.
92532         * modules/unictype/category-test-withtable: New file.
92533         * modules/unictype/category-byname: New file.
92534         * modules/unictype/category-none: New file.
92535         * modules/unictype/category-and: New file.
92536         * modules/unictype/category-and-not: New file.
92537         * modules/unictype/category-name: New file.
92538         * modules/unictype/combining-class: New file.
92539         * modules/unictype/category-all: New file.
92540         * modules/unictype/bidicategory-all: New file.
92541         * modules/unictype/bidicategory-byname: New file.
92542         * modules/unictype/bidicategory-name: New file.
92543         * modules/unictype/bidicategory-of: New file.
92544         * modules/unictype/bidicategory-test: New file.
92545         * modules/unictype/decimal-digit: New file.
92546         * modules/unictype/digit: New file.
92547         * modules/unictype/numeric: New file.
92548         * modules/unictype/mirror: New file.
92549         * modules/unictype/property-white-space: New file.
92550         * modules/unictype/property-alphabetic: New file.
92551         * modules/unictype/property-other-alphabetic: New file.
92552         * modules/unictype/property-not-a-character: New file.
92553         * modules/unictype/property-default-ignorable-code-point: New file.
92554         * modules/unictype/property-other-default-ignorable-code-point: New
92555         file.
92556         * modules/unictype/property-deprecated: New file.
92557         * modules/unictype/property-logical-order-exception: New file.
92558         * modules/unictype/property-variation-selector: New file.
92559         * modules/unictype/property-private-use: New file.
92560         * modules/unictype/property-unassigned-code-value: New file.
92561         * modules/unictype/property-uppercase: New file.
92562         * modules/unictype/property-other-uppercase: New file.
92563         * modules/unictype/property-lowercase: New file.
92564         * modules/unictype/property-other-lowercase: New file.
92565         * modules/unictype/property-titlecase: New file.
92566         * modules/unictype/property-soft-dotted: New file.
92567         * modules/unictype/property-id-start: New file.
92568         * modules/unictype/property-other-id-start: New file.
92569         * modules/unictype/property-id-continue: New file.
92570         * modules/unictype/property-other-id-continue: New file.
92571         * modules/unictype/property-xid-start: New file.
92572         * modules/unictype/property-xid-continue: New file.
92573         * modules/unictype/property-pattern-white-space: New file.
92574         * modules/unictype/property-pattern-syntax: New file.
92575         * modules/unictype/property-join-control: New file.
92576         * modules/unictype/property-grapheme-base: New file.
92577         * modules/unictype/property-grapheme-extend: New file.
92578         * modules/unictype/property-other-grapheme-extend: New file.
92579         * modules/unictype/property-grapheme-link: New file.
92580         * modules/unictype/property-bidi-control: New file.
92581         * modules/unictype/property-bidi-left-to-right: New file.
92582         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
92583         * modules/unictype/property-bidi-arabic-right-to-left: New file.
92584         * modules/unictype/property-bidi-european-digit: New file.
92585         * modules/unictype/property-bidi-eur-num-separator: New file.
92586         * modules/unictype/property-bidi-eur-num-terminator: New file.
92587         * modules/unictype/property-bidi-arabic-digit: New file.
92588         * modules/unictype/property-bidi-common-separator: New file.
92589         * modules/unictype/property-bidi-block-separator: New file.
92590         * modules/unictype/property-bidi-segment-separator: New file.
92591         * modules/unictype/property-bidi-whitespace: New file.
92592         * modules/unictype/property-bidi-non-spacing-mark: New file.
92593         * modules/unictype/property-bidi-boundary-neutral: New file.
92594         * modules/unictype/property-bidi-pdf: New file.
92595         * modules/unictype/property-bidi-embedding-or-override: New file.
92596         * modules/unictype/property-bidi-other-neutral: New file.
92597         * modules/unictype/property-hex-digit: New file.
92598         * modules/unictype/property-ascii-hex-digit: New file.
92599         * modules/unictype/property-ideographic: New file.
92600         * modules/unictype/property-unified-ideograph: New file.
92601         * modules/unictype/property-radical: New file.
92602         * modules/unictype/property-ids-binary-operator: New file.
92603         * modules/unictype/property-ids-trinary-operator: New file.
92604         * modules/unictype/property-zero-width: New file.
92605         * modules/unictype/property-space: New file.
92606         * modules/unictype/property-non-break: New file.
92607         * modules/unictype/property-iso-control: New file.
92608         * modules/unictype/property-format-control: New file.
92609         * modules/unictype/property-dash: New file.
92610         * modules/unictype/property-hyphen: New file.
92611         * modules/unictype/property-punctuation: New file.
92612         * modules/unictype/property-line-separator: New file.
92613         * modules/unictype/property-paragraph-separator: New file.
92614         * modules/unictype/property-quotation-mark: New file.
92615         * modules/unictype/property-sentence-terminal: New file.
92616         * modules/unictype/property-terminal-punctuation: New file.
92617         * modules/unictype/property-currency-symbol: New file.
92618         * modules/unictype/property-math: New file.
92619         * modules/unictype/property-other-math: New file.
92620         * modules/unictype/property-paired-punctuation: New file.
92621         * modules/unictype/property-left-of-pair: New file.
92622         * modules/unictype/property-combining: New file.
92623         * modules/unictype/property-composite: New file.
92624         * modules/unictype/property-decimal-digit: New file.
92625         * modules/unictype/property-numeric: New file.
92626         * modules/unictype/property-diacritic: New file.
92627         * modules/unictype/property-extender: New file.
92628         * modules/unictype/property-ignorable-control: New file.
92629         * modules/unictype/property-test: New file.
92630         * modules/unictype/property-byname: New file.
92631         * modules/unictype/property-all: New file.
92632         * modules/unictype/scripts: New file.
92633         * modules/unictype/scripts-all: New file.
92634         * modules/unictype/block-of: New file.
92635         * modules/unictype/block-test: New file.
92636         * modules/unictype/block-list: New file.
92637         * modules/unictype/block-all: New file.
92638         * modules/unictype/syntax-c-whitespace: New file.
92639         * modules/unictype/syntax-java-whitespace: New file.
92640         * modules/unictype/syntax-c-ident: New file.
92641         * modules/unictype/syntax-java-ident: New file.
92642         * modules/unictype/ctype-alnum: New file.
92643         * modules/unictype/ctype-alpha: New file.
92644         * modules/unictype/ctype-cntrl: New file.
92645         * modules/unictype/ctype-digit: New file.
92646         * modules/unictype/ctype-graph: New file.
92647         * modules/unictype/ctype-lower: New file.
92648         * modules/unictype/ctype-print: New file.
92649         * modules/unictype/ctype-punct: New file.
92650         * modules/unictype/ctype-space: New file.
92651         * modules/unictype/ctype-upper: New file.
92652         * modules/unictype/ctype-xdigit: New file.
92653         * modules/unictype/ctype-blank: New file.
92654         * lib/unictype/bidi_byname.c: New file.
92655         * lib/unictype/bidi_name.c: New file.
92656         * lib/unictype/bidi_of.c: New file.
92657         * lib/unictype/bidi_test.c: New file.
92658         * lib/unictype/bitmap.h: New file.
92659         * lib/unictype/block_test.c: New file.
92660         * lib/unictype/blocks.c: New file.
92661         * lib/unictype/categ_C.c: New file.
92662         * lib/unictype/categ_Cc.c: New file.
92663         * lib/unictype/categ_Cf.c: New file.
92664         * lib/unictype/categ_Cn.c: New file.
92665         * lib/unictype/categ_Co.c: New file.
92666         * lib/unictype/categ_Cs.c: New file.
92667         * lib/unictype/categ_L.c: New file.
92668         * lib/unictype/categ_Ll.c: New file.
92669         * lib/unictype/categ_Lm.c: New file.
92670         * lib/unictype/categ_Lo.c: New file.
92671         * lib/unictype/categ_Lt.c: New file.
92672         * lib/unictype/categ_Lu.c: New file.
92673         * lib/unictype/categ_M.c: New file.
92674         * lib/unictype/categ_Mc.c: New file.
92675         * lib/unictype/categ_Me.c: New file.
92676         * lib/unictype/categ_Mn.c: New file.
92677         * lib/unictype/categ_N.c: New file.
92678         * lib/unictype/categ_Nd.c: New file.
92679         * lib/unictype/categ_Nl.c: New file.
92680         * lib/unictype/categ_No.c: New file.
92681         * lib/unictype/categ_P.c: New file.
92682         * lib/unictype/categ_Pc.c: New file.
92683         * lib/unictype/categ_Pd.c: New file.
92684         * lib/unictype/categ_Pe.c: New file.
92685         * lib/unictype/categ_Pf.c: New file.
92686         * lib/unictype/categ_Pi.c: New file.
92687         * lib/unictype/categ_Po.c: New file.
92688         * lib/unictype/categ_Ps.c: New file.
92689         * lib/unictype/categ_S.c: New file.
92690         * lib/unictype/categ_Sc.c: New file.
92691         * lib/unictype/categ_Sk.c: New file.
92692         * lib/unictype/categ_Sm.c: New file.
92693         * lib/unictype/categ_So.c: New file.
92694         * lib/unictype/categ_Z.c: New file.
92695         * lib/unictype/categ_Zl.c: New file.
92696         * lib/unictype/categ_Zp.c: New file.
92697         * lib/unictype/categ_Zs.c: New file.
92698         * lib/unictype/categ_and.c: New file.
92699         * lib/unictype/categ_and_not.c: New file.
92700         * lib/unictype/categ_byname.c: New file.
92701         * lib/unictype/categ_name.c: New file.
92702         * lib/unictype/categ_none.c: New file.
92703         * lib/unictype/categ_of.c: New file.
92704         * lib/unictype/categ_or.c: New file.
92705         * lib/unictype/categ_test.c: New file.
92706         * lib/unictype/combining.c: New file.
92707         * lib/unictype/ctype_alnum.c: New file.
92708         * lib/unictype/ctype_alpha.c: New file.
92709         * lib/unictype/ctype_blank.c: New file.
92710         * lib/unictype/ctype_cntrl.c: New file.
92711         * lib/unictype/ctype_digit.c: New file.
92712         * lib/unictype/ctype_graph.c: New file.
92713         * lib/unictype/ctype_lower.c: New file.
92714         * lib/unictype/ctype_print.c: New file.
92715         * lib/unictype/ctype_punct.c: New file.
92716         * lib/unictype/ctype_space.c: New file.
92717         * lib/unictype/ctype_upper.c: New file.
92718         * lib/unictype/ctype_xdigit.c: New file.
92719         * lib/unictype/decdigit.c: New file.
92720         * lib/unictype/digit.c: New file.
92721         * lib/unictype/identsyntaxmap.h: New file.
92722         * lib/unictype/mirror.c: New file.
92723         * lib/unictype/numeric.c: New file.
92724         * lib/unictype/pr_alphabetic.c: New file.
92725         * lib/unictype/pr_ascii_hex_digit.c: New file.
92726         * lib/unictype/pr_bidi_arabic_digit.c: New file.
92727         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
92728         * lib/unictype/pr_bidi_block_separator.c: New file.
92729         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
92730         * lib/unictype/pr_bidi_common_separator.c: New file.
92731         * lib/unictype/pr_bidi_control.c: New file.
92732         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
92733         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
92734         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
92735         * lib/unictype/pr_bidi_european_digit.c: New file.
92736         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
92737         * lib/unictype/pr_bidi_left_to_right.c: New file.
92738         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
92739         * lib/unictype/pr_bidi_other_neutral.c: New file.
92740         * lib/unictype/pr_bidi_pdf.c: New file.
92741         * lib/unictype/pr_bidi_segment_separator.c: New file.
92742         * lib/unictype/pr_bidi_whitespace.c: New file.
92743         * lib/unictype/pr_byname.c: New file.
92744         * lib/unictype/pr_byname.gperf: New file.
92745         * lib/unictype/pr_combining.c: New file.
92746         * lib/unictype/pr_composite.c: New file.
92747         * lib/unictype/pr_currency_symbol.c: New file.
92748         * lib/unictype/pr_dash.c: New file.
92749         * lib/unictype/pr_decimal_digit.c: New file.
92750         * lib/unictype/pr_default_ignorable_code_point.c: New file.
92751         * lib/unictype/pr_deprecated.c: New file.
92752         * lib/unictype/pr_diacritic.c: New file.
92753         * lib/unictype/pr_extender.c: New file.
92754         * lib/unictype/pr_format_control.c: New file.
92755         * lib/unictype/pr_grapheme_base.c: New file.
92756         * lib/unictype/pr_grapheme_extend.c: New file.
92757         * lib/unictype/pr_grapheme_link.c: New file.
92758         * lib/unictype/pr_hex_digit.c: New file.
92759         * lib/unictype/pr_hyphen.c: New file.
92760         * lib/unictype/pr_id_continue.c: New file.
92761         * lib/unictype/pr_id_start.c: New file.
92762         * lib/unictype/pr_ideographic.c: New file.
92763         * lib/unictype/pr_ids_binary_operator.c: New file.
92764         * lib/unictype/pr_ids_trinary_operator.c: New file.
92765         * lib/unictype/pr_ignorable_control.c: New file.
92766         * lib/unictype/pr_iso_control.c: New file.
92767         * lib/unictype/pr_join_control.c: New file.
92768         * lib/unictype/pr_left_of_pair.c: New file.
92769         * lib/unictype/pr_line_separator.c: New file.
92770         * lib/unictype/pr_logical_order_exception.c: New file.
92771         * lib/unictype/pr_lowercase.c: New file.
92772         * lib/unictype/pr_math.c: New file.
92773         * lib/unictype/pr_non_break.c: New file.
92774         * lib/unictype/pr_not_a_character.c: New file.
92775         * lib/unictype/pr_numeric.c: New file.
92776         * lib/unictype/pr_other_alphabetic.c: New file.
92777         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
92778         * lib/unictype/pr_other_grapheme_extend.c: New file.
92779         * lib/unictype/pr_other_id_continue.c: New file.
92780         * lib/unictype/pr_other_id_start.c: New file.
92781         * lib/unictype/pr_other_lowercase.c: New file.
92782         * lib/unictype/pr_other_math.c: New file.
92783         * lib/unictype/pr_other_uppercase.c: New file.
92784         * lib/unictype/pr_paired_punctuation.c: New file.
92785         * lib/unictype/pr_paragraph_separator.c: New file.
92786         * lib/unictype/pr_pattern_syntax.c: New file.
92787         * lib/unictype/pr_pattern_white_space.c: New file.
92788         * lib/unictype/pr_private_use.c: New file.
92789         * lib/unictype/pr_punctuation.c: New file.
92790         * lib/unictype/pr_quotation_mark.c: New file.
92791         * lib/unictype/pr_radical.c: New file.
92792         * lib/unictype/pr_sentence_terminal.c: New file.
92793         * lib/unictype/pr_soft_dotted.c: New file.
92794         * lib/unictype/pr_space.c: New file.
92795         * lib/unictype/pr_terminal_punctuation.c: New file.
92796         * lib/unictype/pr_test.c: New file.
92797         * lib/unictype/pr_titlecase.c: New file.
92798         * lib/unictype/pr_unassigned_code_value.c: New file.
92799         * lib/unictype/pr_unified_ideograph.c: New file.
92800         * lib/unictype/pr_uppercase.c: New file.
92801         * lib/unictype/pr_variation_selector.c: New file.
92802         * lib/unictype/pr_white_space.c: New file.
92803         * lib/unictype/pr_xid_continue.c: New file.
92804         * lib/unictype/pr_xid_start.c: New file.
92805         * lib/unictype/pr_zero_width.c: New file.
92806         * lib/unictype/scripts.c: New file.
92807         * lib/unictype/sy_c_ident.c: New file.
92808         * lib/unictype/sy_c_whitespace.c: New file.
92809         * lib/unictype/sy_java_ident.c: New file.
92810         * lib/unictype/sy_java_whitespace.c: New file.
92812         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
92813         Unicode 5.0.0.
92814         * lib/unictype/blocks.h: Likewise.
92815         * lib/unictype/categ_C.h: Likewise.
92816         * lib/unictype/categ_Cc.h: Likewise.
92817         * lib/unictype/categ_Cf.h: Likewise.
92818         * lib/unictype/categ_Cn.h: Likewise.
92819         * lib/unictype/categ_Co.h: Likewise.
92820         * lib/unictype/categ_Cs.h: Likewise.
92821         * lib/unictype/categ_L.h: Likewise.
92822         * lib/unictype/categ_Ll.h: Likewise.
92823         * lib/unictype/categ_Lm.h: Likewise.
92824         * lib/unictype/categ_Lo.h: Likewise.
92825         * lib/unictype/categ_Lt.h: Likewise.
92826         * lib/unictype/categ_Lu.h: Likewise.
92827         * lib/unictype/categ_M.h: Likewise.
92828         * lib/unictype/categ_Mc.h: Likewise.
92829         * lib/unictype/categ_Me.h: Likewise.
92830         * lib/unictype/categ_Mn.h: Likewise.
92831         * lib/unictype/categ_N.h: Likewise.
92832         * lib/unictype/categ_Nd.h: Likewise.
92833         * lib/unictype/categ_Nl.h: Likewise.
92834         * lib/unictype/categ_No.h: Likewise.
92835         * lib/unictype/categ_P.h: Likewise.
92836         * lib/unictype/categ_Pc.h: Likewise.
92837         * lib/unictype/categ_Pd.h: Likewise.
92838         * lib/unictype/categ_Pe.h: Likewise.
92839         * lib/unictype/categ_Pf.h: Likewise.
92840         * lib/unictype/categ_Pi.h: Likewise.
92841         * lib/unictype/categ_Po.h: Likewise.
92842         * lib/unictype/categ_Ps.h: Likewise.
92843         * lib/unictype/categ_S.h: Likewise.
92844         * lib/unictype/categ_Sc.h: Likewise.
92845         * lib/unictype/categ_Sk.h: Likewise.
92846         * lib/unictype/categ_Sm.h: Likewise.
92847         * lib/unictype/categ_So.h: Likewise.
92848         * lib/unictype/categ_Z.h: Likewise.
92849         * lib/unictype/categ_Zl.h: Likewise.
92850         * lib/unictype/categ_Zp.h: Likewise.
92851         * lib/unictype/categ_Zs.h: Likewise.
92852         * lib/unictype/categ_of.h: Likewise.
92853         * lib/unictype/combining.h: Likewise.
92854         * lib/unictype/ctype_alnum.h: Likewise.
92855         * lib/unictype/ctype_alpha.h: Likewise.
92856         * lib/unictype/ctype_blank.h: Likewise.
92857         * lib/unictype/ctype_cntrl.h: Likewise.
92858         * lib/unictype/ctype_digit.h: Likewise.
92859         * lib/unictype/ctype_graph.h: Likewise.
92860         * lib/unictype/ctype_lower.h: Likewise.
92861         * lib/unictype/ctype_print.h: Likewise.
92862         * lib/unictype/ctype_punct.h: Likewise.
92863         * lib/unictype/ctype_space.h: Likewise.
92864         * lib/unictype/ctype_upper.h: Likewise.
92865         * lib/unictype/ctype_xdigit.h: Likewise.
92866         * lib/unictype/decdigit.h: Likewise.
92867         * lib/unictype/digit.h: Likewise.
92868         * lib/unictype/mirror.h: Likewise.
92869         * lib/unictype/numeric.h: Likewise.
92870         * lib/unictype/pr_alphabetic.h: Likewise.
92871         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
92872         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
92873         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
92874         * lib/unictype/pr_bidi_block_separator.h: Likewise.
92875         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
92876         * lib/unictype/pr_bidi_common_separator.h: Likewise.
92877         * lib/unictype/pr_bidi_control.h: Likewise.
92878         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
92879         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
92880         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
92881         * lib/unictype/pr_bidi_european_digit.h: Likewise.
92882         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
92883         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
92884         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
92885         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
92886         * lib/unictype/pr_bidi_pdf.h: Likewise.
92887         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
92888         * lib/unictype/pr_bidi_whitespace.h: Likewise.
92889         * lib/unictype/pr_combining.h: Likewise.
92890         * lib/unictype/pr_composite.h: Likewise.
92891         * lib/unictype/pr_currency_symbol.h: Likewise.
92892         * lib/unictype/pr_dash.h: Likewise.
92893         * lib/unictype/pr_decimal_digit.h: Likewise.
92894         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
92895         * lib/unictype/pr_deprecated.h: Likewise.
92896         * lib/unictype/pr_diacritic.h: Likewise.
92897         * lib/unictype/pr_extender.h: Likewise.
92898         * lib/unictype/pr_format_control.h: Likewise.
92899         * lib/unictype/pr_grapheme_base.h: Likewise.
92900         * lib/unictype/pr_grapheme_extend.h: Likewise.
92901         * lib/unictype/pr_grapheme_link.h: Likewise.
92902         * lib/unictype/pr_hex_digit.h: Likewise.
92903         * lib/unictype/pr_hyphen.h: Likewise.
92904         * lib/unictype/pr_id_continue.h: Likewise.
92905         * lib/unictype/pr_id_start.h: Likewise.
92906         * lib/unictype/pr_ideographic.h: Likewise.
92907         * lib/unictype/pr_ids_binary_operator.h: Likewise.
92908         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
92909         * lib/unictype/pr_ignorable_control.h: Likewise.
92910         * lib/unictype/pr_iso_control.h: Likewise.
92911         * lib/unictype/pr_join_control.h: Likewise.
92912         * lib/unictype/pr_left_of_pair.h: Likewise.
92913         * lib/unictype/pr_line_separator.h: Likewise.
92914         * lib/unictype/pr_logical_order_exception.h: Likewise.
92915         * lib/unictype/pr_lowercase.h: Likewise.
92916         * lib/unictype/pr_math.h: Likewise.
92917         * lib/unictype/pr_non_break.h: Likewise.
92918         * lib/unictype/pr_not_a_character.h: Likewise.
92919         * lib/unictype/pr_numeric.h: Likewise.
92920         * lib/unictype/pr_other_alphabetic.h: Likewise.
92921         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
92922         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
92923         * lib/unictype/pr_other_id_continue.h: Likewise.
92924         * lib/unictype/pr_other_id_start.h: Likewise.
92925         * lib/unictype/pr_other_lowercase.h: Likewise.
92926         * lib/unictype/pr_other_math.h: Likewise.
92927         * lib/unictype/pr_other_uppercase.h: Likewise.
92928         * lib/unictype/pr_paired_punctuation.h: Likewise.
92929         * lib/unictype/pr_paragraph_separator.h: Likewise.
92930         * lib/unictype/pr_pattern_syntax.h: Likewise.
92931         * lib/unictype/pr_pattern_white_space.h: Likewise.
92932         * lib/unictype/pr_private_use.h: Likewise.
92933         * lib/unictype/pr_punctuation.h: Likewise.
92934         * lib/unictype/pr_quotation_mark.h: Likewise.
92935         * lib/unictype/pr_radical.h: Likewise.
92936         * lib/unictype/pr_sentence_terminal.h: Likewise.
92937         * lib/unictype/pr_soft_dotted.h: Likewise.
92938         * lib/unictype/pr_space.h: Likewise.
92939         * lib/unictype/pr_terminal_punctuation.h: Likewise.
92940         * lib/unictype/pr_titlecase.h: Likewise.
92941         * lib/unictype/pr_unassigned_code_value.h: Likewise.
92942         * lib/unictype/pr_unified_ideograph.h: Likewise.
92943         * lib/unictype/pr_uppercase.h: Likewise.
92944         * lib/unictype/pr_variation_selector.h: Likewise.
92945         * lib/unictype/pr_white_space.h: Likewise.
92946         * lib/unictype/pr_xid_continue.h: Likewise.
92947         * lib/unictype/pr_xid_start.h: Likewise.
92948         * lib/unictype/pr_zero_width.h: Likewise.
92949         * lib/unictype/scripts.h: Likewise.
92950         * lib/unictype/scripts_byname.gperf: Likewise.
92951         * lib/unictype/sy_c_ident.h: Likewise.
92952         * lib/unictype/sy_c_whitespace.h: Likewise.
92953         * lib/unictype/sy_java_ident.h: Likewise.
92954         * lib/unictype/sy_java_whitespace.h: Likewise.
92956         * lib/unictype/Makefile: New file.
92957         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
92958         glibc.
92959         * lib/unictype/3level.h: New file, copied from glibc.
92960         * lib/unictype/3levelbit.h: New file.
92962 2007-11-11  Bruno Haible  <bruno@clisp.org>
92964         * modules/gperf: New file.
92965         * modules/iconv_open (Depends-on): Add it.
92966         (Makefile.am): Remove the GPERF definition.
92968 2007-11-11  Bruno Haible  <bruno@clisp.org>
92970         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
92971         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
92973 2007-11-11  Bruno Haible  <bruno@clisp.org>
92975         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
92976         (usage): Remove function.
92978 2007-11-11  Bruno Haible  <bruno@clisp.org>
92980         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
92981         gl_FUNC_CEILF_LIBS.
92982         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
92983         gl_FUNC_CEIL_LIBS.
92984         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
92985         gl_FUNC_CEILL_LIBS.
92986         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
92987         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
92988         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
92990 2007-11-11  Bruno Haible  <bruno@clisp.org>
92992         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
92993         roundf were declared but do not exist on functions.
92994         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
92995         roundl were declared but do not exist on functions.
92996         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
92997         HAVE_FLOORL_AND_CEILL, respectively.
92998         Needed for Sun C on Solaris 10.
93000 2007-11-11  Bruno Haible  <bruno@clisp.org>
93002         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
93003         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
93004         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
93005         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
93006         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
93007         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
93008         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
93009         HAVE_DECL_ROUNDF.
93010         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
93011         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
93012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
93013         of HAVE_DECL_ROUND*.
93014         * modules/math (Makefile.am): Update.
93016 2007-11-10  Bruno Haible  <bruno@clisp.org>
93018         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
93019         ptrdiff_t as m4/intl.m4.
93021 2007-11-10  Jim Meyering  <meyering@redhat.com>
93023         Avoid link failure for the argmatch test.
93024         * tests/test-argmatch.c (usage): Define function to avoid a link
93025         failure: argmatch_die requires a usage function.
93027 2007-11-09  Bruno Haible  <bruno@clisp.org>
93029         * doc/functions/snprintf.texi: Mention BeOS deficiency.
93030         * doc/functions/vsnprintf.texi: Likewise.
93031         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
93032         with a size argument < 2.
93034 2007-11-09  Bruno Haible  <bruno@clisp.org>
93036         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
93037         buffer. Fixes an inefficiency introduced on 2007-11-03.
93039 2007-11-09  Bruno Haible  <bruno@clisp.org>
93041         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
93042         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
93044 2007-11-08  Jim Meyering  <meyering@redhat.com>
93046         Change cache variable name prefix "jm_" to "gl_" everywhere.
93047         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
93048         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
93049         * m4/uptime.m4: s/gl_/jm_/
93051 2007-11-07  Bruno Haible  <bruno@clisp.org>
93053         Update to GNU gettext 0.17.
93054         * m4/intl.m4: Update to GNU gettext 0.17.
93055         * m4/po.m4: Likewise.
93056         * modules/gettext (Files): Remove m4/ulonglong.m4.
93057         (configure.ac): Require gettext infrastructure from version 0.17.
93059 2007-11-06  Bruno Haible  <bruno@clisp.org>
93061         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
93062         symbolic values are not defined in a public header.
93063         * lib/freadable.c (freadable) [QNX]: Likewise.
93064         * lib/freadahead.c (freadahead) [QNX]: Likewise.
93065         * lib/freading.c (freading) [QNX]: Likewise.
93066         * lib/fseterr.c (fseterr) [QNX]: Likewise.
93067         * lib/fwritable.c (fwritable) [QNX]: Likewise.
93068         * lib/fwriting.c (fwriting) [QNX]: Likewise.
93069         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
93070         Reported by Alain Magloire.
93072         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
93074 2007-11-05  Bruno Haible  <bruno@clisp.org>
93076         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
93077         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
93078         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
93079         Reported by Eric Blake.
93081 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93082             Bruno Haible  <bruno@clisp.org>
93084         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
93085         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
93086         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
93087         (malloc): Undefine also before including <stdlib.h>.
93088         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
93089         Needed on OSF/1 4.0.
93091 2007-11-05  Jim Meyering  <meyering@redhat.com>
93093         git-version-gen: sync from coreutils.
93094         * build-aux/git-version-gen: Add comments.
93095         Change the first '-' to '.' in the snapshot version string,
93096         e.g., 6.9-377-08144 -> 6.9.377-08144
93097         Remove first parameter.
93098         Don't declare a version "-dirty" merely because a time
93099         stamp has changed.
93101 2007-11-04  Bruno Haible  <bruno@clisp.org>
93103         * lib/lock.h: Protect all macro definitions containing an 'if'
93104         statement through a "do { ... } while (0)".
93105         * lib/tls.h: Likewise.
93107 2007-11-04  Bruno Haible  <bruno@clisp.org>
93109         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
93111 2007-11-04  Bruno Haible  <bruno@clisp.org>
93113         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
93114         * modules/fprintf-posix (Depends-on): Add nocrash.
93115         * modules/snprintf-posix (Depends-on): Likewise.
93116         * modules/sprintf-posix (Depends-on): Likewise.
93117         * modules/vasnprintf-posix (Depends-on): Likewise.
93118         * modules/vasprintf-posix (Depends-on): Likewise.
93119         * modules/vfprintf-posix (Depends-on): Likewise.
93120         * modules/vsnprintf-posix (Depends-on): Likewise.
93121         * modules/vsprintf-posix (Depends-on): Likewise.
93122         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
93123         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
93124         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
93125         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
93126         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
93127         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
93128         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
93130 2007-11-04  Bruno Haible  <bruno@clisp.org>
93132         * modules/nocrash: New file.
93133         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
93134         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
93136 2007-11-04  Bruno Haible  <bruno@clisp.org>
93138         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
93139         precision handling.
93140         * tests/test-vasprintf-posix.c (test_function): Likewise.
93141         * tests/test-snprintf-posix.h (test_function): Likewise.
93142         * tests/test-sprintf-posix.h (test_function): Likewise.
93144         Fix *printf behaviour for large precisions on mingw and BeOS.
93145         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
93146         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
93147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
93148         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
93149         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
93150         gl_PRINTF_PRECISION and test its result. Invoke
93151         gl_PREREQ_VASNPRINTF_PRECISION.
93152         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
93153         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
93154         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
93155         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
93156         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
93157         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
93158         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
93159         * doc/functions/fprintf.texi: Update.
93160         * doc/functions/printf.texi: Update.
93161         * doc/functions/snprintf.texi: Update.
93162         * doc/functions/sprintf.texi: Update.
93163         * doc/functions/vfprintf.texi: Update.
93164         * doc/functions/vprintf.texi: Update.
93165         * doc/functions/vsnprintf.texi: Update.
93166         * doc/functions/vsprintf.texi: Update.
93168 2007-11-04  Bruno Haible  <bruno@clisp.org>
93170         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
93172 2007-11-04  Bruno Haible  <bruno@clisp.org>
93174         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
93175         Reported by Sylvain Beucler <beuc@gnu.org>.
93177 2007-11-03  Bruno Haible  <bruno@clisp.org>
93179         * tests/test-fprintf-posix2.sh: New file.
93180         * tests/test-fprintf-posix2.c: New file.
93181         * modules/fprintf-posix-tests (Files): Add them.
93182         (TESTS): Add test-fprintf-posix2.sh.
93183         (configure.ac): Check for getrlimit and setrlimit.
93184         (check_PROGRAMS): Add test-fprintf-posix2.
93186         * tests/test-printf-posix2.sh: New file.
93187         * tests/test-printf-posix2.c: New file.
93188         * modules/printf-posix-tests (Files): Add them.
93189         (TESTS): Add test-printf-posix2.sh.
93190         (configure.ac): Check for getrlimit and setrlimit.
93191         (check_PROGRAMS): Add test-printf-posix2.
93193         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
93194         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
93195         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
93196         (decode_double): New function, copied from decode_long_double.
93197         (scale10_round_decimal_decoded): New function, extracted from
93198         scale10_round_decimal_long_double.
93199         (scale10_round_decimal_long_double): Use it.
93200         (scale10_round_decimal_double): New function.
93201         (floorlog10): New function.
93202         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
93203         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
93204         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
93205         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
93206         gl_PRINTF_ENOMEM and test its result. Invoke
93207         gl_PREREQ_VASNPRINTF_ENOMEM.
93208         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
93209         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
93210         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
93211         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
93212         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
93213         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
93214         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
93215         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
93216         * modules/snprintf-posix (Depends-on): Likewise.
93217         * modules/sprintf-posix (Depends-on): Likewise.
93218         * modules/vasnprintf-posix (Depends-on): Likewise.
93219         * modules/vasprintf-posix (Depends-on): Likewise.
93220         * modules/vfprintf-posix (Depends-on): Likewise.
93221         * modules/vsnprintf-posix (Depends-on): Likewise.
93222         * modules/vsprintf-posix (Depends-on): Likewise.
93223         * doc/functions/fprintf.texi: Update.
93224         * doc/functions/printf.texi: Update.
93225         * doc/functions/snprintf.texi: Update.
93226         * doc/functions/sprintf.texi: Update.
93227         * doc/functions/vfprintf.texi: Update.
93228         * doc/functions/vprintf.texi: Update.
93229         * doc/functions/vsnprintf.texi: Update.
93230         * doc/functions/vsprintf.texi: Update.
93232 2007-11-03  Bruno Haible  <bruno@clisp.org>
93234         * modules/frexp-nolibm-tests: New file.
93236         * modules/frexp-nolibm: New file.
93237         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
93239 2007-11-03  Bruno Haible  <bruno@clisp.org>
93241         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
93242         value is C99 compliant.
93243         Needed for OSF/1 5.1.
93245 2007-11-03  Bruno Haible  <bruno@clisp.org>
93247         Fix out-of-memory handling of vasnprintf.
93248         * lib/printf-parse.c: Include <errno.h>.
93249         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
93250         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
93251         is already set.
93253 2007-11-02  Eric Blake  <ebb9@byu.net>
93255         Fix tests on cygwin.
93256         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
93258 2007-11-01  Bruno Haible  <bruno@clisp.org>
93260         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
93261         warning.
93262         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
93263         needed for POSIX compatibility.
93265 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
93267         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
93268         for compatibility with GNU.
93270 2007-11-01  Bruno Haible  <bruno@clisp.org>
93272         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
93273         (putenv): Renamed from rpl_putenv. Change argument type from
93274         'const char *' to 'char *'.
93275         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
93276         of defining putenv in config.h, just set REPLACE_PUTENV.
93277         * modules/putenv (Depends-on): Add stdlib.
93278         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
93279         (Include): Use <stdlib.h>.
93280         * lib/stdlib.in.h (putenv): New declaration.
93281         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
93282         REPLACE_PUTENV.
93283         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
93284         REPLACE_PUTENV.
93285         Needed for MacOS X 10.5.0.
93286         Reported by Peter O'Gorman <peter@pogma.com>.
93288 2007-11-01  Jim Meyering  <meyering@redhat.com>
93290         Treat an empty date string exactly like "0".
93291         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
93292         if the remaining date string (to be parsed) is empty, use "0".
93293         Reported by Mischa Molhoek and discussed in this thread:
93294         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
93296 2007-10-31  Bruno Haible  <bruno@clisp.org>
93298         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
93299         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
93300         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
93301         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
93302         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
93303         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
93305 2007-10-31  Bruno Haible  <bruno@clisp.org>
93307         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
93308         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
93309         (AC_TYPE_LONG_LONG_INT): Use it.
93310         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
93311         it as well.
93312         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
93313         to m4/longlong.m4.
93314         * modules/stdint (Files): Remove m4/ulonglong.m4.
93315         * modules/strtoull (Files): Use m4/longlong.m4 instead of
93316         m4/ulonglong.m4.
93317         * modules/strtoumax (Files): Likewise.
93319 2007-10-30  Bruno Haible  <bruno@clisp.org>
93321         * modules/xvasprintf-posix: New file.
93322         Suggested by Eric Blake.
93324 2007-10-30  Bruno Haible  <bruno@clisp.org>
93326         * modules/xprintf-posix-tests: New file.
93327         * tests/test-xprintf-posix.sh: New file.
93328         * tests/test-xprintf-posix.c: New file.
93329         * tests/test-xfprintf-posix.c: New file.
93331         * modules/xprintf-posix: New file.
93333 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93335         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
93336         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
93337         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
93339 2007-10-29  Bruno Haible  <bruno@clisp.org>
93341         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
93342         contain the special marker '_cv_'.
93343         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
93344         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
93345         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
93346         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
93347         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
93348         Reported by Ralf Wildenhues.
93350 2007-10-29  Bruno Haible  <bruno@clisp.org>
93352         * gnulib-tool (func_import): When --lgpl is not specified, set
93353         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
93354         GPLv3.
93355         Reported by Simon Josefsson.
93357 2007-10-28  Bruno Haible  <bruno@clisp.org>
93359         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
93360         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
93361         HAVE_DECL_ISFINITE.
93362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
93363         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
93364         HAVE_DECL_ISFINITE.
93366 2007-10-28  Bruno Haible  <bruno@clisp.org>
93368         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
93369         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
93371 2007-10-28  Bruno Haible  <bruno@clisp.org>
93373         Fix link errors with Sun C 5.0 on Solaris 10.
93374         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
93375         function is declared but not present in the compiler's libm.
93376         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
93377         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
93378         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
93379         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
93380         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
93381         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
93382         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
93383         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
93384         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
93385         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
93386         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
93387         HAVE_DECL_FLOORL.
93389 2007-10-28  Bruno Haible  <bruno@clisp.org>
93391         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
93392         gl_FUNC_FLOORL. Cache the result.
93393         (gl_FUNC_FLOORL): Use it.
93394         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
93395         gl_FUNC_CEILL. Cache the result.
93396         (gl_FUNC_CEILL): Use it.
93398         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
93399         gl_FUNC_FLOOR. Cache the result.
93400         (gl_FUNC_FLOOR): Use it.
93401         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
93402         gl_FUNC_CEIL. Cache the result.
93403         (gl_FUNC_CEIL): Use it.
93405         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
93406         gl_FUNC_FLOORF. Cache the result.
93407         (gl_FUNC_FLOORF): Use it.
93408         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
93409         gl_FUNC_CEILF. Cache the result.
93410         (gl_FUNC_CEILF): Use it.
93412 2007-10-28  Bruno Haible  <bruno@clisp.org>
93414         * gnulib-tool: Allow specifying the LGPL version number through
93415         --lgpl=2 or --lgpl=3.
93416         (func_usage): Document --lgpl with argument.
93417         Handle --lgpl=... arguments.
93418         (func_import): Recognize also gl_LGPL calls with an argument. When
93419         --lgpl=2 is used and the module's license is just LGPL, report an
93420         error. Set sed_transform_lib_file according to the lgpl variable. In
93421         the generated files, use --lgpl or gl_LGPL invocations with argument,
93422         if necessary.
93423         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
93424         an LGPv2+ license.
93425         * doc/gnulib-tool.texi (Modified imports): Update explanation of
93426         gl_LGPL macro.
93428 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93429             Bruno Haible  <bruno@clisp.org>
93431         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
93432         (u16_uctomb_aux): Likewise.
93433         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
93434         !HAVE_INLINE.
93435         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
93437 2007-10-28  Bruno Haible  <bruno@clisp.org>
93439         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
93440         Invoke AM_GETTEXT_OPTION if it exists.
93441         * modules/vasprintf: Likewise.
93442         * modules/verror: Likewise.
93443         * modules/xprintf: Likewise.
93444         * modules/xvasprintf: Likewise.
93446 2007-10-27  Ben Pfaff  <blp@gnu.org>
93448         * lib/math.in.h: Define isfinite macro and prototypes for
93449         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
93450         implementations.
93451         * m4/math_h.m4: New substitutions for isfinite module.
93452         * lib/isfinite.c: New file.
93453         * m4/isfinite.m4: New file.
93454         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
93455         * modules/isfinite: New file.
93456         * modules/isfinite-tests: New file.
93457         * tests/tests-isfinite.c: New file.
93458         * doc/functions/isfinite.texi: Mention isfinite module.
93459         * MODULES.html.sh: Mention new module.
93461 2007-10-27  Ben Pfaff  <blp@gnu.org>
93463         Ralf Wildenhues reported that Tru64 4.0D declares the round
93464         functions but does not have definitions.
93465         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
93466         cannot be found in any library, set the output variable to
93467         "missing" instead of "".
93468         * m4/round.m4: Also use our substitute if we cannot find round in
93469         any library, even if it is declared.
93470         * m4/roundf.m4: Likewise for roundf.
93471         * m4/roundl.m4: Likewise for roundl.
93472         * lib/math.in.h: Undefine roundf, round, roundl before defining
93473         their replacements, to allow for hypothetical systems where these
93474         may be defined as macros but not available in libraries.
93476 2007-10-27  Bruno Haible  <bruno@clisp.org>
93478         * doc/gnulib.texi: Invoke @firstparagraphindent.
93479         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
93480         changes in gnulib.
93481         (Source changes): New section.
93483 2007-10-26  Bruno Haible  <bruno@clisp.org>
93485         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
93486         borrowed from autoconf.
93488 2007-10-26  Bruno Haible  <bruno@clisp.org>
93490         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
93491         strerror returned the empty string. Needed on HP-UX 11.00.
93493 2007-10-24  Micah Cowan  <micah@cowan.name>
93495         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
93496         * build-aux/bootstrap: Remove support for now-unnecessary option,
93497         --cvs-user, and envvars CVS_USER, CVS_RSH.
93499 2007-10-24  Jim Meyering  <meyering@redhat.com>
93501         Avoid diagnostics from sha1sum when there is no cached checksum.
93502         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
93503         if the po.s1 file hasn't been created yet.
93505         * build-aux/bootstrap: Sync from coreutils:
93506         2007-10-24  Jim Meyering  <meyering@redhat.com>
93507         Get gnulib from the git repository, not from an obsolete cvs one.
93508         * build-aux/bootstrap: Suggestion from Micah Cowan.
93509         2007-10-04  Jim Meyering  <jim@meyering.net>
93510         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
93511         (update_po_files): Work also when there are no .po files in po/.
93513 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
93515         * README: Append ".git" to git and cg examples.
93516         Problem reported by Benoit Sigoure.
93518 2007-10-23  Micah Cowan  <micah@cowan.name>
93520         * users.txt: Add wget.
93522 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93524         Fix linking of some unistdio tests on FreeBSD.
93525         * modules/unistdio/u16-vsnprintf-tests
93526         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
93527         * modules/unistdio/u16-vsprintf-tests
93528         (test_u16_vsnprintf1_LDADD): Likewise.
93529         * modules/unistdio/u32-vsnprintf-tests
93530         (test_u32_vsnprintf1_LDADD): Likewise.
93531         * modules/unistdio/u32-vsprintf-tests
93532         (test_u32_vsprintf1_LDADD): Likewise.
93533         * modules/unistdio/u8-vsnprintf-tests
93534         (test_u8_vsnprintf1_LDADD): Likewise.
93535         * modules/unistdio/u8-vsprintf-tests
93536         (test_u8_vsprintf1_LDADD): Likewise.
93537         * modules/unistdio/ulc-vsnprintf-tests
93538         (test_ulc_vsnprintf1_LDADD): Likewise.
93539         * modules/unistdio/ulc-vsprintf-tests
93540         (test_ulc_vsprintf1_LDADD): Likewise.
93542         Fix linking of some uniconv tests on FreeBSD.
93543         * modules/uniconv/u16-conv-from-enc-tests
93544         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
93545         * modules/uniconv/u16-conv-to-enc-tests
93546         (test_u16_conv_to_enc_LDADD): Likewise.
93547         * modules/uniconv/u16-strconv-from-enc-tests
93548         (test_u16_strconv_from_enc_LDADD): Likewise.
93549         * modules/uniconv/u16-strconv-to-enc-tests
93550         (test_u16_strconv_to_enc_LDADD): Likewise.
93551         * modules/uniconv/u32-conv-from-enc-tests
93552         (test_u32_conv_from_enc_LDADD): Likewise.
93553         * modules/uniconv/u32-conv-to-enc-tests
93554         (test_u32_conv_to_enc_LDADD): Likewise.
93555         * modules/uniconv/u32-strconv-from-enc-tests
93556         (test_u32_strconv_from_enc_LDADD): Likewise.
93557         * modules/uniconv/u32-strconv-to-enc-tests
93558         (test_u32_strconv_to_enc_LDADD): Likewise.
93559         * modules/uniconv/u8-conv-from-enc-tests
93560         (test_u8_conv_from_enc_LDADD): Likewise.
93561         * modules/uniconv/u8-conv-to-enc-tests
93562         (test_u8_conv_to_enc_LDADD): Likewise.
93563         * modules/uniconv/u8-strconv-from-enc-tests
93564         (test_u8_strconv_from_enc_LDADD): Likewise.
93565         * modules/uniconv/u8-strconv-to-enc-tests
93566         (test_u8_strconv_to_enc_LDADD): Likewise.
93568 2007-10-22  Bruno Haible  <bruno@clisp.org>
93570         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
93571         size.
93573 2007-10-22  Eric Blake  <ebb9@byu.net>
93575         Tweak x*printf documentation.
93576         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
93577         variable name and comments.
93578         Suggested by Bruno Haible.
93580 2007-10-22  Bruno Haible  <bruno@clisp.org>
93582         * lib/acl.c (copy_acl): Fix file name in comment.
93584 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
93586         Fix Tru64 problem with stdbool.h.
93587         * lib/stdbool.in.h (false, true):
93588         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
93589         Don't declare as an enum in this situation; it runs afoul of Tru64.
93590         Problem reported by Steven M. Schweda in
93591         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
93593 2007-10-22  Eric Blake  <ebb9@byu.net>
93595         Also wrap vf?printf.
93596         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
93597         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
93598         (xvprintf, xvfprintf): New functions.
93600 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93602         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
93603         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
93605         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
93606         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
93608 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
93610         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
93611         by Bruno Haible.
93613 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93615         * lib/getloadavg.c
93616         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
93617         Undef `sys' after including sys/table.h, for Tru64 4.0D.
93619         * tests/test-i-ring.c: Work for C89.
93621 2007-10-22  Bruno Haible  <bruno@clisp.org>
93623         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
93624         -1u, in preprocessor expression, so that we don't test for the bug
93625         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
93626         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
93628 2007-10-22  Eric Blake  <ebb9@byu.net>
93630         * tests/test-yesno.sh: Silence stderr during test.
93632 2007-10-22  Simon Josefsson  <simon@josefsson.org>
93634         * modules/crypto/gc-camellia: New file.
93636         * m4/gc-camellia.m4: New file.
93638         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
93640         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
93642 2007-10-22  Simon Josefsson  <simon@josefsson.org>
93644         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
93645         --help to stdout.  Reported by sms@antinode.org (Steven
93646         M. Schweda).
93648 2007-10-22  Simon Josefsson  <simon@josefsson.org>
93650         * users.txt: Fix link to libksba.
93652 2007-10-21  Ben Pfaff  <blp@gnu.org>
93654         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
93655         round.c roundf implementation that depends on floorf and ceilf to
93656         be tested unconditionally.
93658 2007-10-21  Ben Pfaff  <blp@gnu.org>
93660         * m4/check-libm-func.m4: Removed.
93661         * m4/check-math-lib.m4: New file.
93662         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
93663         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
93664         definition and lack of AC_LIBOBJ([roundf]).
93665         * m4/roundl.m4: Ditto, and similarly for roundl.
93666         * modules/round: Reference new m4 file.
93667         * modules/roundf: Ditto.
93668         * modules/roundl: Ditto.
93669         * tests/test-round2.c (main): Use ROUND instead of round.
93670         Bug report from Bruno Haible.
93672 2007-10-21  Bruno Haible  <bruno@clisp.org>
93674         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
93675         context.
93677 2007-10-21  Bruno Haible  <bruno@clisp.org>
93679         * tests/test-wcwidth.c (main): Allow negative result for some control
93680         characters.
93682         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
93683         Needed on OSF/1 5.1.
93685 2007-10-21  Bruno Haible  <bruno@clisp.org>
93687         * tests/test-floorf1.c: Include isnanf.h.
93688         (main): Use isnanf() instead of isnan().
93689         * tests/test-ceilf1.c: Include isnanf.h.
93690         (main): Use isnanf() instead of isnan().
93691         * tests/test-truncf1.c: Include isnanf.h.
93692         (main): Use isnanf() instead of isnan().
93693         * tests/test-roundf1.c: Include isnanf.h.
93694         (main): Use isnanf() instead of isnan().
93696 2007-10-21  Eric Blake  <ebb9@byu.net>
93698         * users.txt: Update URL for m4.
93700 2007-10-21  Bruno Haible  <bruno@clisp.org>
93702         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
93704 2007-10-21  Bruno Haible  <bruno@clisp.org>
93706         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
93707         Git's management files if the CVS files are not present.
93709 2007-10-20  Bruno Haible  <bruno@clisp.org>
93711         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
93712         gcc-3.4.x.
93714 2007-10-20  Ben Pfaff  <blp@gnu.org>
93716         * lib/math.in.h: Declare round, roundf, roundl if we are providing
93717         implementations.
93718         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
93719         * lib/round.c: New file.
93720         * lib/roundf.c: New file.
93721         * lib/roundl.c: New file.
93722         * m4/round.m4: New file.
93723         * m4/roundf.m4: New file.
93724         * m4/roundl.m4: New file.
93725         * m4/check-libm-func-m4: New file.
93726         * modules/math: Replace round, roundf, roundl related @VARS@ in
93727         math.in.h.
93728         * modules/round: New file.
93729         * modules/round-tests: New file.
93730         * modules/roundf: New file.
93731         * modules/roundf-tests: New file.
93732         * modules/roundl: New file.
93733         * modules/roundl-tests: New file.
93734         * tests/test-round1.c: New file.
93735         * tests/test-round2.c: New file.
93736         * tests/test-roundf1.c: New file.
93737         * tests/test-roundf2.c: New file.
93738         * tests/test-roundl.c: New file.
93739         * doc/functions/round.texi: Mention round module.
93740         * doc/functions/roundf.texi: Mention roundf module.
93741         * doc/functions/roundl.texi: Mention roundl module.
93742         * MODULES.html.sh: Mention new modules.
93743         Thanks to Bruno Haible for suggestions.
93745 2007-10-20  Jim Meyering  <meyering@redhat.com>
93747         * lib/xprintf.c: Include <config.h> unconditionally.
93749         Change xprintf's license to GPL.
93750         * modules/xprintf (License): s/LGPL/GPL/, since this module
93751         depends on modules (exit and exitfail) which are GPL.
93752         Suggestion from Bruno Haible.
93754         xprintf fixes.
93755         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
93756         Use a clearer diagnostic.
93757         Patch from Bruno Haible.
93759 2007-10-20  Bruno Haible  <bruno@clisp.org>
93761         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
93762         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
93763         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
93765 2007-10-20  Bruno Haible  <bruno@clisp.org>
93767         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
93768         precision in the comparison result > x - 1 or similar.
93769         * tests/test-ceilf2.c (correct_result_p): Likewise.
93770         * tests/test-truncf2.c (correct_result_p): Likewise.
93771         * tests/test-trunc2.c (correct_result_p): Likewise.
93772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
93774 2007-10-20  Bruno Haible  <bruno@clisp.org>
93776         * modules/ceil: New file.
93777         * m4/ceil.m4: New file.
93778         * doc/functions/ceil.texi: Mention the 'ceil' module.
93780 2007-10-20  Bruno Haible  <bruno@clisp.org>
93782         * modules/floor: New file.
93783         * m4/floor.m4: New file.
93784         * doc/functions/floor.texi: Mention the 'floor' module.
93786 2007-10-20  Bruno Haible  <bruno@clisp.org>
93788         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
93789         of %a.
93790         * modules/floorf-tests (Depends-on): Likewise.
93791         * modules/truncf-tests (Depends-on): Likewise.
93792         * modules/trunc-tests (Depends-on): Likewise.
93793         Reported by Ben Pfaff.
93795 2007-10-19  Jim Meyering  <meyering@redhat.com>
93797         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
93798         Don't bother testing specific errno values.  Just test ferror.
93800         New module: xprintf
93801         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
93803 2007-10-19  Bruno Haible  <bruno@clisp.org>
93805         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
93806         syntax.
93807         * modules/javaexec (Makefile.am): Likewise.
93808         * modules/relocatable-prog (Makefile.am): Likewise.
93809         Suggested by Jim Meyering.
93811 2007-10-18  Bruno Haible  <bruno@clisp.org>
93813         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
93814         Reported by Jim Meyering.
93816 2007-10-18  Eric Blake  <ebb9@byu.net>
93818         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
93820 2007-10-18  Bruno Haible  <bruno@clisp.org>
93822         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
93823         the format string into writable memory. Needed in Fortify conditions.
93825 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
93826             Bruno Haible  <bruno@clisp.org>
93828         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
93829         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
93830         * modules/trim (Depends-on): Add mbchar.
93831         (configure.ac): Add gl_FUNC_MBRTOWC.
93832         (Makefile.am): Augment lib_SOURCES.
93834 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
93836         Modify glob.c to use fstatat and dirfd, to simplify it.
93837         Suggested by Eric Blake.
93838         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
93839         Don't include <stdbool.h>; not used.
93840         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
93841         (link_exists_p): Simplify implementation, since we can now assume
93842         dirfd and fstatat.
93843         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
93845 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93847         * gnulib-tool (func_get_dependencies): Fix sed script to
93848         match only tests.
93850 2007-10-17  Bruno Haible  <bruno@clisp.org>
93852         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
93853         allow locale names without encoding suffix.
93854         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
93855         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
93857 2007-10-16  Bruno Haible  <bruno@clisp.org>
93859         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
93860         * lib/getgroups.c (getgroups): Likewise.
93861         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
93863 2007-10-16  Bruno Haible  <bruno@clisp.org>
93865         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
93866         * modules/malloc-posix (License): Likewise.
93867         * modules/realloc-posix (License): Likewise.
93868         * modules/calloc-posix (License): Likewise.
93869         * modules/intprops (License): Change from GPL to LGPL, with
93870         Paul Eggert's approval.
93872 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
93874         Merge glibc changes into lib/glob.c.
93876         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
93877         2007-10-15 04:59:03 UTC.  Here are the changes:
93879         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
93881         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
93883         * lib/glob.c: Add some branch prediction throughout.
93885         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
93887         [BZ #5103]
93888         * lib/glob.c (glob): Recognize patterns starting \/.
93890         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
93892         [BZ #3996]
93893         * lib/glob.c (attribute_hidden): Define if not defined.
93894         (glob): Unescape dirname, filename or username when needed and not
93895         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
93896         is NULL.  Handle unescaped [ in pattern without closing ].
93897         Don't pass GLOB_CHECK down to recursive glob for directories.
93898         (__glob_pattern_type): New function.
93899         (__glob_pattern_p): Implement using __glob_pattern_type.
93900         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
93901         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
93902         Remove unreachable code.
93904         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
93906         * lib/glob.c (glob_in_dir): Add some comments and asserts to
93907         explain why there are no leaks.
93909         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
93911         [BZ #3253]
93912         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
93913         time, rather allocate increasingly bigger arrays of pointers, if
93914         possible with alloca, if too large with malloc.
93916 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
93918         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
93919         Problem reported by H.Merijn Brand in
93920         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
93921         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
93922         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
93924 2007-10-15  Bruno Haible  <bruno@clisp.org>
93926         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
93927         with explicit rpl_ prefix.
93928         * lib/fopen.c (fopen): Likewise.
93929         * lib/freopen.c (freopen): Likewise.
93930         * lib/iconv.c (iconv): Likewise.
93931         * lib/iconv_close.c (iconv_close): Likewise.
93933 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93935         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
93937 2007-10-15  Bruno Haible  <bruno@clisp.org>
93939         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
93940         <stddef.h> instead of <stdlib.h> since we only need NULL.
93941         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93943 2007-10-15  Bruno Haible  <bruno@clisp.org>
93945         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
93946         Replace paragraph talking about LIBOBJS.
93947         Reported by Colin Watson <cjwatson@debian.org>.
93949 2007-10-15  Bruno Haible  <bruno@clisp.org>
93951         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
93952         <stdlib.h> before using NULL.
93954 2007-10-15  Simon Josefsson  <simon@josefsson.org>
93956         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
93957         Reported by Albert Chin <china@thewrittenword.com>.
93959 2007-10-14  Bruno Haible  <bruno@clisp.org>
93961         * modules/iconv_open-utf-tests: New file.
93962         * tests/test-iconv-utf.c: New file.
93964         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
93965         * modules/iconv_open-utf: New file.
93966         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
93967         (iconv, iconv_close): New declarations.
93968         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
93969         be defined.
93970         (iconv_open): Add special handling of conversion between UTF-8 and
93971         UTF-{16,32}{BE,LE}.
93972         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
93973         * lib/iconv_close.c: New file.
93974         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
93975         gl_FUNC_ICONV_OPEN.
93976         (gl_FUNC_ICONV_OPEN): Use it.
93977         (gl_FUNC_ICONV_OPEN_UTF): New macro.
93978         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
93979         and REPLACE_ICONV_UTF.
93980         * modules/iconv_open (Depends-on): Add c-strcase.
93981         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
93982         ICONV_CONST.
93983         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
93985 2007-10-13  Albert Chin  <china@thewrittenword.com>
93986             Bruno Haible  <bruno@clisp.org>
93988         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
93989         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
93991 2007-10-13  Bruno Haible  <bruno@clisp.org>
93993         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
93994         defined, use the ISO C99 inline semantics.
93995         * lib/argp.h (ARGP_EI): Likewise.
93997 2007-10-13  Bruno Haible  <bruno@clisp.org>
93999         Handle 'inline' change in gcc 4.3.0.
94000         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
94001         argp_fmtstream_write, argp_fmtstream_set_lmargin,
94002         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
94003         argp_fmtstream_point): Disable 'extern' declaration if the function
94004         definition is going to be provided inline.
94005         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
94006         semantics, not the ISO C99 inline semantics.
94007         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
94008         'extern' declaration if the function definition is going to be provided
94009         inline.
94010         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
94011         the GNU C inline semantics, not the ISO C99 inline semantics. With
94012         GCC 4.2, avoid a warning.
94014 2007-10-13  Bruno Haible  <bruno@clisp.org>
94016         * lib/freading.h (freading): Enable the use of __freading for
94017         glibc >= 2.7.
94018         * lib/freading.c (freading): Likewise.
94020 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
94022         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
94023         "warning: C99 inline functions are not supported; using GNU89".
94025 2007-10-12  Bruno Haible  <bruno@clisp.org>
94027         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
94028         of 2.
94029         * tests/test-ceilf2.c: New file.
94030         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
94032         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
94033         * modules/ceilf-tests: Update.
94035 2007-10-12  Bruno Haible  <bruno@clisp.org>
94037         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
94038         of 2.
94039         * tests/test-floorf2.c: New file.
94040         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
94042         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
94043         * modules/floorf-tests: Update.
94045 2007-10-12  Bruno Haible  <bruno@clisp.org>
94047         * tests/test-trunc2.c: New file.
94048         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
94050         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
94051         * modules/trunc-tests: Update.
94053 2007-10-12  Bruno Haible  <bruno@clisp.org>
94055         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
94056         of 2.
94057         * tests/test-truncf2.c: New file.
94058         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
94060         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
94061         * modules/truncf-tests: Update.
94063 2007-10-11  Eric Blake  <ebb9@byu.net>
94065         Don't claim strerror is broken on Interix.
94066         * doc/functions/strerror.texi (strerror): Known broken systems are
94067         now Solaris 8, and not Interix.
94068         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
94069         Interix on cross-compile.
94070         Reported by Martin Koeppe in
94071         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
94073 2007-10-11  Bruno Haible  <bruno@clisp.org>
94075         * modules/i-ring-tests: New file.
94076         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
94077         instead of assert.
94079 2007-10-11  Bruno Haible  <bruno@clisp.org>
94081         * modules/filenamecat-tests: New file.
94082         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
94083         * lib/filenamecat.c: Remove test code.
94085 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
94087         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
94089         * lib/strerror.c: Include <string.h> always, to test interface,
94090         and to remove the need for the dummy.
94091         Include intprops.h to compute width instead of doing it ourselves
94092         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
94093         (strerror): Define it to return NULL if there's no system strerror.
94094         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
94095         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
94096         ancient pre-strerror Unix systems well any more.  Saying "unknown
94097         system error" is enough.
94098         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
94099         simpler strerror.c implementation.
94100         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
94101         Simplify the tests to reflect the simpler strerror implementation.
94102         * modules/strerror (Depends-on): Add intprops.
94104 2007-10-09  Eric Blake  <ebb9@byu.net>
94106         Silence test-fpending.
94107         * modules/fpending-tests (Files): Add wrapper script.
94108         * tests/test-fpending.sh: New file.
94110 2007-10-09  Bruno Haible  <bruno@clisp.org>
94112         * MODULES.html.sh (func_module): Don't create a hyperlink for
94113         function names like 'printf_frexp'.
94114         (Misc): Add crc, memxor.
94115         (Characteristics of floating types): New section.
94116         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
94117         isnanf-nolibm, signbit, trunc, truncf, truncl.
94118         (Enhancements for ISO C 99 functions): New subsection Input/output.
94119         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
94120         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
94121         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
94122         (Compatibility checks for POSIX:2001 functions): Add clock-time.
94123         (Enhancements for POSIX:2001 functions): Add chdir-long.
94124         (File system functions): Add areadlink, chdir-safer, read-file.
94125         Remove cycle-check.
94126         (File system as inode set): New section.
94127         (Date and time): Add gethrxtime.
94128         (Multithreading): Add openmp.
94129         (Internationalization functions): Add localename.
94130         (Unicode string functions): Add unistr/u*-mbsnlen.
94131         (Support for maintaining and releasing projects): Add git-version-gen.
94132         (Lone files): Remove directories.
94134 2007-10-08  Ben Pfaff  <blp@gnu.org>
94136         * lib/xmalloca.h: Fix typo in comment.
94138 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
94140         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
94141         when avoiding problems with integer overflow.  Use a portable test
94142         instead.
94144 2007-10-08  Simon Josefsson  <simon@josefsson.org>
94146         * modules/dummy (License): Change to LGPLv2+.
94147         * modules/float (License): Likewise
94148         * modules/realloc (License): Likewise
94149         * modules/stdlib (License): Likewise
94151 2007-10-07  Bruno Haible  <bruno@clisp.org>
94153         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
94154         * floor.c (TWO_MANT_DIG): Likewise.
94155         * ceil.c (TWO_MANT_DIG): Likewise.
94156         Reported by Ben Pfaff.
94158 2007-10-07  Bruno Haible  <bruno@clisp.org>
94160         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
94161         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
94162         * lib/frexp.c (FUNC): Likewise.
94163         * lib/printf-frexp.h (printf_frexp): Likewise.
94164         * lib/printf-frexpl.h (printf_frexpl): Likewise.
94165         * lib/printf-frexp.c (FUNC): Likewise.
94166         Suggested by Jim Meyering.
94168 2007-10-07  Jim Meyering  <meyering@redhat.com>
94170         Make xnanosleep's integer overflow test more robust.
94171         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
94172         so that gcc-4.3.0 doesn't optimize away this test for overflow.
94174 2007-10-07  Bruno Haible  <bruno@clisp.org>
94176         * NEWS: Mention the license change.
94178         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
94179         abbreviations in the modules files.
94181         Change copyright notice from GPLv2+ to GPLv3+.
94182         * README: Change copyright notice.
94183         * MODULES.html.sh: Likewise.
94184         * build-aux/bootstrap.conf: Likewise.
94185         * build-aux/config.libpath: Likewise.
94186         * build-aux/csharpcomp.sh.in: Likewise.
94187         * build-aux/csharpexec.sh.in: Likewise.
94188         * build-aux/install-reloc: Likewise.
94189         * build-aux/javacomp.sh.in: Likewise.
94190         * build-aux/javaexec.sh.in: Likewise.
94191         * build-aux/ldd.sh.in: Likewise.
94192         * build-aux/reloc-ldflags: Likewise.
94193         * build-aux/relocatable.sh.in: Likewise.
94194         * build-aux/x-to-1.in: Likewise.
94195         * check-module: Likewise.
94196         * config/srclistvars.sh: Likewise.
94197         * gnulib-tool: Likewise.
94198         * lib/acl-internal.h: Likewise.
94199         * lib/acl.c: Likewise.
94200         * lib/acl.h: Likewise.
94201         * lib/acl_entries.c: Likewise.
94202         * lib/areadlink-with-size.c: Likewise.
94203         * lib/areadlink.c: Likewise.
94204         * lib/areadlink.h: Likewise.
94205         * lib/argmatch.c: Likewise.
94206         * lib/argmatch.h: Likewise.
94207         * lib/argp-ba.c: Likewise.
94208         * lib/argp-eexst.c: Likewise.
94209         * lib/argp-fmtstream.c: Likewise.
94210         * lib/argp-fmtstream.h: Likewise.
94211         * lib/argp-fs-xinl.c: Likewise.
94212         * lib/argp-help.c: Likewise.
94213         * lib/argp-namefrob.h: Likewise.
94214         * lib/argp-parse.c: Likewise.
94215         * lib/argp-pin.c: Likewise.
94216         * lib/argp-pv.c: Likewise.
94217         * lib/argp-pvh.c: Likewise.
94218         * lib/argp-xinl.c: Likewise.
94219         * lib/argp.h: Likewise.
94220         * lib/at-func.c: Likewise.
94221         * lib/atanl.c: Likewise.
94222         * lib/backupfile.c: Likewise.
94223         * lib/backupfile.h: Likewise.
94224         * lib/basename.c: Likewise.
94225         * lib/binary-io.h: Likewise.
94226         * lib/byteswap.in.h: Likewise.
94227         * lib/c-stack.c: Likewise.
94228         * lib/c-stack.h: Likewise.
94229         * lib/c-strcasestr.c: Likewise.
94230         * lib/c-strcasestr.h: Likewise.
94231         * lib/c-strstr.c: Likewise.
94232         * lib/c-strstr.h: Likewise.
94233         * lib/c-strtod.c: Likewise.
94234         * lib/calloc.c: Likewise.
94235         * lib/canon-host.c: Likewise.
94236         * lib/canon-host.h: Likewise.
94237         * lib/canonicalize-lgpl.c: Likewise.
94238         * lib/canonicalize.c: Likewise.
94239         * lib/canonicalize.h: Likewise.
94240         * lib/ceil.c: Likewise.
94241         * lib/ceilf.c: Likewise.
94242         * lib/ceill.c: Likewise.
94243         * lib/chdir-long.c: Likewise.
94244         * lib/chdir-long.h: Likewise.
94245         * lib/chdir-safer.c: Likewise.
94246         * lib/chdir-safer.h: Likewise.
94247         * lib/chown.c: Likewise.
94248         * lib/classpath.c: Likewise.
94249         * lib/classpath.h: Likewise.
94250         * lib/clean-temp.c: Likewise.
94251         * lib/clean-temp.h: Likewise.
94252         * lib/cloexec.c: Likewise.
94253         * lib/close-stream.c: Likewise.
94254         * lib/closein.c: Likewise.
94255         * lib/closein.h: Likewise.
94256         * lib/closeout.c: Likewise.
94257         * lib/closeout.h: Likewise.
94258         * lib/concat-filename.c: Likewise.
94259         * lib/copy-file.c: Likewise.
94260         * lib/copy-file.h: Likewise.
94261         * lib/count-one-bits.h: Likewise.
94262         * lib/crc.c: Likewise.
94263         * lib/crc.h: Likewise.
94264         * lib/creat-safer.c: Likewise.
94265         * lib/csharpcomp.c: Likewise.
94266         * lib/csharpcomp.h: Likewise.
94267         * lib/csharpexec.c: Likewise.
94268         * lib/csharpexec.h: Likewise.
94269         * lib/cycle-check.c: Likewise.
94270         * lib/cycle-check.h: Likewise.
94271         * lib/diacrit.c: Likewise.
94272         * lib/diacrit.h: Likewise.
94273         * lib/diffseq.h: Likewise.
94274         * lib/dirchownmod.c: Likewise.
94275         * lib/dirent.in.h: Likewise.
94276         * lib/dirfd.c: Likewise.
94277         * lib/dirfd.h: Likewise.
94278         * lib/dirname.c: Likewise.
94279         * lib/dirname.h: Likewise.
94280         * lib/dummy.c: Likewise.
94281         * lib/dup-safer.c: Likewise.
94282         * lib/dup2.c: Likewise.
94283         * lib/eealloc.h: Likewise.
94284         * lib/error.c: Likewise.
94285         * lib/error.h: Likewise.
94286         * lib/euidaccess.c: Likewise.
94287         * lib/exclude.c: Likewise.
94288         * lib/exclude.h: Likewise.
94289         * lib/execute.c: Likewise.
94290         * lib/execute.h: Likewise.
94291         * lib/exitfail.c: Likewise.
94292         * lib/exitfail.h: Likewise.
94293         * lib/expl.c: Likewise.
94294         * lib/fatal-signal.c: Likewise.
94295         * lib/fatal-signal.h: Likewise.
94296         * lib/fbufmode.c: Likewise.
94297         * lib/fbufmode.h: Likewise.
94298         * lib/fchdir.c: Likewise.
94299         * lib/fchmodat.c: Likewise.
94300         * lib/fchownat.c: Likewise.
94301         * lib/fcntl--.h: Likewise.
94302         * lib/fcntl-safer.h: Likewise.
94303         * lib/fcntl.in.h: Likewise.
94304         * lib/fd-safer.c: Likewise.
94305         * lib/fflush.c: Likewise.
94306         * lib/file-has-acl.c: Likewise.
94307         * lib/file-set.c: Likewise.
94308         * lib/file-type.c: Likewise.
94309         * lib/file-type.h: Likewise.
94310         * lib/fileblocks.c: Likewise.
94311         * lib/filemode.c: Likewise.
94312         * lib/filemode.h: Likewise.
94313         * lib/filename.h: Likewise.
94314         * lib/filenamecat.c: Likewise.
94315         * lib/filenamecat.h: Likewise.
94316         * lib/findprog.c: Likewise.
94317         * lib/findprog.h: Likewise.
94318         * lib/float.in.h: Likewise.
94319         * lib/floor.c: Likewise.
94320         * lib/floorf.c: Likewise.
94321         * lib/floorl.c: Likewise.
94322         * lib/fopen-safer.c: Likewise.
94323         * lib/fopen.c: Likewise.
94324         * lib/fpending.c: Likewise.
94325         * lib/fpending.h: Likewise.
94326         * lib/fprintf.c: Likewise.
94327         * lib/fprintftime.h: Likewise.
94328         * lib/fpucw.h: Likewise.
94329         * lib/fpurge.c: Likewise.
94330         * lib/fpurge.h: Likewise.
94331         * lib/freadable.c: Likewise.
94332         * lib/freadable.h: Likewise.
94333         * lib/freadahead.c: Likewise.
94334         * lib/freadahead.h: Likewise.
94335         * lib/freading.c: Likewise.
94336         * lib/freading.h: Likewise.
94337         * lib/free.c: Likewise.
94338         * lib/freopen.c: Likewise.
94339         * lib/frexp.c: Likewise.
94340         * lib/frexpl.c: Likewise.
94341         * lib/fseek.c: Likewise.
94342         * lib/fseterr.c: Likewise.
94343         * lib/fseterr.h: Likewise.
94344         * lib/fstatat.c: Likewise.
94345         * lib/fstrcmp.c: Likewise.
94346         * lib/fstrcmp.h: Likewise.
94347         * lib/fsusage.c: Likewise.
94348         * lib/fsusage.h: Likewise.
94349         * lib/ftell.c: Likewise.
94350         * lib/ftello.c: Likewise.
94351         * lib/fts-cycle.c: Likewise.
94352         * lib/fts.c: Likewise.
94353         * lib/fts_.h: Likewise.
94354         * lib/full-read.c: Likewise.
94355         * lib/full-read.h: Likewise.
94356         * lib/full-write.c: Likewise.
94357         * lib/full-write.h: Likewise.
94358         * lib/fwritable.c: Likewise.
94359         * lib/fwritable.h: Likewise.
94360         * lib/fwriteerror.c: Likewise.
94361         * lib/fwriteerror.h: Likewise.
94362         * lib/fwriting.c: Likewise.
94363         * lib/fwriting.h: Likewise.
94364         * lib/gcd.c: Likewise.
94365         * lib/gcd.h: Likewise.
94366         * lib/getcwd.c: Likewise.
94367         * lib/getdate.h: Likewise.
94368         * lib/getdate.y: Likewise.
94369         * lib/getdomainname.c: Likewise.
94370         * lib/getdomainname.h: Likewise.
94371         * lib/getgroups.c: Likewise.
94372         * lib/gethostname.c: Likewise.
94373         * lib/gethrxtime.c: Likewise.
94374         * lib/gethrxtime.h: Likewise.
94375         * lib/getloadavg.c: Likewise.
94376         * lib/getndelim2.c: Likewise.
94377         * lib/getndelim2.h: Likewise.
94378         * lib/getnline.c: Likewise.
94379         * lib/getnline.h: Likewise.
94380         * lib/getopt.c: Likewise.
94381         * lib/getopt.in.h: Likewise.
94382         * lib/getopt1.c: Likewise.
94383         * lib/getopt_int.h: Likewise.
94384         * lib/getpagesize.h: Likewise.
94385         * lib/getsubopt.c: Likewise.
94386         * lib/gettime.c: Likewise.
94387         * lib/getugroups.c: Likewise.
94388         * lib/getugroups.h: Likewise.
94389         * lib/getusershell.c: Likewise.
94390         * lib/gl_anyavltree_list1.h: Likewise.
94391         * lib/gl_anyavltree_list2.h: Likewise.
94392         * lib/gl_anyhash_list1.h: Likewise.
94393         * lib/gl_anyhash_list2.h: Likewise.
94394         * lib/gl_anylinked_list1.h: Likewise.
94395         * lib/gl_anylinked_list2.h: Likewise.
94396         * lib/gl_anyrbtree_list1.h: Likewise.
94397         * lib/gl_anyrbtree_list2.h: Likewise.
94398         * lib/gl_anytree_list1.h: Likewise.
94399         * lib/gl_anytree_list2.h: Likewise.
94400         * lib/gl_anytree_oset.h: Likewise.
94401         * lib/gl_anytreehash_list1.h: Likewise.
94402         * lib/gl_anytreehash_list2.h: Likewise.
94403         * lib/gl_array_list.c: Likewise.
94404         * lib/gl_array_list.h: Likewise.
94405         * lib/gl_array_oset.c: Likewise.
94406         * lib/gl_array_oset.h: Likewise.
94407         * lib/gl_avltree_list.c: Likewise.
94408         * lib/gl_avltree_list.h: Likewise.
94409         * lib/gl_avltree_oset.c: Likewise.
94410         * lib/gl_avltree_oset.h: Likewise.
94411         * lib/gl_avltreehash_list.c: Likewise.
94412         * lib/gl_avltreehash_list.h: Likewise.
94413         * lib/gl_carray_list.c: Likewise.
94414         * lib/gl_carray_list.h: Likewise.
94415         * lib/gl_linked_list.c: Likewise.
94416         * lib/gl_linked_list.h: Likewise.
94417         * lib/gl_linkedhash_list.c: Likewise.
94418         * lib/gl_linkedhash_list.h: Likewise.
94419         * lib/gl_list.c: Likewise.
94420         * lib/gl_list.h: Likewise.
94421         * lib/gl_oset.c: Likewise.
94422         * lib/gl_oset.h: Likewise.
94423         * lib/gl_rbtree_list.c: Likewise.
94424         * lib/gl_rbtree_list.h: Likewise.
94425         * lib/gl_rbtree_oset.c: Likewise.
94426         * lib/gl_rbtree_oset.h: Likewise.
94427         * lib/gl_rbtreehash_list.c: Likewise.
94428         * lib/gl_rbtreehash_list.h: Likewise.
94429         * lib/gl_sublist.c: Likewise.
94430         * lib/gl_sublist.h: Likewise.
94431         * lib/group-member.c: Likewise.
94432         * lib/group-member.h: Likewise.
94433         * lib/hard-locale.c: Likewise.
94434         * lib/hard-locale.h: Likewise.
94435         * lib/hash-pjw.c: Likewise.
94436         * lib/hash-pjw.h: Likewise.
94437         * lib/hash-triple.c: Likewise.
94438         * lib/hash.c: Likewise.
94439         * lib/hash.h: Likewise.
94440         * lib/human.c: Likewise.
94441         * lib/human.h: Likewise.
94442         * lib/i-ring.c: Likewise.
94443         * lib/i-ring.h: Likewise.
94444         * lib/idcache.c: Likewise.
94445         * lib/imaxabs.c: Likewise.
94446         * lib/imaxdiv.c: Likewise.
94447         * lib/inet_pton.c: Likewise.
94448         * lib/inet_pton.h: Likewise.
94449         * lib/intprops.h: Likewise.
94450         * lib/inttostr.c: Likewise.
94451         * lib/inttostr.h: Likewise.
94452         * lib/inttypes.in.h: Likewise.
94453         * lib/isapipe.c: Likewise.
94454         * lib/isdir.c: Likewise.
94455         * lib/isnan.c: Likewise.
94456         * lib/isnan.h: Likewise.
94457         * lib/isnanf.c: Likewise.
94458         * lib/isnanf.h: Likewise.
94459         * lib/isnanl-nolibm.h: Likewise.
94460         * lib/isnanl.c: Likewise.
94461         * lib/isnanl.h: Likewise.
94462         * lib/javacomp.c: Likewise.
94463         * lib/javacomp.h: Likewise.
94464         * lib/javaexec.c: Likewise.
94465         * lib/javaexec.h: Likewise.
94466         * lib/javaversion.c: Likewise.
94467         * lib/javaversion.h: Likewise.
94468         * lib/javaversion.java: Likewise.
94469         * lib/lbrkprop.h: Likewise.
94470         * lib/lchmod.h: Likewise.
94471         * lib/lchown.c: Likewise.
94472         * lib/ldexpl.c: Likewise.
94473         * lib/linebreak.c: Likewise.
94474         * lib/linebreak.h: Likewise.
94475         * lib/linebuffer.c: Likewise.
94476         * lib/linebuffer.h: Likewise.
94477         * lib/locale.in.h: Likewise.
94478         * lib/logl.c: Likewise.
94479         * lib/long-options.c: Likewise.
94480         * lib/long-options.h: Likewise.
94481         * lib/lstat.c: Likewise.
94482         * lib/lstat.h: Likewise.
94483         * lib/math.in.h: Likewise.
94484         * lib/mbchar.c: Likewise.
94485         * lib/mbchar.h: Likewise.
94486         * lib/mbfile.h: Likewise.
94487         * lib/mbiter.h: Likewise.
94488         * lib/mbscasecmp.c: Likewise.
94489         * lib/mbscasestr.c: Likewise.
94490         * lib/mbschr.c: Likewise.
94491         * lib/mbscspn.c: Likewise.
94492         * lib/mbslen.c: Likewise.
94493         * lib/mbsncasecmp.c: Likewise.
94494         * lib/mbsnlen.c: Likewise.
94495         * lib/mbspbrk.c: Likewise.
94496         * lib/mbspcasecmp.c: Likewise.
94497         * lib/mbsrchr.c: Likewise.
94498         * lib/mbssep.c: Likewise.
94499         * lib/mbsspn.c: Likewise.
94500         * lib/mbsstr.c: Likewise.
94501         * lib/mbstok_r.c: Likewise.
94502         * lib/mbswidth.c: Likewise.
94503         * lib/mbswidth.h: Likewise.
94504         * lib/mbuiter.h: Likewise.
94505         * lib/memcasecmp.c: Likewise.
94506         * lib/memcasecmp.h: Likewise.
94507         * lib/memchr.c: Likewise.
94508         * lib/memcmp.c: Likewise.
94509         * lib/memcoll.c: Likewise.
94510         * lib/memcoll.h: Likewise.
94511         * lib/memcpy.c: Likewise.
94512         * lib/memrchr.c: Likewise.
94513         * lib/mkancesdirs.c: Likewise.
94514         * lib/mkdir-p.c: Likewise.
94515         * lib/mkdir-p.h: Likewise.
94516         * lib/mkdir.c: Likewise.
94517         * lib/mkdirat.c: Likewise.
94518         * lib/mkdtemp.c: Likewise.
94519         * lib/mkstemp-safer.c: Likewise.
94520         * lib/mkstemp.c: Likewise.
94521         * lib/modechange.c: Likewise.
94522         * lib/modechange.h: Likewise.
94523         * lib/mountlist.c: Likewise.
94524         * lib/mountlist.h: Likewise.
94525         * lib/mpsort.c: Likewise.
94526         * lib/nanosleep.c: Likewise.
94527         * lib/obstack.c: Likewise.
94528         * lib/obstack.h: Likewise.
94529         * lib/open-safer.c: Likewise.
94530         * lib/open.c: Likewise.
94531         * lib/openat-die.c: Likewise.
94532         * lib/openat-priv.h: Likewise.
94533         * lib/openat-proc.c: Likewise.
94534         * lib/openat.c: Likewise.
94535         * lib/openat.h: Likewise.
94536         * lib/pagealign_alloc.c: Likewise.
94537         * lib/pagealign_alloc.h: Likewise.
94538         * lib/physmem.c: Likewise.
94539         * lib/physmem.h: Likewise.
94540         * lib/pipe-safer.c: Likewise.
94541         * lib/pipe.c: Likewise.
94542         * lib/pipe.h: Likewise.
94543         * lib/posixtm.c: Likewise.
94544         * lib/posixtm.h: Likewise.
94545         * lib/posixver.c: Likewise.
94546         * lib/printf-frexp.c: Likewise.
94547         * lib/printf-frexp.h: Likewise.
94548         * lib/printf-frexpl.c: Likewise.
94549         * lib/printf-frexpl.h: Likewise.
94550         * lib/printf.c: Likewise.
94551         * lib/progname.c: Likewise.
94552         * lib/progname.h: Likewise.
94553         * lib/progreloc.c: Likewise.
94554         * lib/putenv.c: Likewise.
94555         * lib/quote.c: Likewise.
94556         * lib/quote.h: Likewise.
94557         * lib/quotearg.c: Likewise.
94558         * lib/quotearg.h: Likewise.
94559         * lib/raise.c: Likewise.
94560         * lib/readline.c: Likewise.
94561         * lib/readline.h: Likewise.
94562         * lib/readlink.c: Likewise.
94563         * lib/readtokens.c: Likewise.
94564         * lib/readtokens.h: Likewise.
94565         * lib/readtokens0.c: Likewise.
94566         * lib/readtokens0.h: Likewise.
94567         * lib/readutmp.c: Likewise.
94568         * lib/readutmp.h: Likewise.
94569         * lib/realloc.c: Likewise.
94570         * lib/relocwrapper.c: Likewise.
94571         * lib/rename-dest-slash.c: Likewise.
94572         * lib/rename.c: Likewise.
94573         * lib/rmdir.c: Likewise.
94574         * lib/rpmatch.c: Likewise.
94575         * lib/safe-read.c: Likewise.
94576         * lib/safe-read.h: Likewise.
94577         * lib/safe-write.c: Likewise.
94578         * lib/safe-write.h: Likewise.
94579         * lib/same-inode.h: Likewise.
94580         * lib/same.c: Likewise.
94581         * lib/same.h: Likewise.
94582         * lib/save-cwd.c: Likewise.
94583         * lib/save-cwd.h: Likewise.
94584         * lib/savedir.c: Likewise.
94585         * lib/savedir.h: Likewise.
94586         * lib/savewd.c: Likewise.
94587         * lib/savewd.h: Likewise.
94588         * lib/search.in.h: Likewise.
94589         * lib/setenv.c: Likewise.
94590         * lib/setenv.h: Likewise.
94591         * lib/settime.c: Likewise.
94592         * lib/sh-quote.c: Likewise.
94593         * lib/sh-quote.h: Likewise.
94594         * lib/sig2str.c: Likewise.
94595         * lib/sig2str.h: Likewise.
94596         * lib/signal.in.h: Likewise.
94597         * lib/signbitd.c: Likewise.
94598         * lib/signbitf.c: Likewise.
94599         * lib/signbitl.c: Likewise.
94600         * lib/sigprocmask.c: Likewise.
94601         * lib/sincosl.c: Likewise.
94602         * lib/sleep.c: Likewise.
94603         * lib/sprintf.c: Likewise.
94604         * lib/sqrtl.c: Likewise.
94605         * lib/stat-time.h: Likewise.
94606         * lib/stdio--.h: Likewise.
94607         * lib/stdio-safer.h: Likewise.
94608         * lib/stdlib--.h: Likewise.
94609         * lib/stdlib-safer.h: Likewise.
94610         * lib/stdlib.in.h: Likewise.
94611         * lib/stpcpy.c: Likewise.
94612         * lib/stpncpy.c: Likewise.
94613         * lib/strchrnul.c: Likewise.
94614         * lib/strcspn.c: Likewise.
94615         * lib/strerror.c: Likewise.
94616         * lib/strftime.c: Likewise.
94617         * lib/strftime.h: Likewise.
94618         * lib/striconveh.c: Likewise.
94619         * lib/striconveh.h: Likewise.
94620         * lib/striconveha.c: Likewise.
94621         * lib/striconveha.h: Likewise.
94622         * lib/stripslash.c: Likewise.
94623         * lib/strnlen1.c: Likewise.
94624         * lib/strnlen1.h: Likewise.
94625         * lib/strtod.c: Likewise.
94626         * lib/strtoimax.c: Likewise.
94627         * lib/strtok_r.c: Likewise.
94628         * lib/strtol.c: Likewise.
94629         * lib/strtoll.c: Likewise.
94630         * lib/strtoul.c: Likewise.
94631         * lib/strtoull.c: Likewise.
94632         * lib/sysexits.in.h: Likewise.
94633         * lib/tempname.c: Likewise.
94634         * lib/tempname.h: Likewise.
94635         * lib/timespec.h: Likewise.
94636         * lib/tls.c: Likewise.
94637         * lib/tls.h: Likewise.
94638         * lib/tmpdir.c: Likewise.
94639         * lib/tmpdir.h: Likewise.
94640         * lib/tmpfile-safer.c: Likewise.
94641         * lib/tmpfile.c: Likewise.
94642         * lib/trigl.c: Likewise.
94643         * lib/trigl.h: Likewise.
94644         * lib/trim.c: Likewise.
94645         * lib/trim.h: Likewise.
94646         * lib/trunc.c: Likewise.
94647         * lib/truncf.c: Likewise.
94648         * lib/truncl.c: Likewise.
94649         * lib/tsearch.c: Likewise.
94650         * lib/unicodeio.c: Likewise.
94651         * lib/unicodeio.h: Likewise.
94652         * lib/unistd--.h: Likewise.
94653         * lib/unistd-safer.h: Likewise.
94654         * lib/unistdio/ulc-fprintf.c: Likewise.
94655         * lib/unistdio/ulc-vfprintf.c: Likewise.
94656         * lib/unlinkdir.c: Likewise.
94657         * lib/unlinkdir.h: Likewise.
94658         * lib/unlocked-io.h: Likewise.
94659         * lib/unsetenv.c: Likewise.
94660         * lib/userspec.c: Likewise.
94661         * lib/utime.c: Likewise.
94662         * lib/utimecmp.c: Likewise.
94663         * lib/utimecmp.h: Likewise.
94664         * lib/utimens.c: Likewise.
94665         * lib/verify.h: Likewise.
94666         * lib/verror.c: Likewise.
94667         * lib/verror.h: Likewise.
94668         * lib/version-etc-fsf.c: Likewise.
94669         * lib/version-etc.c: Likewise.
94670         * lib/version-etc.h: Likewise.
94671         * lib/vfprintf.c: Likewise.
94672         * lib/vprintf.c: Likewise.
94673         * lib/vsprintf.c: Likewise.
94674         * lib/w32spawn.h: Likewise.
94675         * lib/wait-process.c: Likewise.
94676         * lib/wait-process.h: Likewise.
94677         * lib/wcwidth.c: Likewise.
94678         * lib/write-any-file.c: Likewise.
94679         * lib/xalloc-die.c: Likewise.
94680         * lib/xalloc.h: Likewise.
94681         * lib/xasprintf.c: Likewise.
94682         * lib/xgetcwd.c: Likewise.
94683         * lib/xgetcwd.h: Likewise.
94684         * lib/xgetdomainname.c: Likewise.
94685         * lib/xgetdomainname.h: Likewise.
94686         * lib/xgethostname.c: Likewise.
94687         * lib/xmalloc.c: Likewise.
94688         * lib/xmalloca.c: Likewise.
94689         * lib/xmalloca.h: Likewise.
94690         * lib/xmemcoll.c: Likewise.
94691         * lib/xnanosleep.c: Likewise.
94692         * lib/xreadlink.c: Likewise.
94693         * lib/xreadlink.h: Likewise.
94694         * lib/xsetenv.c: Likewise.
94695         * lib/xsetenv.h: Likewise.
94696         * lib/xstriconv.c: Likewise.
94697         * lib/xstriconv.h: Likewise.
94698         * lib/xstrndup.c: Likewise.
94699         * lib/xstrndup.h: Likewise.
94700         * lib/xstrtod.c: Likewise.
94701         * lib/xstrtod.h: Likewise.
94702         * lib/xstrtol-error.c: Likewise.
94703         * lib/xstrtol.c: Likewise.
94704         * lib/xstrtol.h: Likewise.
94705         * lib/xtime.h: Likewise.
94706         * lib/xvasprintf.c: Likewise.
94707         * lib/xvasprintf.h: Likewise.
94708         * lib/yesno.c: Likewise.
94709         * lib/yesno.h: Likewise.
94710         * posix-modules: Likewise.
94711         * tests/test-alloca-opt.c: Likewise.
94712         * tests/test-arcfour.c: Likewise.
94713         * tests/test-arctwo.c: Likewise.
94714         * tests/test-argmatch.c: Likewise.
94715         * tests/test-argp-2.sh: Likewise.
94716         * tests/test-argp.c: Likewise.
94717         * tests/test-arpa_inet.c: Likewise.
94718         * tests/test-array_list.c: Likewise.
94719         * tests/test-array_oset.c: Likewise.
94720         * tests/test-atexit.c: Likewise.
94721         * tests/test-avltree_list.c: Likewise.
94722         * tests/test-avltree_oset.c: Likewise.
94723         * tests/test-avltreehash_list.c: Likewise.
94724         * tests/test-base64.c: Likewise.
94725         * tests/test-binary-io.c: Likewise.
94726         * tests/test-byteswap.c: Likewise.
94727         * tests/test-c-ctype.c: Likewise.
94728         * tests/test-c-strcasecmp.c: Likewise.
94729         * tests/test-c-strcasestr.c: Likewise.
94730         * tests/test-c-strncasecmp.c: Likewise.
94731         * tests/test-c-strstr.c: Likewise.
94732         * tests/test-canonicalize-lgpl.c: Likewise.
94733         * tests/test-canonicalize.c: Likewise.
94734         * tests/test-carray_list.c: Likewise.
94735         * tests/test-ceilf.c: Likewise.
94736         * tests/test-ceill.c: Likewise.
94737         * tests/test-count-one-bits.c: Likewise.
94738         * tests/test-crc.c: Likewise.
94739         * tests/test-dirname.c: Likewise.
94740         * tests/test-fbufmode.c: Likewise.
94741         * tests/test-fcntl.c: Likewise.
94742         * tests/test-fflush.c: Likewise.
94743         * tests/test-floorf.c: Likewise.
94744         * tests/test-floorl.c: Likewise.
94745         * tests/test-fopen.c: Likewise.
94746         * tests/test-fprintf-posix.c: Likewise.
94747         * tests/test-fprintf-posix.h: Likewise.
94748         * tests/test-fpurge.c: Likewise.
94749         * tests/test-freadable.c: Likewise.
94750         * tests/test-freadahead.c: Likewise.
94751         * tests/test-freading.c: Likewise.
94752         * tests/test-freopen.c: Likewise.
94753         * tests/test-frexp.c: Likewise.
94754         * tests/test-frexpl.c: Likewise.
94755         * tests/test-fseek.c: Likewise.
94756         * tests/test-fseeko.c: Likewise.
94757         * tests/test-fseterr.c: Likewise.
94758         * tests/test-fstrcmp.c: Likewise.
94759         * tests/test-ftell.c: Likewise.
94760         * tests/test-ftello.c: Likewise.
94761         * tests/test-fwritable.c: Likewise.
94762         * tests/test-fwriting.c: Likewise.
94763         * tests/test-getaddrinfo.c: Likewise.
94764         * tests/test-getpass.c: Likewise.
94765         * tests/test-gettimeofday.c: Likewise.
94766         * tests/test-hmac-md5.c: Likewise.
94767         * tests/test-hmac-sha1.c: Likewise.
94768         * tests/test-iconv.c: Likewise.
94769         * tests/test-iconvme.c: Likewise.
94770         * tests/test-inttypes.c: Likewise.
94771         * tests/test-isnan.c: Likewise.
94772         * tests/test-isnanf.c: Likewise.
94773         * tests/test-isnanl-nolibm.c: Likewise.
94774         * tests/test-isnanl.c: Likewise.
94775         * tests/test-isnanl.h: Likewise.
94776         * tests/test-ldexpl.c: Likewise.
94777         * tests/test-linked_list.c: Likewise.
94778         * tests/test-linkedhash_list.c: Likewise.
94779         * tests/test-locale.c: Likewise.
94780         * tests/test-localename.c: Likewise.
94781         * tests/test-lock.c: Likewise.
94782         * tests/test-lseek.c: Likewise.
94783         * tests/test-malloca.c: Likewise.
94784         * tests/test-math.c: Likewise.
94785         * tests/test-mbscasecmp.c: Likewise.
94786         * tests/test-mbscasestr1.c: Likewise.
94787         * tests/test-mbscasestr2.c: Likewise.
94788         * tests/test-mbscasestr3.c: Likewise.
94789         * tests/test-mbscasestr4.c: Likewise.
94790         * tests/test-mbschr.c: Likewise.
94791         * tests/test-mbscspn.c: Likewise.
94792         * tests/test-mbsncasecmp.c: Likewise.
94793         * tests/test-mbspbrk.c: Likewise.
94794         * tests/test-mbspcasecmp.c: Likewise.
94795         * tests/test-mbsrchr.c: Likewise.
94796         * tests/test-mbsspn.c: Likewise.
94797         * tests/test-mbsstr1.c: Likewise.
94798         * tests/test-mbsstr2.c: Likewise.
94799         * tests/test-mbsstr3.c: Likewise.
94800         * tests/test-md5.c: Likewise.
94801         * tests/test-memmem.c: Likewise.
94802         * tests/test-netinet_in.c: Likewise.
94803         * tests/test-open.c: Likewise.
94804         * tests/test-printf-frexp.c: Likewise.
94805         * tests/test-printf-frexpl.c: Likewise.
94806         * tests/test-printf-posix.c: Likewise.
94807         * tests/test-printf-posix.h: Likewise.
94808         * tests/test-rbtree_list.c: Likewise.
94809         * tests/test-rbtree_oset.c: Likewise.
94810         * tests/test-rbtreehash_list.c: Likewise.
94811         * tests/test-read-file.c: Likewise.
94812         * tests/test-rijndael.c: Likewise.
94813         * tests/test-search.c: Likewise.
94814         * tests/test-signbit.c: Likewise.
94815         * tests/test-sleep.c: Likewise.
94816         * tests/test-snprintf-posix.c: Likewise.
94817         * tests/test-snprintf-posix.h: Likewise.
94818         * tests/test-snprintf.c: Likewise.
94819         * tests/test-sprintf-posix.c: Likewise.
94820         * tests/test-sprintf-posix.h: Likewise.
94821         * tests/test-stat-time.c: Likewise.
94822         * tests/test-stdbool.c: Likewise.
94823         * tests/test-stdint.c: Likewise.
94824         * tests/test-stdio.c: Likewise.
94825         * tests/test-stdlib.c: Likewise.
94826         * tests/test-stpncpy.c: Likewise.
94827         * tests/test-strcasestr.c: Likewise.
94828         * tests/test-striconv.c: Likewise.
94829         * tests/test-striconveh.c: Likewise.
94830         * tests/test-striconveha.c: Likewise.
94831         * tests/test-string.c: Likewise.
94832         * tests/test-sys_select.c: Likewise.
94833         * tests/test-sys_socket.c: Likewise.
94834         * tests/test-sys_stat.c: Likewise.
94835         * tests/test-sys_time.c: Likewise.
94836         * tests/test-sysexits.c: Likewise.
94837         * tests/test-time.c: Likewise.
94838         * tests/test-tls.c: Likewise.
94839         * tests/test-trunc.c: Likewise.
94840         * tests/test-truncf.c: Likewise.
94841         * tests/test-truncl.c: Likewise.
94842         * tests/test-unistd.c: Likewise.
94843         * tests/test-vasnprintf-posix.c: Likewise.
94844         * tests/test-vasnprintf-posix2.c: Likewise.
94845         * tests/test-vasnprintf.c: Likewise.
94846         * tests/test-vasprintf-posix.c: Likewise.
94847         * tests/test-vasprintf.c: Likewise.
94848         * tests/test-verify.c: Likewise.
94849         * tests/test-vfprintf-posix.c: Likewise.
94850         * tests/test-vprintf-posix.c: Likewise.
94851         * tests/test-vsnprintf-posix.c: Likewise.
94852         * tests/test-vsnprintf.c: Likewise.
94853         * tests/test-vsprintf-posix.c: Likewise.
94854         * tests/test-wchar.c: Likewise.
94855         * tests/test-wctype.c: Likewise.
94856         * tests/test-wcwidth.c: Likewise.
94857         * tests/test-xstrtol.c: Likewise.
94858         * tests/test-xvasprintf.c: Likewise.
94859         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
94860         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
94861         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
94862         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
94863         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
94864         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
94865         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
94866         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
94867         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
94868         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
94869         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
94870         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
94871         * tests/uniname/test-uninames.c: Likewise.
94872         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
94873         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
94874         * tests/unistdio/test-u16-printf1.h: Likewise.
94875         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
94876         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
94877         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
94878         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
94879         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
94880         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
94881         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
94882         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
94883         * tests/unistdio/test-u32-printf1.h: Likewise.
94884         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
94885         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
94886         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
94887         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
94888         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
94889         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
94890         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
94891         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
94892         * tests/unistdio/test-u8-printf1.h: Likewise.
94893         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
94894         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
94895         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
94896         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
94897         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
94898         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
94899         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
94900         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
94901         * tests/unistdio/test-ulc-printf1.h: Likewise.
94902         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
94903         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
94904         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
94905         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
94906         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
94907         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
94908         * tests/uniwidth/test-u16-strwidth.c: Likewise.
94909         * tests/uniwidth/test-u16-width.c: Likewise.
94910         * tests/uniwidth/test-u32-strwidth.c: Likewise.
94911         * tests/uniwidth/test-u32-width.c: Likewise.
94912         * tests/uniwidth/test-u8-strwidth.c: Likewise.
94913         * tests/uniwidth/test-u8-width.c: Likewise.
94914         * tests/uniwidth/test-uc_width.c: Likewise.
94915         * config/srclist-update: Likewise.
94916         (fixlicense): Update to GPLv3+.
94918         Change copyright notice from LGPLv2.1+ to LGPLv3+.
94919         * tests/test-tsearch.c: Change copyright notice.
94921         Change copyright notice from LGPLv2.0+ to LGPLv3+.
94922         * lib/c-strcaseeq.h: Change copyright notice.
94923         * lib/streq.h: Likewise.
94924         * lib/uniconv.h: Likewise.
94925         * lib/uniconv/u-conv-from-enc.h: Likewise.
94926         * lib/uniconv/u-conv-to-enc.h: Likewise.
94927         * lib/uniconv/u-strconv-from-enc.h: Likewise.
94928         * lib/uniconv/u-strconv-to-enc.h: Likewise.
94929         * lib/uniconv/u16-conv-from-enc.c: Likewise.
94930         * lib/uniconv/u16-conv-to-enc.c: Likewise.
94931         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
94932         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
94933         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
94934         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
94935         * lib/uniconv/u32-conv-from-enc.c: Likewise.
94936         * lib/uniconv/u32-conv-to-enc.c: Likewise.
94937         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
94938         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
94939         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
94940         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
94941         * lib/uniconv/u8-conv-from-enc.c: Likewise.
94942         * lib/uniconv/u8-conv-to-enc.c: Likewise.
94943         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
94944         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
94945         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
94946         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
94947         * lib/uniname.h: Likewise.
94948         * lib/uniname/uniname.c: Likewise.
94949         * lib/unistdio.h: Likewise.
94950         * lib/unistdio/u-asnprintf.h: Likewise.
94951         * lib/unistdio/u-asprintf.h: Likewise.
94952         * lib/unistdio/u-printf-args.c: Likewise.
94953         * lib/unistdio/u-printf-args.h: Likewise.
94954         * lib/unistdio/u-printf-parse.h: Likewise.
94955         * lib/unistdio/u-snprintf.h: Likewise.
94956         * lib/unistdio/u-sprintf.h: Likewise.
94957         * lib/unistdio/u-vasprintf.h: Likewise.
94958         * lib/unistdio/u-vsnprintf.h: Likewise.
94959         * lib/unistdio/u-vsprintf.h: Likewise.
94960         * lib/unistdio/u16-asnprintf.c: Likewise.
94961         * lib/unistdio/u16-asprintf.c: Likewise.
94962         * lib/unistdio/u16-printf-parse.c: Likewise.
94963         * lib/unistdio/u16-snprintf.c: Likewise.
94964         * lib/unistdio/u16-sprintf.c: Likewise.
94965         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
94966         * lib/unistdio/u16-u16-asprintf.c: Likewise.
94967         * lib/unistdio/u16-u16-snprintf.c: Likewise.
94968         * lib/unistdio/u16-u16-sprintf.c: Likewise.
94969         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
94970         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
94971         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
94972         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
94973         * lib/unistdio/u16-vasnprintf.c: Likewise.
94974         * lib/unistdio/u16-vasprintf.c: Likewise.
94975         * lib/unistdio/u16-vsnprintf.c: Likewise.
94976         * lib/unistdio/u16-vsprintf.c: Likewise.
94977         * lib/unistdio/u32-asnprintf.c: Likewise.
94978         * lib/unistdio/u32-asprintf.c: Likewise.
94979         * lib/unistdio/u32-printf-parse.c: Likewise.
94980         * lib/unistdio/u32-snprintf.c: Likewise.
94981         * lib/unistdio/u32-sprintf.c: Likewise.
94982         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
94983         * lib/unistdio/u32-u32-asprintf.c: Likewise.
94984         * lib/unistdio/u32-u32-snprintf.c: Likewise.
94985         * lib/unistdio/u32-u32-sprintf.c: Likewise.
94986         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
94987         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
94988         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
94989         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
94990         * lib/unistdio/u32-vasnprintf.c: Likewise.
94991         * lib/unistdio/u32-vasprintf.c: Likewise.
94992         * lib/unistdio/u32-vsnprintf.c: Likewise.
94993         * lib/unistdio/u32-vsprintf.c: Likewise.
94994         * lib/unistdio/u8-asnprintf.c: Likewise.
94995         * lib/unistdio/u8-asprintf.c: Likewise.
94996         * lib/unistdio/u8-printf-parse.c: Likewise.
94997         * lib/unistdio/u8-snprintf.c: Likewise.
94998         * lib/unistdio/u8-sprintf.c: Likewise.
94999         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
95000         * lib/unistdio/u8-u8-asprintf.c: Likewise.
95001         * lib/unistdio/u8-u8-snprintf.c: Likewise.
95002         * lib/unistdio/u8-u8-sprintf.c: Likewise.
95003         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
95004         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
95005         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
95006         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
95007         * lib/unistdio/u8-vasnprintf.c: Likewise.
95008         * lib/unistdio/u8-vasprintf.c: Likewise.
95009         * lib/unistdio/u8-vsnprintf.c: Likewise.
95010         * lib/unistdio/u8-vsprintf.c: Likewise.
95011         * lib/unistdio/ulc-asnprintf.c: Likewise.
95012         * lib/unistdio/ulc-asprintf.c: Likewise.
95013         * lib/unistdio/ulc-printf-parse.c: Likewise.
95014         * lib/unistdio/ulc-snprintf.c: Likewise.
95015         * lib/unistdio/ulc-sprintf.c: Likewise.
95016         * lib/unistdio/ulc-vasnprintf.c: Likewise.
95017         * lib/unistdio/ulc-vasprintf.c: Likewise.
95018         * lib/unistdio/ulc-vsnprintf.c: Likewise.
95019         * lib/unistdio/ulc-vsprintf.c: Likewise.
95020         * lib/unistr.h: Likewise.
95021         * lib/unistr/u-cpy-alloc.h: Likewise.
95022         * lib/unistr/u-cpy.h: Likewise.
95023         * lib/unistr/u-endswith.h: Likewise.
95024         * lib/unistr/u-move.h: Likewise.
95025         * lib/unistr/u-set.h: Likewise.
95026         * lib/unistr/u-startswith.h: Likewise.
95027         * lib/unistr/u-stpcpy.h: Likewise.
95028         * lib/unistr/u-stpncpy.h: Likewise.
95029         * lib/unistr/u-strcat.h: Likewise.
95030         * lib/unistr/u-strcpy.h: Likewise.
95031         * lib/unistr/u-strcspn.h: Likewise.
95032         * lib/unistr/u-strdup.h: Likewise.
95033         * lib/unistr/u-strlen.h: Likewise.
95034         * lib/unistr/u-strncat.h: Likewise.
95035         * lib/unistr/u-strncpy.h: Likewise.
95036         * lib/unistr/u-strnlen.h: Likewise.
95037         * lib/unistr/u-strpbrk.h: Likewise.
95038         * lib/unistr/u-strspn.h: Likewise.
95039         * lib/unistr/u-strstr.h: Likewise.
95040         * lib/unistr/u-strtok.h: Likewise.
95041         * lib/unistr/u16-check.c: Likewise.
95042         * lib/unistr/u16-chr.c: Likewise.
95043         * lib/unistr/u16-cmp.c: Likewise.
95044         * lib/unistr/u16-cpy-alloc.c: Likewise.
95045         * lib/unistr/u16-cpy.c: Likewise.
95046         * lib/unistr/u16-endswith.c: Likewise.
95047         * lib/unistr/u16-mblen.c: Likewise.
95048         * lib/unistr/u16-mbsnlen.c: Likewise.
95049         * lib/unistr/u16-mbtouc-aux.c: Likewise.
95050         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
95051         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
95052         * lib/unistr/u16-mbtouc.c: Likewise.
95053         * lib/unistr/u16-mbtoucr.c: Likewise.
95054         * lib/unistr/u16-move.c: Likewise.
95055         * lib/unistr/u16-next.c: Likewise.
95056         * lib/unistr/u16-prev.c: Likewise.
95057         * lib/unistr/u16-set.c: Likewise.
95058         * lib/unistr/u16-startswith.c: Likewise.
95059         * lib/unistr/u16-stpcpy.c: Likewise.
95060         * lib/unistr/u16-stpncpy.c: Likewise.
95061         * lib/unistr/u16-strcat.c: Likewise.
95062         * lib/unistr/u16-strchr.c: Likewise.
95063         * lib/unistr/u16-strcmp.c: Likewise.
95064         * lib/unistr/u16-strcpy.c: Likewise.
95065         * lib/unistr/u16-strcspn.c: Likewise.
95066         * lib/unistr/u16-strdup.c: Likewise.
95067         * lib/unistr/u16-strlen.c: Likewise.
95068         * lib/unistr/u16-strmblen.c: Likewise.
95069         * lib/unistr/u16-strmbtouc.c: Likewise.
95070         * lib/unistr/u16-strncat.c: Likewise.
95071         * lib/unistr/u16-strncmp.c: Likewise.
95072         * lib/unistr/u16-strncpy.c: Likewise.
95073         * lib/unistr/u16-strnlen.c: Likewise.
95074         * lib/unistr/u16-strpbrk.c: Likewise.
95075         * lib/unistr/u16-strrchr.c: Likewise.
95076         * lib/unistr/u16-strspn.c: Likewise.
95077         * lib/unistr/u16-strstr.c: Likewise.
95078         * lib/unistr/u16-strtok.c: Likewise.
95079         * lib/unistr/u16-to-u32.c: Likewise.
95080         * lib/unistr/u16-to-u8.c: Likewise.
95081         * lib/unistr/u16-uctomb-aux.c: Likewise.
95082         * lib/unistr/u16-uctomb.c: Likewise.
95083         * lib/unistr/u32-check.c: Likewise.
95084         * lib/unistr/u32-chr.c: Likewise.
95085         * lib/unistr/u32-cmp.c: Likewise.
95086         * lib/unistr/u32-cpy-alloc.c: Likewise.
95087         * lib/unistr/u32-cpy.c: Likewise.
95088         * lib/unistr/u32-endswith.c: Likewise.
95089         * lib/unistr/u32-mblen.c: Likewise.
95090         * lib/unistr/u32-mbsnlen.c: Likewise.
95091         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
95092         * lib/unistr/u32-mbtouc.c: Likewise.
95093         * lib/unistr/u32-mbtoucr.c: Likewise.
95094         * lib/unistr/u32-move.c: Likewise.
95095         * lib/unistr/u32-next.c: Likewise.
95096         * lib/unistr/u32-prev.c: Likewise.
95097         * lib/unistr/u32-set.c: Likewise.
95098         * lib/unistr/u32-startswith.c: Likewise.
95099         * lib/unistr/u32-stpcpy.c: Likewise.
95100         * lib/unistr/u32-stpncpy.c: Likewise.
95101         * lib/unistr/u32-strcat.c: Likewise.
95102         * lib/unistr/u32-strchr.c: Likewise.
95103         * lib/unistr/u32-strcmp.c: Likewise.
95104         * lib/unistr/u32-strcpy.c: Likewise.
95105         * lib/unistr/u32-strcspn.c: Likewise.
95106         * lib/unistr/u32-strdup.c: Likewise.
95107         * lib/unistr/u32-strlen.c: Likewise.
95108         * lib/unistr/u32-strmblen.c: Likewise.
95109         * lib/unistr/u32-strmbtouc.c: Likewise.
95110         * lib/unistr/u32-strncat.c: Likewise.
95111         * lib/unistr/u32-strncmp.c: Likewise.
95112         * lib/unistr/u32-strncpy.c: Likewise.
95113         * lib/unistr/u32-strnlen.c: Likewise.
95114         * lib/unistr/u32-strpbrk.c: Likewise.
95115         * lib/unistr/u32-strrchr.c: Likewise.
95116         * lib/unistr/u32-strspn.c: Likewise.
95117         * lib/unistr/u32-strstr.c: Likewise.
95118         * lib/unistr/u32-strtok.c: Likewise.
95119         * lib/unistr/u32-to-u16.c: Likewise.
95120         * lib/unistr/u32-to-u8.c: Likewise.
95121         * lib/unistr/u32-uctomb.c: Likewise.
95122         * lib/unistr/u8-check.c: Likewise.
95123         * lib/unistr/u8-chr.c: Likewise.
95124         * lib/unistr/u8-cmp.c: Likewise.
95125         * lib/unistr/u8-cpy-alloc.c: Likewise.
95126         * lib/unistr/u8-cpy.c: Likewise.
95127         * lib/unistr/u8-endswith.c: Likewise.
95128         * lib/unistr/u8-mblen.c: Likewise.
95129         * lib/unistr/u8-mbsnlen.c: Likewise.
95130         * lib/unistr/u8-mbtouc-aux.c: Likewise.
95131         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
95132         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
95133         * lib/unistr/u8-mbtouc.c: Likewise.
95134         * lib/unistr/u8-mbtoucr.c: Likewise.
95135         * lib/unistr/u8-move.c: Likewise.
95136         * lib/unistr/u8-next.c: Likewise.
95137         * lib/unistr/u8-prev.c: Likewise.
95138         * lib/unistr/u8-set.c: Likewise.
95139         * lib/unistr/u8-startswith.c: Likewise.
95140         * lib/unistr/u8-stpcpy.c: Likewise.
95141         * lib/unistr/u8-stpncpy.c: Likewise.
95142         * lib/unistr/u8-strcat.c: Likewise.
95143         * lib/unistr/u8-strchr.c: Likewise.
95144         * lib/unistr/u8-strcmp.c: Likewise.
95145         * lib/unistr/u8-strcpy.c: Likewise.
95146         * lib/unistr/u8-strcspn.c: Likewise.
95147         * lib/unistr/u8-strdup.c: Likewise.
95148         * lib/unistr/u8-strlen.c: Likewise.
95149         * lib/unistr/u8-strmblen.c: Likewise.
95150         * lib/unistr/u8-strmbtouc.c: Likewise.
95151         * lib/unistr/u8-strncat.c: Likewise.
95152         * lib/unistr/u8-strncmp.c: Likewise.
95153         * lib/unistr/u8-strncpy.c: Likewise.
95154         * lib/unistr/u8-strnlen.c: Likewise.
95155         * lib/unistr/u8-strpbrk.c: Likewise.
95156         * lib/unistr/u8-strrchr.c: Likewise.
95157         * lib/unistr/u8-strspn.c: Likewise.
95158         * lib/unistr/u8-strstr.c: Likewise.
95159         * lib/unistr/u8-strtok.c: Likewise.
95160         * lib/unistr/u8-to-u16.c: Likewise.
95161         * lib/unistr/u8-to-u32.c: Likewise.
95162         * lib/unistr/u8-uctomb-aux.c: Likewise.
95163         * lib/unistr/u8-uctomb.c: Likewise.
95164         * lib/unitypes.h: Likewise.
95165         * lib/uniwidth.h: Likewise.
95166         * lib/uniwidth/cjk.h: Likewise.
95167         * lib/uniwidth/u16-strwidth.c: Likewise.
95168         * lib/uniwidth/u16-width.c: Likewise.
95169         * lib/uniwidth/u32-strwidth.c: Likewise.
95170         * lib/uniwidth/u32-width.c: Likewise.
95171         * lib/uniwidth/u8-strwidth.c: Likewise.
95172         * lib/uniwidth/u8-width.c: Likewise.
95173         * lib/uniwidth/width.c: Likewise.
95175 2007-10-07  Bruno Haible  <bruno@clisp.org>
95177         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
95178         The file is still under LGPL (see modules/inttypes).
95180 2007-10-06  Bruno Haible  <bruno@clisp.org>
95182         * modules/trunc (Dependencies): Add 'extensions'.
95183         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
95184         Reported by Ben Pfaff <blp@gnu.org>.
95186 2007-10-06  Bruno Haible  <bruno@clisp.org>
95188         * modules/freopen-tests: New file.
95189         * tests/test-freopen.c: New file.
95191         * modules/fopen-tests: New file.
95192         * tests/test-fopen.c: New file.
95194         * modules/fopen: New file.
95195         * lib/fopen.c: New file.
95196         * m4/fopen.m4: New file.
95197         * modules/freopen: New file.
95198         * lib/freopen.c: New file.
95199         * m4/freopen.m4: New file.
95200         * lib/stdio.in.h (fopen, freopen): New declarations.
95201         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
95202         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
95203         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
95204         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
95205         * doc/functions/fopen.texi: Mention the 'fopen' module.
95206         * doc/functions/freopen.texi: Mention the 'freopen' module.
95208 2007-10-06  Bruno Haible  <bruno@clisp.org>
95210         * modules/open-tests: New file.
95211         * tests/test-open.c: New file.
95213         * modules/open: New file.
95214         * lib/open.c: New file.
95215         * m4/open.m4: New file.
95216         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
95217         lib/open.c does.
95218         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
95219         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
95220         macros.
95221         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
95222         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
95223         REPLACE_OPEN.
95224         * doc/functions/open.texi: Mention the 'open' module.
95226 2007-10-04  Bruno Haible  <bruno@clisp.org>
95228         * modules/ceill-tests: New file.
95229         * tests/test-ceill.c: New file.
95231         * modules/ceill: New file.
95232         * lib/ceill.c: Replace entire file.
95233         * m4/ceill.m4: New file.
95234         * lib/math.in.h (ceill): Replace declaration.
95235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
95236         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
95237         * doc/functions/ceill.texi: Mention the 'ceill' module.
95238         * modules/mathl (Files): Remove lib/ceill.c.
95239         (Depends-on): Add ceill.
95241 2007-10-04  Bruno Haible  <bruno@clisp.org>
95243         * modules/ceilf-tests: New file.
95244         * tests/test-ceilf.c: New file.
95246         * modules/ceilf: New file.
95247         * lib/ceil.c: New file.
95248         * lib/ceilf.c: New file.
95249         * m4/ceilf.m4: New file.
95250         * lib/math.in.h (ceilf): New declaration.
95251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
95252         HAVE_DECL_CEILF.
95253         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
95254         HAVE_DECL_CEILF.
95255         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
95257 2007-10-04  Bruno Haible  <bruno@clisp.org>
95259         * modules/floorl-tests: New file.
95260         * tests/test-floorl.c: New file.
95262         * modules/floorl: New file.
95263         * lib/floorl.c: Replace entire file.
95264         * m4/floorl.m4: New file.
95265         * lib/math.in.h (floorl): Replace declaration.
95266         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
95267         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
95268         * doc/functions/floorl.texi: Mention the 'floorl' module.
95269         * modules/mathl (Files): Remove lib/floorl.c.
95270         (Depends-on): Add floorl.
95272 2007-10-04  Bruno Haible  <bruno@clisp.org>
95274         * modules/floorf-tests: New file.
95275         * tests/test-floorf.c: New file.
95277         * modules/floorf: New file.
95278         * lib/floor.c: New file.
95279         * lib/floorf.c: New file.
95280         * m4/floorf.m4: New file.
95281         * lib/math.in.h (floorf): New declaration.
95282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
95283         HAVE_DECL_FLOORF.
95284         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
95285         HAVE_DECL_FLOORF.
95286         * doc/functions/floorf.texi: Mention the 'floorf' module.
95288 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
95289             Bruno Haible  <bruno@clisp.org>
95291         Advertise for the Git server instead of the CVS server.
95292         * doc/gnulib-intro.texi (Steady Development): Mention the Git
95293         repository instead of the CVS one.
95294         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
95295         about all VCS systems generically.
95296         * doc/gnulib.texi (Introduction): Capitalize `Git'.
95298 2007-10-04  Bruno Haible  <bruno@clisp.org>
95300         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
95301         means.
95302         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
95304 2007-10-04  Bruno Haible  <bruno@clisp.org>
95306         * modules/truncl-tests: New file.
95307         * tests/test-truncl.c: New file.
95309         * modules/truncl: New file.
95310         * lib/truncl.c: New file.
95311         * m4/truncl.m4: New file.
95312         * lib/math.in.h (truncl): New declaration.
95313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
95314         HAVE_DECL_TRUNCL.
95315         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
95316         HAVE_DECL_TRUNCL.
95317         * doc/functions/truncl.texi: Mention the 'truncl' module.
95319 2007-10-04  Bruno Haible  <bruno@clisp.org>
95321         * modules/truncf-tests: New file.
95322         * tests/test-truncf.c: New file.
95324         * modules/truncf: New file.
95325         * lib/trunc.c: Make paramerizable through USE_* macros.
95326         * lib/truncf.c: New file.
95327         * m4/truncf.m4: New file.
95328         * lib/math.in.h (truncf): New declaration.
95329         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
95330         HAVE_DECL_TRUNCF.
95331         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
95332         HAVE_DECL_TRUNCF.
95333         * doc/functions/truncf.texi: Mention the 'truncf' module.
95335 2007-10-03  Bruno Haible  <bruno@clisp.org>
95337         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
95338         augmentation also for tests modules.
95339         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
95340         * modules/atexit-tests (Makefile.am): Likewise.
95341         * modules/binary-io-tests (Makefile.am): Likewise.
95342         * modules/c-strcase-tests (Makefile.am): Likewise.
95343         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
95344         * modules/canonicalize-tests (Makefile.am): Likewise.
95345         * modules/closein-tests (Makefile.am): Likewise.
95346         * modules/fprintf-posix-tests (Makefile.am): Likewise.
95347         * modules/freadahead-tests (Makefile.am): Likewise.
95348         * modules/fseek-tests (Makefile.am): Likewise.
95349         * modules/fseeko-tests (Makefile.am): Likewise.
95350         * modules/ftell-tests (Makefile.am): Likewise.
95351         * modules/ftello-tests (Makefile.am): Likewise.
95352         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
95353         * modules/isnanl-tests (Makefile.am): Likewise.
95354         * modules/lseek-tests (Makefile.am): Likewise.
95355         * modules/mbscasecmp-tests (Makefile.am): Likewise.
95356         * modules/mbscasestr-tests (Makefile.am): Likewise.
95357         * modules/mbschr-tests (Makefile.am): Likewise.
95358         * modules/mbscspn-tests (Makefile.am): Likewise.
95359         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
95360         * modules/mbspbrk-tests (Makefile.am): Likewise.
95361         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
95362         * modules/mbsrchr-tests (Makefile.am): Likewise.
95363         * modules/mbsspn-tests (Makefile.am): Likewise.
95364         * modules/mbsstr-tests (Makefile.am): Likewise.
95365         * modules/printf-posix-tests (Makefile.am): Likewise.
95366         * modules/snprintf-posix-tests (Makefile.am): Likewise.
95367         * modules/sprintf-posix-tests (Makefile.am): Likewise.
95368         * modules/tsearch-tests (Makefile.am): Likewise.
95369         * modules/uniname/uniname-tests (Makefile.am): Likewise.
95370         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
95371         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
95372         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
95373         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
95374         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
95375         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
95376         * modules/vprintf-posix-tests (Makefile.am): Likewise.
95377         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
95378         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
95379         * modules/xstrtoimax-tests (Makefile.am): Likewise.
95380         * modules/xstrtol-tests (Makefile.am): Likewise.
95381         * modules/xstrtoumax-tests (Makefile.am): Likewise.
95382         * modules/yesno-tests (Makefile.am): Likewise.
95384 2007-10-03  Bruno Haible  <bruno@clisp.org>
95386         * modules/trunc-tests: New file.
95387         * tests/test-trunc.c: New file.
95389         * modules/trunc: New file.
95390         * lib/trunc.c: New file.
95391         * m4/trunc.m4: New file.
95392         * lib/math.in.h (trunc): New declaration.
95393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
95394         HAVE_DECL_TRUNC.
95395         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
95396         HAVE_DECL_TRUNC.
95397         * doc/functions/trunc.texi: Mention the 'trunc' module.
95399 2007-10-03  Bruno Haible  <bruno@clisp.org>
95401         * tests/test-fpending.c: New file, mostly copied
95402         from coreutils/lib/t-fpending.c.
95403         * modules/fpending-tests: New file.
95405 2007-10-03  Bruno Haible  <bruno@clisp.org>
95407         Port the stdio extensions to QNX (untested).
95408         * lib/fseterr.c (fseterr): Add support for QNX.
95409         * lib/fbufmode.c (fbufmode): Likewise.
95410         * lib/freadable.c (freadable): Likewise.
95411         * lib/fwritable.c (fwritable): Likewise.
95412         * lib/freading.c (freading): Likewise.
95413         * lib/fwriting.c (fwriting): Likewise.
95414         * lib/freadahead.c (freadahed): Likewise.
95415         * lib/fpurge.c (fpurge): Likewise.
95416         * lib/fseeko.c (rpl_fseeko): Likewise.
95418 2007-10-03  Bruno Haible  <bruno@clisp.org>
95419             Jim Meyering  <jim@meyering.net>
95420             Eric Blake  <ebb9@byu.net>
95422         * doc/relocatable.texi: Use @command instead of @program.
95424 2007-10-02  Jim Meyering  <jim@meyering.net>
95426         Perform one more "_.h" -> ".in.h" substitution.
95427         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
95428         instead of unistd_.h here, too.
95430 2007-10-01  Bruno Haible  <bruno@clisp.org>
95432         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
95433         Needed for the alloca-opt module.
95435 2007-09-30  Bruno Haible  <bruno@clisp.org>
95437         * lib/alloca.in.h: Renamed from lib/alloca_.h.
95438         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
95439         alloca_.h.
95440         * lib/argz.in.h: Renamed from lib/argz_.h.
95441         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
95442         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
95443         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
95444         byteswap_.h.
95445         * lib/dirent.in.h: Renamed from lib/dirent_.h.
95446         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
95447         dirent_.h.
95448         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
95449         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
95450         fcntl_.h.
95451         * lib/float.in.h: Renamed from lib/float_.h.
95452         * modules/float (Files, Makefile.am): Use float.in.h instead of
95453         float_.h.
95454         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
95455         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
95456         fnmatch_.h.
95457         * lib/getopt.in.h: Renamed from lib/getopt_.h.
95458         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
95459         getopt_.h.
95460         * lib/glob.in.h: Renamed from lib/glob_.h.
95461         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
95462         * lib/iconv.in.h: Renamed from lib/iconv_.h.
95463         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
95464         iconv_.h.
95465         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
95466         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
95467         inttypes_.h.
95468         * lib/locale.in.h: Renamed from lib/locale_.h.
95469         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
95470         locale_.h.
95471         * lib/math.in.h: Renamed from lib/math_.h.
95472         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
95473         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
95474         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
95475         of netinet_in_.h. Add dependency.
95476         * lib/poll.in.h: Renamed from lib/poll_.h.
95477         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
95478         * lib/search.in.h: Renamed from lib/search_.h.
95479         * modules/search (Files, Makefile.am): Use search.in.h instead of
95480         search_.h.
95481         * lib/signal.in.h: Renamed from lib/signal_.h.
95482         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
95483         _signal.h.
95484         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
95485         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
95486         stdbool_.h.
95487         * lib/stdint.in.h: Renamed from lib/stdint_.h.
95488         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
95489         stdint_.h.
95490         * lib/stdio.in.h: Renamed from lib/stdio_.h.
95491         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
95492         stdio_.h.
95493         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
95494         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
95495         stdlib_.h.
95496         * lib/string.in.h: Renamed from lib/string_.h.
95497         * modules/string (Files, Makefile.am): Use string.in.h instead of
95498         string_.h.
95499         * doc/gnulib-tool.texi (Initial import): Update.
95500         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
95501         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
95502         of sys_select_.h. Add dependency.
95503         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
95504         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
95505         of sys_socket_.h.
95506         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
95507         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
95508         sys_stat_.h.
95509         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
95510         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
95511         sys_time_.h.
95512         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
95513         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
95514         sysexits_.h.
95515         * lib/time.in.h: Renamed from lib/time_.h.
95516         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
95517         * lib/unistd.in.h: Renamed from lib/unistd_.h.
95518         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
95519         unistd_.h.
95520         * lib/wchar.in.h: Renamed from lib/wchar_.h.
95521         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
95522         wchar_.h.
95523         * lib/wctype.in.h: Renamed from lib/wctype_.h.
95524         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
95525         wctype_.h.
95526         * build-aux/bootstrap (slurp): Update.
95527         * lib/.cppi-disable: Update.
95529 2007-09-30  Bruno Haible  <bruno@clisp.org>
95531         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
95532         Needed on BeOS.
95534 2007-09-30  Bruno Haible  <bruno@clisp.org>
95536         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
95538 2007-09-29  Bruno Haible  <bruno@clisp.org>
95540         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
95542 2007-09-29  Bruno Haible  <bruno@clisp.org>
95544         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
95545         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
95546         * build-aux/install-reloc: Compile also areadlink.c.
95547         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
95549 2007-09-29  Bruno Haible  <bruno@clisp.org>
95551         * gnulib-tool (func_emit_initmacro_done): Indentation.
95553 2007-09-29  Bruno Haible  <bruno@clisp.org>
95555         * README: Add CVS checkout update instructions.
95556         Info from Bob Proulx <bob@proulx.com>.
95558 2007-09-28  Eric Blake  <ebb9@byu.net>
95560         Provide move-if-change.
95561         * build-aux/move-if-change: New file, based on best practice
95562         rather than any canonical upstream location.
95564 2007-09-28  Jim Meyering  <jim@meyering.net>
95566         Fix canonicalize loop-detection corner case.
95567         Do not attempt to stat the symlink values stored via seen_triple.
95568         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
95569         on linux-2.6.18, (but not 2.6.22).
95570         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
95571         triple_compare.  The former compares dev,ino,filename, while the latter
95572         would actually stat dirname(filename) when dev and ino were equal.
95573         * lib/hash-triple.c: Install <string.h>.
95574         (STREQ): Define.
95575         (triple_compare_ino_str): New function.
95576         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
95578 2007-09-28  Eric Blake  <ebb9@byu.net>
95580         Enforce that AC_REPLACE_FUNCS files exist.
95581         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
95582         override check for typos.
95584         Fix test-closein on Solaris 10.
95585         * tests/test-closein.c (main): Don't assume stdin can be inherited
95586         closed on all systems.
95587         * tests/test-closein.sh: Likewise.
95588         Reported by Piotr Tarnowski.
95590 2007-09-28  Jim Meyering  <jim@meyering.net>
95592         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
95594 2007-09-27  Jim Meyering  <jim@meyering.net>
95596         canonicalize: Avoid a false-positive cycle failure.
95597         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
95598         Sort.  Remove cycle-check.
95599         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
95600         not cycle-check.h.
95601         (seen_triple): New function.
95602         (canonicalize_filename_mode): Use it instead of cycle-check.
95603         * tests/test-canonicalize.c: Add a test for this bug.
95604         * tests/test-canonicalize.sh: Set up and run the test.
95606         New module, file-set, from coreutils.
95607         * modules/file-set: Define it.
95608         * lib/file-set.c, lib/file-set.h: Implement.
95610         New module, hash-triple, from coreutils.
95611         * modules/hash-triple: Define it.
95612         * lib/hash-triple.c, lib/hash-triple.h: Implement.
95614 2007-09-25  Eric Blake  <ebb9@byu.net>
95616         Fix strerror on Interix.
95617         * lib/string_.h (strerror): Declare replacement.
95618         * doc/functions/strerror.texi (strerror): Document the Interix
95619         shortcoming.
95620         * modules/string (Makefile.am): Support new hooks.
95621         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
95622         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
95623         gl_FUNC_STRERROR_SEPARATE.
95624         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
95625         * lib/strerror.c (rpl_strerror): Provide replacement.
95626         * modules/strerror (Depends-on): Add string.
95627         (configure.ac): Detect use of module.
95628         * tests/test-strerror.c: New file.
95629         * modules/strerror-tests: New test module.
95630         * modules/argp (Depends-on): Add strerror.
95631         * modules/error (Depends-on): Likewise.
95632         Reported by Martin Koeppe.
95634 2007-09-24  Bruno Haible  <bruno@clisp.org>
95636         * README: Update git instructions.
95638 2007-09-24  Eric Blake  <ebb9@byu.net>
95640         Revert fpending breakage from 2007-09-08.
95641         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
95642         __fpending.c.
95644 2007-09-24  Jim Meyering  <jim@meyering.net>
95646         filenamecat.c: Add a test.
95647         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
95648         showing how the function works when DIR is the empty string.
95650 2007-09-21  Simon Josefsson  <simon@josefsson.org>
95652         * tests/test-canonicalize.sh: Turn on executable bit.
95654 2007-09-19  Eric Blake  <ebb9@byu.net>
95656         * README: Update CVS instructions.
95658 2007-09-18  Bruno Haible  <bruno@clisp.org>
95660         * modules/areadlink: New file.
95661         * lib/areadlink.h (areadlink): New declaration.
95662         * lib/areadlink.c: New file, based on lib/xreadlink.c.
95664 2007-09-17  Jim Meyering  <jim@meyering.net>
95666         * lib/savewd.c (ESTALE) [!defined]: Define.
95667         Reported to be required on Interix by Martin Koeppe.
95669 2007-09-17  Bruno Haible  <bruno@clisp.org>
95671         * gnulib-tool (func_version): Use $version.
95673 2007-09-16  Bruno Haible  <bruno@clisp.org>
95675         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
95676         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
95677         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
95678         Reported by Greg Schafer <gschafer@zip.com.au>.
95680 2007-09-15  Bruno Haible  <bruno@clisp.org>
95682         * gnulib-tool (sed): Try a little harder to make bash understand the
95683         alias.
95684         Reported by Bruce Korb <bruce.korb@gmail.com>.
95686 2007-09-13  Eric Blake  <ebb9@byu.net>
95688         * ChangeLog: Remove conflict markers.
95690 2007-09-13  Simon Josefsson  <simon@josefsson.org>
95692         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
95693         Reported by Bruno Haible <bruno@clisp.org>.
95695 2007-09-12  Bruno Haible  <bruno@clisp.org>
95697         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
95698         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
95699         is not defined.
95701 2007-09-12  Eric Blake  <ebb9@byu.net>
95703         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
95704         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
95705         Autoconf definition.
95706         * modules/euidaccess (Depends-on): Add extensions, for
95707         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
95708         * modules/fnmatch (Depends-on): Likewise.
95709         * modules/getaddrinfo (Depends-on): Likewise.
95710         * modules/getdelim (Depends-on): Likewise.
95711         * modules/getline (Depends-on): Likewise.
95712         * modules/getsubopt (Depends-on): Likewise.
95713         * modules/gettext (Depends-on): Likewise.
95714         * modules/group-member (Depends-on): Likewise.
95715         * modules/mbchar (Depends-on): Likewise.
95716         * modules/memmem (Depends-on): Likewise.
95717         * modules/mempcpy (Depends-on): Likewise.
95718         * modules/memrchr (Depends-on): Likewise.
95719         * modules/pagealign_alloc (Depends-on): Likewise.
95720         * modules/readutmp (Depends-on): Likewise.
95721         * modules/stpcpy (Depends-on): Likewise.
95722         * modules/stpncpy (Depends-on): Likewise.
95723         * modules/strchrnul (Depends-on): Likewise.
95724         * modules/strndup (Depends-on): Likewise.
95725         * modules/strsep (Depends-on): Likewise.
95726         * modules/strverscmp (Depends-on): Likewise.
95727         * modules/vasprintf (Depends-on): Likewise.
95728         * modules/wcwidth (Depends-on): Likewise.
95729         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
95730         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
95731         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
95732         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
95733         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
95734         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
95735         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
95736         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
95737         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
95738         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
95739         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95740         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
95741         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
95742         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
95743         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
95744         * m4/readutmp.m4 (gl_READUTMP): Likewise.
95745         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
95746         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
95747         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
95748         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
95749         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95750         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
95751         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
95752         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
95753         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
95754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
95755         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
95756         so that lock.m4 can be used in gettext without extensions module.
95758 2007-09-11  Bruno Haible  <bruno@clisp.org>
95760         * m4/isc-posix.m4: Remove file.
95761         Suggested by Eric Blake.
95763 2007-09-11  Eric Blake  <ebb9@byu.net>
95765         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
95767 2007-09-10  Bruno Haible  <bruno@clisp.org>
95769         * posix-modules: Fix typo in error message.
95770         Reported by Matt <mkraai@beckman.com>.
95772 2007-09-09  Bruno Haible  <bruno@clisp.org>
95774         * doc/functions/getdelim.texi: Update list of platforms lacking the
95775         function.
95776         * doc/functions/getline.texi: Likewise.
95778 2007-09-09  Jim Meyering  <jim@meyering.net>
95780         * lib/hash.c (hash_initialize): Detect calloc failure.
95781         Reported by Bruno Haible.
95783 2007-09-09  Bruno Haible  <bruno@clisp.org>
95785         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
95786         malloc or realloc fails.
95788 2007-09-09  Bruno Haible  <bruno@clisp.org>
95790         * modules/getcwd (Depends-on): Add malloc-posix.
95791         * modules/glob (Depends-on): Likewise.
95792         * modules/putenv (Depends-on): Likewise.
95793         * modules/strdup (Depends-on): Likewise.
95794         * modules/getdelim (Depends-on): Add realloc-posix.
95795         * modules/read-file (Depends-on): Likewise.
95797 2007-09-09  Bruno Haible  <bruno@clisp.org>
95799         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
95800         (gl_FUNC_MALLOC_POSIX): Require it.
95801         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
95802         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
95803         * modules/realloc (Files): Add m4/malloc.m4.
95804         * modules/calloc (Files): Likewise.
95806 2007-09-09  Bruno Haible  <bruno@clisp.org>
95808         * modules/malloc-posix: New file.
95809         * modules/malloc (Depends-on): Add malloc-posix.
95810         * lib/malloc.c: Include errno.h.
95811         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
95812         and a POSIX-compatible malloc into a single function. Set ENOMEM
95813         when returning NULL.
95814         * m4/malloc.m4: New file.
95815         * doc/functions/malloc.texi: Mention the malloc-posix module.
95816         * lib/stdlib_.h (malloc): New declaration.
95817         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
95818         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
95819         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
95820         and HAVE_MALLOC_POSIX.
95822 2007-09-09  Bruno Haible  <bruno@clisp.org>
95824         * modules/realloc-posix: New file.
95825         * modules/realloc (Depends-on): Add realloc-posix.
95826         * lib/realloc.c: Include errno.h.
95827         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
95828         and a POSIX-compatible realloc into a single function. Set ENOMEM
95829         when returning NULL.
95830         * m4/realloc.m4: New file.
95831         * doc/functions/realloc.texi: Mention the realloc-posix module.
95832         * lib/stdlib_.h (realloc): New declaration.
95833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
95834         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
95835         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
95836         and HAVE_REALLOC_POSIX.
95838 2007-09-09  Bruno Haible  <bruno@clisp.org>
95840         * modules/calloc-posix: New file.
95841         * modules/calloc (Depends-on): Add calloc-posix.
95842         * lib/calloc.c: Include errno.h.
95843         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
95844         and a POSIX-compatible calloc into a single function. Set ENOMEM
95845         when returning NULL.
95846         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
95847         * doc/functions/calloc.texi: Mention the calloc-posix module.
95848         * lib/stdlib_.h (calloc): New declaration.
95849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
95850         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
95851         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
95852         and HAVE_CALLOC_POSIX.
95854 2007-09-09  Bruno Haible  <bruno@clisp.org>
95856         Allow for modules to show an arbitrary notice.
95857         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
95858         * gnulib-tool: New option --extract-notice.
95859         (func_usage): Document it.
95860         (sed_extract_prog): Update.
95861         (func_get_notice): New function.
95862         (func_modules_notice): New function.
95863         (func_import, func_create_testdir): Invoke it.
95864         Suggested by Jim Meyering.
95866 2007-09-09  Bruno Haible  <bruno@clisp.org>
95868         * gnulib-tool: New options --verbose, --quiet.
95869         (func_usage): Document them.
95870         (verbose): New variable.
95871         (func_execute_command): New function.
95872         (func_import): Don't show the module list and the file list if
95873         $verbose < 0.
95874         (func_create_testdir): Likewise. Use func_execute_command.
95875         (func_create_megatestdir): Use func_execute_command.
95877 2007-09-08  Bruno Haible  <bruno@clisp.org>
95879         * gnulib-tool (func_import): Prefer rsync over wget when available,
95880         for fetching the PO files.
95882 2007-09-08  Bruno Haible  <bruno@clisp.org>
95884         * posix-modules: New file. Portions copied from gnulib-tool.
95885         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
95887 2007-09-08  Jim Meyering  <jim@meyering.net>
95889         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
95890         * lib/fpending.h: Rename from __fpending.h.
95891         * lib/fpending.c: Rename from __fpending.c.
95892         Include "fpending.h", not "__fpending.h".
95893         * lib/__fpending.h, lib/__fpending.c: Remove files.
95894         * modules/fpending (Files): Reflect new file names.
95895         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
95897 2007-09-08  Bruno Haible  <bruno@clisp.org>
95899         * m4/inttypes-h.m4: Remove stub file.
95901 2007-09-07  Simon Josefsson  <simon@josefsson.org>
95903         * doc/headers/stdint.texi: Discuss #include_next issue.
95905 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
95907         * build-aux/bootstrap: Remove obsolete comment about wget --help.
95909 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95911         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
95912         in variable name.
95914 2007-09-03  Jim Meyering  <jim@meyering.net>
95916         New module: git-version-gen.
95917         * modules/git-version-gen: New file.
95919         Import changes from coreutils for bootstrap script.
95921         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
95923         bootstrap: uses rsync to download the .po files
95924         * build-aux/bootstrap (po_download_command_format): New global.
95925         (download_po_files): Use rsync.
95926         (update_po_files): Don't remove .po files after download,
95927         so future rsync runs can take advantage of the copies.
95929         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
95931         Solve the unnecessary-.po-file-regeneration problem once and for all.
95932         * build-aux/bootstrap (download_po_files): New function, renamed from
95933         get_translations.  Now, downloads, but doesn't update LINGUAS.
95934         (update_po_files): New function.
95936         bootstrap: Ignore more.
95937         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
95938         uniwidth to e.g., lib/.gitignore.
95939         (slurp): Handle the sys_stat_.h -> sys mapping, too.
95941         * build-aux/bootstrap: New setting: vc_ignore.
95942         (insert_sorted_if_absent): Create $file if absent.
95943         Adapt to new, possibly empty, list: $vc_ignore.
95945         bootstrap: generate more ignorable names
95946         * build-aux/bootstrap (slurp): When generating ignorable names,
95947         also map .sin to .sed, .gperf to .c, and .y to .c.
95949 2007-09-03  Jim Meyering  <jim@meyering.net>
95951         * build-aux/git-version-gen: New file, from coreutils.  For details, see
95952         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
95954 2007-09-02  Bruno Haible  <bruno@clisp.org>
95956         Fix mis-recognition of 'mcs' on QNX 6.
95957         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
95958         output contains the string "Mono".
95959         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
95960         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
95962 2007-09-01  Bruno Haible  <bruno@clisp.org>
95964         Fix collision between uniwidth/* and linebreak modules.
95965         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
95966         u32_width): Remove declarations.
95967         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
95968         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
95969         streq3, streq2, streq1, streq0): Remove functions.
95970         (STREQ): Remove macro.
95971         (is_cjk_encoding): Remove function.
95972         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
95973         (uc_width, u8_width, u16_width, u32_width): Remove functions.
95974         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
95975         * NEWS: Document the change.
95977 2007-09-01  Bruno Haible  <bruno@clisp.org>
95979         * lib/streq.h: Add double-inclusion guard.
95981 2007-09-01  Karl Berry  <karl@gnu.org>
95983         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
95985 2007-08-28  Jim Meyering  <jim@meyering.net>
95987         Rename mreadlink_with_size to areadlink_with_size.
95988         * NEWS: Document the change.
95989         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
95990         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
95991         * lib/mreadlink.h: Rename this to...
95992         * lib/areadlink.h: ...this.
95993         * modules/mreadlink-with-size: Rename this to...
95994         * modules/areadlink-with-size: ...this.
95995         * lib/canonicalize.c: Reflect the renaming.
95996         * modules/canonicalize: Likewise.
95998 2007-08-26  Bruno Haible  <bruno@clisp.org>
96000         * gnulib-tool (func_import): When deciding which files to remove,
96001         consider also dangling symbolic links.
96002         Reported by Eric Blake.
96004 2007-08-26  Bruno Haible  <bruno@clisp.org>
96006         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
96008 2007-08-23  Simon Josefsson  <simon@josefsson.org>
96010         * lib/readline.c: Don't include getline.h, the prototype is now
96011         found in stdio.h.
96013 2007-08-23  Jim Meyering  <jim@meyering.net>
96015         Getdelim touchup.
96016         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
96017         around the funlockfile call, since funlockfile never sets errno.
96018         Don't set errno upon failed realloc.
96020 2007-08-22  Eric Blake  <ebb9@byu.net>
96022         Getline touchups.
96023         * lib/getdelim.c (getdelim): Revert regression that required *n to
96024         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
96025         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
96026         getdelim, rather than whether implementation is missing.
96027         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
96028         * lib/stdio_.h (getline): Also declare if replacement is
96029         required.
96030         * doc/functions/getdelim.texi: New file.
96031         * doc/functions/getline.texi: Likewise.
96032         * doc/gnulib.texi (Function Substitutes): Add new files.
96033         Reported by Bruno Haible.
96035 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
96037         * users.txt: Add Guile.
96039 2007-08-22  Eric Blake  <ebb9@byu.net>
96041         * tests/test-getdelim.c (main): Use remove, not unlink.
96042         * tests/test-getline.c (main): Likewise.
96044         Move getline and getdelim into stdio.h, per POSIX 200x.
96045         * modules/getline (Files): Remove getline.h.
96046         (Depends-on): Add stdio.
96047         (configure.ac): Add module indicator.
96048         * modules/getdelim (Files): Remove getdelim.h.
96049         (Depends-on): Add stdio.
96050         (configure.ac): Add module indicator.
96051         * modules/stdio (Makefile.am): Work with new indicators.
96052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
96053         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
96054         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
96055         * lib/getdelim.h: Delete.
96056         * lib/getline.h: Delete.
96057         * lib/stdio_.h (getdelim, getline): Declare.
96058         * modules/getdelim-tests: New module.
96059         * modules/getline-tests: Likewise.
96060         * tests/test-getdelim.c: New file.
96061         * tests/test-getline.c: Likewise.
96062         * NEWS: Document the change.
96063         * lib/getline.c: Update choice of header.
96064         * lib/csharpcomp.c: Likewise.
96065         * lib/getpass.c: Likewise.
96066         * lib/javacomp.c: Likewise.
96067         * lib/javaversion.c: Likewise.
96068         * lib/yesno.c: Likewise.
96069         * lib/getdelim.c: Likewise.
96070         (getdelim): Set errno on failure, and avoid memory leak.
96072 2007-08-19  Bruno Haible  <bruno@clisp.org>
96074         * modules/closein (Depends-on): Add freadahead.
96075         * lib/closein.c: Include freadahead.h.
96076         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
96077         is zero.
96079 2007-08-19  Bruno Haible  <bruno@clisp.org>
96081         * modules/freadahead-tests: New file.
96082         * tests/test-freadahead.sh: New file.
96083         * tests/test-freadahead.c: New file.
96085         * modules/freadahead: New file.
96086         * lib/freadahead.h: New file.
96087         * lib/freadahead.c: New file.
96088         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
96089         fbufmode, fpurge, freadable, fwritable.
96091 2007-08-19  Eric Blake  <ebb9@byu.net>
96093         Test yesno in combination with closein.
96094         * lib/yesno.c (yesno): Document use of stdin.
96095         * modules/yesno-tests (Files): New module.
96096         * tests/test-yesno.c (main): New file.
96097         * tests/test-yesno.sh: Likewise.
96099 2007-08-19  Bruno Haible  <bruno@clisp.org>
96101         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
96102         * lib/fseeko.c (rpl_fseeko): Likewise.
96103         * lib/fseterr.c (fseterr): Likewise.
96105 2007-08-19  Bruno Haible  <bruno@clisp.org>
96107         * tests/test-lseek.c (main): Disable a test for BeOS.
96108         * doc/functions/lseek.texi: Document the BeOS bug.
96110 2007-08-19  Bruno Haible  <bruno@clisp.org>
96111             Eric Blake  <ebb9@byu.net>
96113         * lib/lseek.c: Include <sys/stat.h>.
96114         (rpl_lseek): Add workaround code also for Unix platforms.
96115         Needed for BeOS.
96116         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
96117         * doc/functions/lseek.texi: Document BeOS definiency.
96119 2007-08-18  Bruno Haible  <bruno@clisp.org>
96121         * modules/fstrcmp-tests: New file.
96122         * tests/test-fstrcmp.c: New file.
96124 2007-08-18  Bruno Haible  <bruno@clisp.org>
96126         * modules/fstrcmp: New file, from GNU gettext with modifications.
96127         * lib/fstrcmp.h: New file, from GNU gettext.
96128         * lib/fstrcmp.c: New file, from GNU gettext.
96129         * MODULES.html.sh (String handling): Add fstrcmp.
96131 2007-08-18  Bruno Haible  <bruno@clisp.org>
96133         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
96134         'bool'.
96135         (diag, compareseq): Remove const from the ctxt argument.
96136         (USE_HEURISTIC): Undefine at the end.
96138 2007-08-18  Jim Meyering  <jim@meyering.net>
96140         New file: lib/idcache.h
96141         * NEWS: Mention the addition.
96142         * modules/idcache (Files): Add lib/idcache.h
96143         * lib/idcache.c: Include "idcache.h".
96144         Don't include <sys/types.h>.
96145         Add a FIXME comment.
96146         Move file-scoped "static" declarations to the top.
96147         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
96149 2007-08-17  Bruno Haible  <bruno@clisp.org>
96150         and Paul Eggert  <eggert@cs.ucla.edu>
96152         * MODULES.html.sh: Add diffseq.
96153         * modules/diffseq: New file.
96154         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
96155         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
96157 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96159         Import changes from coreutils for bootstrap script.
96161         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
96163         * build-aux/bootstrap (slurp): Work even in environments where
96164         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
96165         current code does not slurp files whose names start with ".", and
96166         this looks like it might be a troublesome area.
96168         2007-07-11  Jim Meyering  <jim@meyering.net>
96170         If there's a GPL vN copyright comment, require that N == 3.
96172         2007-07-08  Jim Meyering  <jim@meyering.net>
96174         Run the coreutils-specific code only if tests/Makefile.am.in exists.
96175         * build-aux/bootstrap (mam_template): Move definition out of loop.
96177         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
96179         * build-aux/bootstrap (symlink_to_dir): Rename function from
96180         symlink_to_gnulib.  Add a directory parameter.  Update all
96181         callers.
96182         (cp_mark_as_generated): Also check for -- and link to -- files in
96183         gl/.
96185         2007-07-08  Jim Meyering  <jim@meyering.net>
96187         Adapt to deeper hierarchy in gnulib.
96188         * build-aux/bootstrap (symlink_to_dir): If the destination
96189         directory doesn't exist, create it. This is required at least for
96190         "lib/uniwidth/cjk.h".
96192         2007-05-15  Jim Meyering  <jim@meyering.net>
96194         * build-aux/bootstrap: Now that generated Makefile.am files
96195         are no longer under version control, they must be created at
96196         bootstrap time.
96198 2007-08-14  Ben Pfaff  <blp@gnu.org>
96200         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
96202 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
96204         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
96205         given the changes below.
96206         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
96207         even on hosts that have padding bits beyond the supported 64.
96209 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
96211         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
96212         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
96213         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
96214         depends on it.
96215         (xstrtol_error): Remove.
96216         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
96217         but with a different signature.
96218         (ATTRIBUTE_NORETURN, __attribute__): New macros.
96219         * lib/xstrtol-error.c: Include exitfail.h.
96220         (xstrtol_fatal): New function, with a different signature from the
96221         old xstrtol_error, so that the caller need not worry about passing
96222         in an exit status, or about storage management of the option argument.
96223         (xstrtol_error): Now a static function.  Redo signature to
96224         implement xstrtol_fatal.  Output the correct number of hyphens in
96225         front of the option so that the caller need not worry about
96226         storage management.
96227         (N_): New macro.
96228         (_): Remove; not used now.
96229         * modules/xstrtol: Depend on getopt.
96230         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
96231         of old STRTOL_FATAL_ERROR macro.
96232         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
96233         of test program.
96234         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
96235         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
96237 2007-08-08  Eric Blake  <ebb9@byu.net>
96239         * lib/xstrtol-error.c: Add missing include.
96241         Move xstrtol messages into gnulib domain, when --pobase is used.
96242         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
96243         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
96244         * modules/xstrtol (Files): Distribute new file.
96245         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
96246         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
96247         * tests/test-xstrtol.c: ...into new file.
96248         * tests/test-xstrtoul.c: Also test xstrtoul.
96249         * tests/test-xstrtoimax.c: Also test xstrtoimax.
96250         * tests/test-xstrtoumax.c: Also test xstrtoumax.
96251         * tests/test-xstrtol.sh: Drive the tests.
96252         * tests/test-xstrtoimax.sh: Likewise.
96253         * tests/test-xstrtoumax.sh: Likewise.
96254         * modules/xstrtol-tests: New module.
96255         * modules/xstrtoimax-tests: Likewise.
96256         * modules/xstrtoumax-tests: Likewise.
96258 2007-08-08  Jim Meyering  <jim@meyering.net>
96260         New function: mfile_name_concat.
96261         * lib/filenamecat.c (mfile_name_concat): New function, just like
96262         file_name_concat, but return NULL upon failure rather than exiting
96263         with a diagnostic.
96264         * lib/filenamecat.h: Declare it.
96266 2007-08-07  Bruno Haible  <bruno@clisp.org>
96268         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
96269         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
96270         warning from gcc.
96271         Reported by Eric Blake.
96273 2007-08-07  Simon Josefsson  <simon@josefsson.org>
96275         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
96276         * modules/crypto/arcfour (License): Likewise.
96277         * modules/crypto/des-tests (License): Likewise.
96278         * modules/crypto/gc-arctwo-tests (License): Likewise.
96279         * modules/crypto/gc-des-tests (License): Likewise.
96280         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
96281         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
96282         * modules/crypto/gc-md2-tests (License): Likewise.
96283         * modules/crypto/gc-md4-tests (License): Likewise.
96284         * modules/crypto/gc-md5-tests (License): Likewise.
96285         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
96286         * modules/crypto/gc-rijndael-tests (License): Likewise.
96287         * modules/crypto/gc-sha1-tests (License): Likewise.
96288         * modules/crypto/gc-tests (License): Likewise.
96289         * modules/crypto/hmac-md5 (License): Likewise.
96290         * modules/crypto/hmac-sha1 (License): Likewise.
96291         * modules/crypto/md2-tests (License): Likewise.
96292         * modules/crypto/md4-tests (License): Likewise.
96293         * modules/crypto/md5 (License): Likewise.
96294         * modules/crypto/rijndael (License): Likewise.
96295         * modules/crypto/sha1 (License): Likewise.
96296         * modules/memxor (License): Likewise.
96298 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
96299         and Bruno Haible  <bruno@clisp.org>
96301         * NEWS: Describe interface changes to human, xstrtol.
96302         * lib/human.h: Include <xstrtol.h>.
96303         (human_options): Return enum strtol_error, not int.  Remove
96304         bool arg; take int * instead.
96305         * lib/human.c: Don't include "gettext.h".
96306         (_): Remove; no longer used.
96307         Don't include <xstrtol.h>, since human.h does it.
96308         (human_options): Adjust to abovementioned interface changes.
96309         Do not report error to stderr; that's now the caller's
96310         responsibility.
96311         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
96312         interface change.
96313         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
96314         Str, Argument_type_string.  All uses changed.  Put " argument"
96315         in diagnostics to make them clearer.  Change wording of suffix
96316         message for clarity.
96317         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
96318         Argument_type_string.
96319         (STRTOL_FATAL_WARN): Remove; no longer used.
96320         * modules/human (Depends-on): Remove gettext-h.
96322 2007-08-06  Simon Josefsson  <simon@josefsson.org>
96324         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
96326 2007-07-31  Bruno Haible  <bruno@clisp.org>
96328         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
96329         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
96330         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
96332 2007-07-31  Bruno Haible  <bruno@clisp.org>
96334         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
96335         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
96337 2007-07-30  Bruno Haible  <bruno@clisp.org>
96339         * modules/base64 (License): Use the synonymous term "LGPLv2+".
96340         * modules/c-ctype (License): Likewise.
96341         * modules/c-strcase (License): Likewise.
96342         * modules/check-version (License): Likewise.
96343         * modules/iconv (License): Likewise.
96344         * modules/iconv_open (License): Likewise.
96345         * modules/read-file (License): Likewise.
96346         * modules/striconv (License): Likewise.
96347         * modules/strverscmp (License): Likewise.
96348         * modules/vasprintf (License): Likewise.
96349         * modules/crypto/des (License): Likewise.
96350         * modules/crypto/gc (License): Likewise.
96351         * modules/crypto/gc-arcfour (License): Likewise.
96352         * modules/crypto/gc-arctwo (License): Likewise.
96353         * modules/crypto/gc-des (License): Likewise.
96354         * modules/crypto/gc-hmac-md5 (License): Likewise.
96355         * modules/crypto/gc-hmac-sha1 (License): Likewise.
96356         * modules/crypto/gc-md2 (License): Likewise.
96357         * modules/crypto/gc-md4 (License): Likewise.
96358         * modules/crypto/gc-md5 (License): Likewise.
96359         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
96360         * modules/crypto/gc-random (License): Likewise.
96361         * modules/crypto/gc-rijndael (License): Likewise.
96362         * modules/crypto/gc-sha1 (License): Likewise.
96363         * modules/crypto/md2 (License): Likewise.
96364         * modules/crypto/md4 (License): Likewise.
96366 2007-07-30  Jim Meyering  <jim@meyering.net>
96368         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
96369         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
96370         it has valid stat data.  This bug would cause du not to count the
96371         sizes of inaccessible directories.
96372         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
96373         in <http://bugzilla.redhat.com/250077>.
96375 2007-07-25  Peter O'Gorman  <peter@pogma.com>
96376             Bruno Haible  <bruno@clisp.org>
96378         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
96379         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
96380         #include_next, gives a diagnostic about it, but reports no error in
96381         the exit code.
96382         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
96384 2007-07-24  Ben Pfaff  <blp@gnu.org>
96386         Improve name: "count-one-bits" is better than "popcount".
96387         * MODULES.html.sh: Update name.
96388         * lib/popcount.h: Renamed lib/count-one-bits.h.
96389         (popcount): Renamed count_one_bits.
96390         (popcountl): Renamed count_one_bits_l.
96391         (popcountll): Renamed count_one_bits_ll.
96392         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
96393         * modules/popcount: Renamed module/count-one-bits.
96394         * modules/popcount-tests: Renamed module/count-one-bits-tests.
96395         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
96397 2007-07-23  Ben Pfaff  <blp@gnu.org>
96399         * lib/popcount.h (popcount32): Reduce size of constants, to allow
96400         better code generation, and add U to large constants to avoid
96401         warnings, in non-GCC case.
96402         Suggested by Bruno Haible.
96404 2007-07-23  Ben Pfaff  <blp@gnu.org>
96406         * lib/popcount.h: Use verify_true instead of if...abort.
96407         * modules/popcount: Depend on verify module.
96408         Suggested by Jim Meyering.
96410 2007-07-23  Bruno Haible  <bruno@clisp.org>
96412         * gnulib-tool (func_import): Create a .cvsignore file also when the
96413         directory is not yet in CVS but the toplevel directory is. When
96414         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
96415         Reported by Karl Berry.
96417 2007-07-22  Ben Pfaff  <blp@gnu.org>
96419         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
96420         case.
96421         Suggested by Eric Blake.
96423 2007-07-22  Ben Pfaff  <blp@gnu.org>
96425         New module: popcount.
96426         * MODULES.html.sh: Add popcount.
96427         * modules/popcount: New file.
96428         * modules/popcount-tests: New file.
96429         * tests/test-popcount.c: New file.
96430         * lib/popcount.h: New file.
96431         * m4/popcount.m4: New file.
96433 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
96435         * build-aux/announce-gen: Update to GPLv3.
96437         * build-aux/config.guess: Update from config.
96439 2007-07-21  Bruno Haible  <bruno@clisp.org>
96441         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
96442         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
96444 2007-07-20  Jim Meyering  <jim@meyering.net>
96446         * check-module: Diagnose a self-dependency.
96448 2007-07-19  Bruno Haible  <bruno@clisp.org>
96450         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
96451         empty.
96452         Reported by Eric Blake.
96454 2007-07-18  Bruno Haible  <bruno@clisp.org>
96456         * gnulib-tool: New options --po-base, --po-domain.
96457         (func_usage): Document them.
96458         (pobase, po_domain): New variables.
96459         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
96460         DEFAULT_TEXT_DOMAIN.
96461         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
96462         (func_import): Consider pobase and po_domain. Create a po/ directory.
96463         (func_create_testdir): Set pobase and po_domain to empty.
96464         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
96465         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
96467 2007-07-18  Bruno Haible  <bruno@clisp.org>
96469         * gnulib-tool (func_get_automake_snippet): Synthesize also an
96470         EXTRA_DIST augmentation for files in build-aux/.
96472 2007-07-16  Bruno Haible  <bruno@clisp.org>
96474         * modules/lseek (License): Use the synonymous term "LGPLv2+".
96475         * modules/getdelim (License): Likewise.
96477 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
96479         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
96480         * modules/d-type (License): Likewise.
96481         * modules/extensions (License): Likewise.
96482         * modules/fnmatch (License): Likewise.
96483         * modules/fseeko (License): Likewise.
96484         * modules/getaddrinfo (License): Likewise.
96485         * modules/getline (License): Likewise.
96486         * modules/getlogin_r (License): Likewise.
96487         * modules/getpass (License): Likewise.
96488         * modules/gettimeofday (License): Likewise.
96489         * modules/glob (License): Likewise.
96490         * modules/inet_ntop (License): Likewise.
96491         * modules/malloc (License): Likewise.
96492         * modules/malloca (License): Likewise.
96493         * modules/memmem (License): Likewise.
96494         * modules/mempcpy (License): Likewise.
96495         * modules/memset (License): Likewise.
96496         * modules/minmax (License): Likewise.
96497         * modules/mktime (License): Likewise.
96498         * modules/netinet_in (License): Likewise.
96499         * modules/pathmax (License): Likewise.
96500         * modules/poll (License): Likewise.
96501         * modules/regex (License): Likewise.
96502         * modules/snprintf (License): Likewise.
96503         * modules/stdbool (License): Likewise.
96504         * modules/stdint (License): Likewise.
96505         * modules/stdio (License): Likewise.
96506         * modules/strcase (License): Likewise.
96507         * modules/strcasestr (License): Likewise.
96508         * modules/strdup (License): Likewise.
96509         * modules/string (License): Likewise.
96510         * modules/strndup (License): Likewise.
96511         * modules/strnlen (License): Likewise.
96512         * modules/strpbrk (License): Likewise.
96513         * modules/strptime (License): Likewise.
96514         * modules/strsep (License): Likewise.
96515         * modules/sys_select (License): Likewise.
96516         * modules/sys_socket (License): Likewise.
96517         * modules/sys_stat (License): Likewise.
96518         * modules/sys_time (License): Likewise.
96519         * modules/time (License): Likewise.
96520         * modules/time_r (License): Likewise.
96521         * modules/timegm (License): Likewise.
96522         * modules/unistd (License): Likewise.
96523         * modules/vsnprintf (License): Likewise.
96524         * modules/wctype (License): Likewise.
96526 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96528         * modules/argz (License): LGPLv2+.
96530 2007-07-15  Karl Berry  <karl@gnu.org>
96532         * doc/gnulib.texi: revise node structure per new fdl.texi.
96534 2007-07-14  Bruno Haible  <bruno@clisp.org>
96536         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
96537         the output file.
96538         * lib/uniname/uninames.h: Regenerated.
96540 2007-07-14  Karl Berry  <karl@gnu.org>
96542         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
96543         omitting sectioning and index commands.
96545 2007-07-13  Bruno Haible  <bruno@clisp.org>
96547         New gnulib-tool option --more-symlinks.
96548         * gnulib-tool (func_usage): Document --more-symlinks.
96549         (do_copyrights): New variable.
96550         Recognize option --more-symlinks.
96551         (func_import): Don't add a copyright notice transform to
96552         sed_transform_lib_file if do_copyrights is empty.
96554 2007-07-13  Bruno Haible  <bruno@clisp.org>
96556         * lib/vasnprintf.c (decimal_point_char): Define also if
96557         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
96558         && !NEED_PRINTF_DIRECTIVE_A.
96559         Reported by Clemens Koller <clemens.koller@anagramm.de> via
96560         Gary V. Vaughan <gary@gnu.org>.
96562 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
96564         * lib/inttypes_.h: Undo previous change, since it was fixed
96565         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
96567 2007-07-13  Bruno Haible  <bruno@clisp.org>
96569         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
96570         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
96572 2007-07-13  Jim Meyering  <jim@meyering.net>
96574         df: Don't fail for Tru64's "file-on-file mount".
96575         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
96576         so we fall through and use statfs instead.  Details here:
96577         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
96578         Reported by Albert Chin.
96580 2007-07-13  Bruno Haible  <bruno@clisp.org>
96582         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
96583         * modules/configmake (License): Likewise.
96584         * modules/gettext (License): Likewise.
96585         * modules/gettext-h (License): Likewise.
96586         * modules/include_next (License): Likewise.
96587         * modules/link-warning (License): Likewise.
96588         * modules/localcharset (License): Likewise.
96589         * modules/localename (License): Likewise.
96590         * modules/lock (License): Likewise.
96591         * modules/relocatable-lib-lgpl (License): Likewise.
96592         * modules/size_max (License): Likewise.
96593         * modules/vasnprintf (License): Likewise.
96594         * modules/wchar (License): Likewise.
96595         * modules/xsize (License): Likewise.
96597 2007-07-13  Bruno Haible  <bruno@clisp.org>
96599         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
96600         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
96602 2007-07-12  Bruno Haible  <bruno@clisp.org>
96604         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
96605         in the modules files.
96607 2007-07-11  Karl Berry  <karl@gnu.org>
96609         * MODULES.html.sh (func_module): use
96610          sed -e '\|^'"${includefile}"'$|d'
96611          instead of /.../d, to avoid errors on $includefile's containing /.
96613 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96615         * gnulib-tool (func_import): Avoid duplication of --avoid
96616         statements
96617         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
96618         names to `_' in variable names.
96620 2007-07-10  Eric Blake  <ebb9@byu.net>
96622         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
96623         * NEWS: Document this change.
96625 2007-07-08  Bruno Haible  <bruno@clisp.org>
96627         Update to Unicode 5.0.
96628         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
96629         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
96630         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
96631         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
96632         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
96633         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
96634         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
96635         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
96636         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
96637         U+10A3F, U+1D242..U+1D244.
96638         (nonspacing_table_ind): Update.
96639         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
96640         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
96642 2007-07-08  Bruno Haible  <bruno@clisp.org>
96644         Update to Unicode 5.0.
96645         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
96646         code transform. Extend the name index field of unicode_name_to_code and
96647         unicode_code_to_name from 16 to 24 bits.
96648         * lib/uniname/uniname.c (unicode_character_name,
96649         unicode_name_character): Add the range 0x12xxx to the code transform.
96650         * lib/uniname/uninames.h: Regenerated.
96651         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
96653 2007-07-07  Bruno Haible  <bruno@clisp.org>
96655         * modules/wcwidth-tests: New file.
96656         * tests/test-wcwidth.c: New file.
96658         Work around MacOS X wcwidth() bug.
96659         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
96660         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
96661         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
96662         original wcwidth in non-UTF-8 locales.
96663         * modules/wcwidth (Depends-on): Add localcharset, streq,
96664         uniwidth/width.
96665         * doc/functions/wcwidth.texi: Update.
96667 2007-07-07  Bruno Haible  <bruno@clisp.org>
96669         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
96670         (wcwidth): New declaration.
96671         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
96672         macros.
96673         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
96674         here. Prepare for creating <wchar.h> unconditionally.
96675         * modules/wchar (Depends-on): Add link-warning.
96676         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
96677         REPLACE_WCWIDTH, and GL_LINK_WARNING.
96678         * lib/wcwidth.h: Remove file.
96679         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
96680         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
96681         * modules/wcwidth (Files): Remove lib/wcwidth.h.
96682         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
96683         (Include): Replace wcwidth.h with <wchar.h>.
96684         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
96685         * lib/mbchar.h: Don't include wcwidth.h.
96686         * lib/mbswidth.c: Likewise.
96687         * NEWS: Mention the change.
96689 2007-07-07  Bruno Haible  <bruno@clisp.org>
96691         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
96692         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
96693         definition with an external declaration.
96694         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
96695         defined as a function. Remove AC_C_INLINE requirement.
96696         * modules/wcwidth (Files): Add lib/wcwidth.c.
96697         (Makefile.am): Remove redundant statement.
96699 2007-07-07  Bruno Haible  <bruno@clisp.org>
96701         * MODULES.html.sh (Unicode string functions): Add the new modules.
96703         * tests/uniwidth/test-u32-strwidth.c: New file.
96704         * modules/uniwidth/u32-strwidth-tests: New file.
96706         * lib/uniwidth/u32-strwidth.c: New file.
96707         * modules/uniwidth/u32-strwidth: New file.
96709         * tests/uniwidth/test-u16-strwidth.c: New file.
96710         * modules/uniwidth/u16-strwidth-tests: New file.
96712         * lib/uniwidth/u16-strwidth.c: New file.
96713         * modules/uniwidth/u16-strwidth: New file.
96715         * tests/uniwidth/test-u8-strwidth.c: New file.
96716         * modules/uniwidth/u8-strwidth-tests: New file.
96718         * lib/uniwidth/u8-strwidth.c: New file.
96719         * modules/uniwidth/u8-strwidth: New file.
96721         * tests/uniwidth/test-u32-width.c: New file.
96722         * modules/uniwidth/u32-width-tests: New file.
96724         * lib/uniwidth/u32-width.c: New file.
96725         * modules/uniwidth/u32-width: New file.
96727         * tests/uniwidth/test-u16-width.c: New file.
96728         * modules/uniwidth/u16-width-tests: New file.
96730         * lib/uniwidth/u16-width.c: New file.
96731         * modules/uniwidth/u16-width: New file.
96733         * tests/uniwidth/test-u8-width.c: New file.
96734         * modules/uniwidth/u8-width-tests: New file.
96736         * lib/uniwidth/u8-width.c: New file.
96737         * modules/uniwidth/u8-width: New file.
96739         * tests/uniwidth/test-uc_width.c: New file.
96740         * modules/uniwidth/width-tests: New file.
96742         * lib/uniwidth/width.c: New file, from GNU libiconv.
96743         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
96744         * modules/uniwidth/width: New file.
96746         * lib/uniwidth.h: New file, from GNU libiconv.
96747         * modules/uniwidth/base: New file.
96749 2007-07-07  Bruno Haible  <bruno@clisp.org>
96751         * lib/uniname.h: New file, from GNU gettext.
96752         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
96753         * lib/uniname/uninames.h: New file, from GNU gettext.
96754         * lib/uniname/uniname.c: New file, from GNU gettext.
96755         * tests/uniname/test-uninames.sh: New file.
96756         * tests/uniname/test-uninames.c: New file, from GNU gettext.
96757         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
96758         * modules/uniname/base: New file.
96759         * modules/uniname/uniname: New file.
96760         * modules/uniname/uniname-tests: New file.
96761         * MODULES.html.sh (Unicode string functions): Add the new modules.
96763 2007-07-06  Bruno Haible  <bruno@clisp.org>
96765         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
96767 2007-07-06  Bruno Haible  <bruno@clisp.org>
96769         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
96770         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
96771         includes <cygwin/sys_time.h> which includes <sys/select.h> which
96772         include <sys/time.h>.
96773         Reported by Eric Blake.
96775 2007-07-06  Eric Blake  <ebb9@byu.net>
96777         Fix testing canonicalize on cygwin.
96778         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
96779         Revert patch from 2007-06-19.
96780         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
96781         canonicalize module is also in use.
96782         * tests/test-canonicalize.c: New file.
96783         * tests/test-canonicalize.sh: Likewise.
96784         * modules/canonicalize-tests: Likewise.
96786 2007-07-06  Jim Meyering  <jim@meyering.net>
96788         * lib/getugroups.c (getugroups): Detect getgrent failure.
96789         Adjust comment to reflect reality: this function may return -1.
96791 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
96793         * build-aux/bootstrap (TP_URL,get_translations): Update to use
96794         the new TP address.
96795         (usage): Fix typo
96796         (gnulib_mk): New variable.
96798 2007-07-05  Jim Meyering  <jim@meyering.net>
96800         Don't let endgrent clobber errno, no matter how improbable.
96801         * lib/getugroups.c (getugroups): Save and restore errno around
96802         endgrent call.
96804         Close the group DB even when failing with 2^31 or more members.
96805         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
96807 2007-07-04  Jim Meyering  <jim@meyering.net>
96809         * lib/getugroups.h: New file.
96810         * lib/getugroups.c: Include "getugroups.h".
96811         Remove uses of "register" keyword.
96812         Move local variable, "cp", down into scope where used.
96813         Give "username" parameter the "const" attribute.
96814         * modules/getugroups (Files): Add lib/getugroups.h
96816 2007-07-04  Karl Berry  <karl@gnu.org>
96818         * MODULES.html.sh (func_all_modules): Complete rename of
96819         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
96821 2007-07-02  Bruno Haible  <bruno@clisp.org>
96823         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
96824         mode, when inttypes.h comes from gnulib.
96825         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
96827 2007-07-02  Simon Josefsson  <simon@josefsson.org>
96829         * NEWS: Mention lgpl module name change.
96831         * modules/lgpl-2.1: Renamed from lgpl.
96833         * NEWS: Mention gpl module name change.
96835         * modules/gpl-3.0: New file, based on gpl-2.0.
96837         * modules/gpl-2.0: Renamed from gpl.
96839         * modules/gpl: Fix filename, doc/gpl.texi is now found at
96840         doc/gpl-2.0.texi.
96842 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
96844         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
96845         #define __STDC_LIMIT_MACROS temporarily while including
96846         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
96847         Problem reported by Joel E. Denny in
96848         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
96850 2007-07-01  Bruno Haible  <bruno@clisp.org>
96852         * lib/unistdio.h: New file.
96853         * lib/unistdio/u-asnprintf.h: New file.
96854         * lib/unistdio/u-asprintf.h: New file.
96855         * lib/unistdio/u-printf-args.c: New file.
96856         * lib/unistdio/u-printf-args.h: New file.
96857         * lib/unistdio/u-printf-parse.h: New file.
96858         * lib/unistdio/u-snprintf.h: New file.
96859         * lib/unistdio/u-sprintf.h: New file.
96860         * lib/unistdio/u-vasprintf.h: New file.
96861         * lib/unistdio/u-vsnprintf.h: New file.
96862         * lib/unistdio/u-vsprintf.h: New file.
96863         * lib/unistdio/ulc-asnprintf.c: New file.
96864         * lib/unistdio/ulc-asprintf.c: New file.
96865         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
96866         * lib/unistdio/ulc-printf-parse.c: New file.
96867         * lib/unistdio/ulc-snprintf.c: New file.
96868         * lib/unistdio/ulc-sprintf.c: New file.
96869         * lib/unistdio/ulc-vasnprintf.c: New file.
96870         * lib/unistdio/ulc-vasprintf.c: New file.
96871         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
96872         * lib/unistdio/ulc-vsnprintf.c: New file.
96873         * lib/unistdio/ulc-vsprintf.c: New file.
96874         * lib/unistdio/u8-asnprintf.c: New file.
96875         * lib/unistdio/u8-asprintf.c: New file.
96876         * lib/unistdio/u8-printf-parse.c: New file.
96877         * lib/unistdio/u8-snprintf.c: New file.
96878         * lib/unistdio/u8-sprintf.c: New file.
96879         * lib/unistdio/u8-vasnprintf.c: New file.
96880         * lib/unistdio/u8-vasprintf.c: New file.
96881         * lib/unistdio/u8-vsnprintf.c: New file.
96882         * lib/unistdio/u8-vsprintf.c: New file.
96883         * lib/unistdio/u8-u8-asnprintf.c: New file.
96884         * lib/unistdio/u8-u8-asprintf.c: New file.
96885         * lib/unistdio/u8-u8-snprintf.c: New file.
96886         * lib/unistdio/u8-u8-sprintf.c: New file.
96887         * lib/unistdio/u8-u8-vasnprintf.c: New file.
96888         * lib/unistdio/u8-u8-vasprintf.c: New file.
96889         * lib/unistdio/u8-u8-vsnprintf.c: New file.
96890         * lib/unistdio/u8-u8-vsprintf.c: New file.
96891         * lib/unistdio/u16-asnprintf.c: New file.
96892         * lib/unistdio/u16-asprintf.c: New file.
96893         * lib/unistdio/u16-printf-parse.c: New file.
96894         * lib/unistdio/u16-snprintf.c: New file.
96895         * lib/unistdio/u16-sprintf.c: New file.
96896         * lib/unistdio/u16-vasnprintf.c: New file.
96897         * lib/unistdio/u16-vasprintf.c: New file.
96898         * lib/unistdio/u16-vsnprintf.c: New file.
96899         * lib/unistdio/u16-vsprintf.c: New file.
96900         * lib/unistdio/u16-u16-asnprintf.c: New file.
96901         * lib/unistdio/u16-u16-asprintf.c: New file.
96902         * lib/unistdio/u16-u16-snprintf.c: New file.
96903         * lib/unistdio/u16-u16-sprintf.c: New file.
96904         * lib/unistdio/u16-u16-vasnprintf.c: New file.
96905         * lib/unistdio/u16-u16-vasprintf.c: New file.
96906         * lib/unistdio/u16-u16-vsnprintf.c: New file.
96907         * lib/unistdio/u16-u16-vsprintf.c: New file.
96908         * lib/unistdio/u32-asnprintf.c: New file.
96909         * lib/unistdio/u32-asprintf.c: New file.
96910         * lib/unistdio/u32-printf-parse.c: New file.
96911         * lib/unistdio/u32-snprintf.c: New file.
96912         * lib/unistdio/u32-sprintf.c: New file.
96913         * lib/unistdio/u32-vasnprintf.c: New file.
96914         * lib/unistdio/u32-vasprintf.c: New file.
96915         * lib/unistdio/u32-vsnprintf.c: New file.
96916         * lib/unistdio/u32-vsprintf.c: New file.
96917         * lib/unistdio/u32-u32-asnprintf.c: New file.
96918         * lib/unistdio/u32-u32-asprintf.c: New file.
96919         * lib/unistdio/u32-u32-snprintf.c: New file.
96920         * lib/unistdio/u32-u32-sprintf.c: New file.
96921         * lib/unistdio/u32-u32-vasnprintf.c: New file.
96922         * lib/unistdio/u32-u32-vasprintf.c: New file.
96923         * lib/unistdio/u32-u32-vsnprintf.c: New file.
96924         * lib/unistdio/u32-u32-vsprintf.c: New file.
96925         * tests/unistdio/test-ulc-asnprintf1.c: New file.
96926         * tests/unistdio/test-ulc-asnprintf1.h: New file.
96927         * tests/unistdio/test-ulc-printf1.h: New file.
96928         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
96929         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
96930         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
96931         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
96932         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
96933         * tests/unistdio/test-ulc-vasprintf1.c: New file.
96934         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
96935         * tests/unistdio/test-ulc-vsprintf1.c: New file.
96936         * tests/unistdio/test-u8-asnprintf1.c: New file.
96937         * tests/unistdio/test-u8-asnprintf1.h: New file.
96938         * tests/unistdio/test-u8-printf1.h: New file.
96939         * tests/unistdio/test-u8-vasnprintf1.c: New file.
96940         * tests/unistdio/test-u8-vasnprintf2.c: New file.
96941         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
96942         * tests/unistdio/test-u8-vasnprintf3.c: New file.
96943         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
96944         * tests/unistdio/test-u8-vasprintf1.c: New file.
96945         * tests/unistdio/test-u8-vsnprintf1.c: New file.
96946         * tests/unistdio/test-u8-vsprintf1.c: New file.
96947         * tests/unistdio/test-u16-asnprintf1.c: New file.
96948         * tests/unistdio/test-u16-asnprintf1.h: New file.
96949         * tests/unistdio/test-u16-printf1.h: New file.
96950         * tests/unistdio/test-u16-vasnprintf1.c: New file.
96951         * tests/unistdio/test-u16-vasnprintf2.c: New file.
96952         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
96953         * tests/unistdio/test-u16-vasnprintf3.c: New file.
96954         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
96955         * tests/unistdio/test-u16-vasprintf1.c: New file.
96956         * tests/unistdio/test-u16-vsnprintf1.c: New file.
96957         * tests/unistdio/test-u16-vsprintf1.c: New file.
96958         * tests/unistdio/test-u32-asnprintf1.c: New file.
96959         * tests/unistdio/test-u32-asnprintf1.h: New file.
96960         * tests/unistdio/test-u32-printf1.h: New file.
96961         * tests/unistdio/test-u32-vasnprintf1.c: New file.
96962         * tests/unistdio/test-u32-vasnprintf2.c: New file.
96963         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
96964         * tests/unistdio/test-u32-vasnprintf3.c: New file.
96965         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
96966         * tests/unistdio/test-u32-vasprintf1.c: New file.
96967         * tests/unistdio/test-u32-vsnprintf1.c: New file.
96968         * tests/unistdio/test-u32-vsprintf1.c: New file.
96969         * modules/unistdio/base: New file.
96970         * modules/unistdio/u-printf-args: New file.
96971         * modules/unistdio/ulc-asnprintf: New file.
96972         * modules/unistdio/ulc-asprintf: New file.
96973         * modules/unistdio/ulc-fprintf: New file.
96974         * modules/unistdio/ulc-printf-parse: New file.
96975         * modules/unistdio/ulc-snprintf: New file.
96976         * modules/unistdio/ulc-sprintf: New file.
96977         * modules/unistdio/ulc-vasnprintf: New file.
96978         * modules/unistdio/ulc-vasprintf: New file.
96979         * modules/unistdio/ulc-vfprintf: New file.
96980         * modules/unistdio/ulc-vsnprintf: New file.
96981         * modules/unistdio/ulc-vsprintf: New file.
96982         * modules/unistdio/u8-asnprintf: New file.
96983         * modules/unistdio/u8-asprintf: New file.
96984         * modules/unistdio/u8-printf-parse: New file.
96985         * modules/unistdio/u8-snprintf: New file.
96986         * modules/unistdio/u8-sprintf: New file.
96987         * modules/unistdio/u8-vasnprintf: New file.
96988         * modules/unistdio/u8-vasprintf: New file.
96989         * modules/unistdio/u8-vsnprintf: New file.
96990         * modules/unistdio/u8-vsprintf: New file.
96991         * modules/unistdio/u8-u8-asnprintf: New file.
96992         * modules/unistdio/u8-u8-asprintf: New file.
96993         * modules/unistdio/u8-u8-snprintf: New file.
96994         * modules/unistdio/u8-u8-sprintf: New file.
96995         * modules/unistdio/u8-u8-vasnprintf: New file.
96996         * modules/unistdio/u8-u8-vasprintf: New file.
96997         * modules/unistdio/u8-u8-vsnprintf: New file.
96998         * modules/unistdio/u8-u8-vsprintf: New file.
96999         * modules/unistdio/u16-asnprintf: New file.
97000         * modules/unistdio/u16-asprintf: New file.
97001         * modules/unistdio/u16-printf-parse: New file.
97002         * modules/unistdio/u16-snprintf: New file.
97003         * modules/unistdio/u16-sprintf: New file.
97004         * modules/unistdio/u16-vasnprintf: New file.
97005         * modules/unistdio/u16-vasprintf: New file.
97006         * modules/unistdio/u16-vsnprintf: New file.
97007         * modules/unistdio/u16-vsprintf: New file.
97008         * modules/unistdio/u16-u16-asnprintf: New file.
97009         * modules/unistdio/u16-u16-asprintf: New file.
97010         * modules/unistdio/u16-u16-snprintf: New file.
97011         * modules/unistdio/u16-u16-sprintf: New file.
97012         * modules/unistdio/u16-u16-vasnprintf: New file.
97013         * modules/unistdio/u16-u16-vasprintf: New file.
97014         * modules/unistdio/u16-u16-vsnprintf: New file.
97015         * modules/unistdio/u16-u16-vsprintf: New file.
97016         * modules/unistdio/u32-asnprintf: New file.
97017         * modules/unistdio/u32-asprintf: New file.
97018         * modules/unistdio/u32-printf-parse: New file.
97019         * modules/unistdio/u32-snprintf: New file.
97020         * modules/unistdio/u32-sprintf: New file.
97021         * modules/unistdio/u32-vasnprintf: New file.
97022         * modules/unistdio/u32-vasprintf: New file.
97023         * modules/unistdio/u32-vsnprintf: New file.
97024         * modules/unistdio/u32-vsprintf: New file.
97025         * modules/unistdio/u32-u32-asnprintf: New file.
97026         * modules/unistdio/u32-u32-asprintf: New file.
97027         * modules/unistdio/u32-u32-snprintf: New file.
97028         * modules/unistdio/u32-u32-sprintf: New file.
97029         * modules/unistdio/u32-u32-vasnprintf: New file.
97030         * modules/unistdio/u32-u32-vasprintf: New file.
97031         * modules/unistdio/u32-u32-vsnprintf: New file.
97032         * modules/unistdio/u32-u32-vsprintf: New file.
97033         * modules/unistdio/ulc-asnprintf-tests: New file.
97034         * modules/unistdio/ulc-vasnprintf-tests: New file.
97035         * modules/unistdio/ulc-vasprintf-tests: New file.
97036         * modules/unistdio/ulc-vsnprintf-tests: New file.
97037         * modules/unistdio/ulc-vsprintf-tests: New file.
97038         * modules/unistdio/u8-asnprintf-tests: New file.
97039         * modules/unistdio/u8-vasnprintf-tests: New file.
97040         * modules/unistdio/u8-vasprintf-tests: New file.
97041         * modules/unistdio/u8-vsnprintf-tests: New file.
97042         * modules/unistdio/u8-vsprintf-tests: New file.
97043         * modules/unistdio/u16-asnprintf-tests: New file.
97044         * modules/unistdio/u16-vasnprintf-tests: New file.
97045         * modules/unistdio/u16-vasprintf-tests: New file.
97046         * modules/unistdio/u16-vsnprintf-tests: New file.
97047         * modules/unistdio/u16-vsprintf-tests: New file.
97048         * modules/unistdio/u32-asnprintf-tests: New file.
97049         * modules/unistdio/u32-vasnprintf-tests: New file.
97050         * modules/unistdio/u32-vasprintf-tests: New file.
97051         * modules/unistdio/u32-vsnprintf-tests: New file.
97052         * modules/unistdio/u32-vsprintf-tests: New file.
97053         * MODULES.html.sh (Unicode string functions): Add the new modules.
97055 2007-07-01  Bruno Haible  <bruno@clisp.org>
97057         * lib/sprintf.c (sprintf): Limit the available length estimation,
97058         to avoid address wraparound.
97059         * lib/vsprintf.c (vsprintf): Likewise.
97060         * modules/sprintf-posix (Dependencies): Add stdint.
97061         * modules/vsprintf-posix (Dependencies): Likewise.
97063 2007-07-01  Bruno Haible  <bruno@clisp.org>
97065         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
97066         Windows PATH as well. Conservative double-quoting. Comments.
97068 2007-07-01  Bruno Haible  <bruno@clisp.org>
97069             Eric Blake  <ebb9@byu.net>
97070             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97072         * gnulib-tool (self_abspathname): Fix algorithm to cope with
97073         empty components in $PATH, denoting '.'.
97075 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97077         * gnulib-tool: Fix indentation.
97078         (func_create_megatestdir): Likewise.
97079         Report by Bruno Haible.
97081 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97083         Sync from Automake.
97084         * build-aux/gnupload: Fix shell portability issues with for loops.
97085         Report by Karl Berry.
97087 2007-06-29  Simon Josefsson  <simon@josefsson.org>
97089         * build-aux/maint.mk (POURL): Use translationproject.org.
97091 2007-06-27  Simon Josefsson  <simon@josefsson.org>
97092             Bruno Haible  <bruno@clisp.org>
97094         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
97095         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
97096         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
97097         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
97098         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
97100 2007-06-27  Bruno Haible  <bruno@clisp.org>
97102         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
97103         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
97105 2007-06-26  Karl Berry  <karl@gnu.org>
97107         * MODULES.html.sh: remove xreadlink-with-size.
97109 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
97111         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
97112         method that I hope also handles the double-include problem noted
97113         by Bruno Haible in
97114         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
97116 2007-06-23  Bruno Haible  <bruno@clisp.org>
97118         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97119         Don't let the 'mostlyclean' target fail if the last subdirectory could
97120         not be removed.
97121         Reported by Karl Berry.
97123 2007-06-23  Bruno Haible  <bruno@clisp.org>
97125         * gnulib-tool (echo): Add a speedier workaround for ksh.
97126         * tests/test-echo.sh: Likewise.
97128 2007-06-23  Bruno Haible  <bruno@clisp.org>
97130         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
97131         * tests/test-echo.sh: Likewise.
97133 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97135         * gnulib-tool (IFS): Initialize early, so we don't set it to
97136         empty later.
97137         (self_abspathname): Rewrite algorithm to set it, reindent.
97138         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
97139         (func_create_megatestdir): Merge some sed scripts.
97141 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
97143         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
97144         exposed by Sun Studio 11 cc on Solaris 8.
97146 2007-06-22  Bruno Haible  <bruno@clisp.org>
97148         * gnulib-tool (echo): Ensure the echo primitive does not interpret
97149         backslashes.
97150         * tests/test-echo.sh: New file.
97152 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97154         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
97155         simplify `sed_replace_build_aux' scripts, they are portable but
97156         echoing them with `echo' is not.
97157         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
97159 2007-06-21  Karl Berry  <karl@gnu.org>
97161         * config/srclist.txt: guess we can't handle the licenses via
97162         srclist at the moment.
97164 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
97166         * MODULES.html.sh: Add include_next.
97167         * modules/include_next: New file.
97169 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
97171         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
97172         INCLUDE_NEXT.
97173         (gl_CHECK_NEXT_HEADERS): New macro.
97174         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
97175         the obsolescent gl_ABSOLUTE_HEADER.
97176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
97177         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
97178         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
97179         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
97180         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
97181         * m4/math_h.m4 (gl_MATH_H): Likewise.
97182         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
97183         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
97184         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
97185         * m4/stdint.m4 (gl_STDINT_H): Likewise.
97186         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
97187         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
97188         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
97189         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
97190         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
97191         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
97192         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
97193         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
97194         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
97195         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
97196         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
97197         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
97198         * m4/inttypes.m4 (gl_INTTYPES_H): Define
97199         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
97200         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
97201         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
97202         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
97203         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
97204         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
97205         * lib/float_.h: Likewise.
97206         * lib/inttypes_.h: Likewise.
97207         * lib/math_.h: Likewise.
97208         * lib/search_.h: Likewise.
97209         * lib/signal_.h: Likewise.
97210         * lib/stdint_.h: Likewise.
97211         * lib/stdio_.h: Likewise.
97212         * lib/stdlib_.h: Likewise.
97213         * lib/string_.h: Likewise.
97214         * lib/sys_stat_.h: Likewise.
97215         * lib/sys_time_.h: Likewise.
97216         * lib/time_.h: Likewise.
97217         * lib/unistd_.h: Likewise.
97218         * lib/wchar_.h: Likewise.
97219         * lib/wctype_.h: Likewise.
97220         * lib/dirent_.h: Likewise.
97221         * lib/iconv_.h: Likewise.
97222         * lib/locale_.h: Likewise.
97223         * lib/netinet_in_.h: Likewise.
97224         * lib/sys_select_.h: Likewise.
97225         * lib/sys_socket_.h: Likewise.
97226         * lib/sysexits_.h: Likewise.
97227         * modules/fcntl (Depends-on): Depend on include_next, not
97228         absolute_header.
97229         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
97230         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
97231         * modules/fchdir: Likewise.
97232         * modules/float: Likewise.
97233         * modules/iconv_open: Likewise.
97234         * modules/inttypes: Likewise.
97235         * modules/locale: Likewise.
97236         * modules/math: Likewise.
97237         * modules/netinet_in: Likewise.
97238         * modules/search: Likewise.
97239         * modules/signal: Likewise.
97240         * modules/stdint: Likewise.
97241         * modules/stdio: Likewise.
97242         * modules/stdlib: Likewise.
97243         * modules/string: Likewise.
97244         * modules/sys_select: Likewise.
97245         * modules/sys_socket: Likewise.
97246         * modules/sys_stat: Likewise.
97247         * modules/sys_time: Likewise.
97248         * modules/sysexits: Likewise.
97249         * modules/time: Likewise.
97250         * modules/unistd: Likewise.
97251         * modules/wchar: Likewise.
97252         * modules/wctype: Likewise.
97253         * modules/sys_stat: Change maintainer to "all".
97254         * modules/unistd: Likewise.
97256 2007-06-20  Karl Berry  <karl@gnu.org>
97258         * config/srclist.txt: track www changes in license files.
97260 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
97262         * build-aux/bootstrap: Remove stray dot.
97263         Make sure build_aux settings are honored when linking
97264         gnulib_extra_files.
97266 2007-06-19  Eric Blake  <ebb9@byu.net>
97268         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
97269         Allow compilation on cygwin.
97271 2007-06-19  Jim Meyering  <jim@meyering.net>
97273         xreadlink-with-size: Remove module.  No longer used.
97274         Ex-callers now use xreadlink or mreadlink-with-size.
97275         * modules/xreadlink-with-size: Remove module.
97276         * lib/xreadlink-with-size.c: Remove file.
97277         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
97278         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
97279         just before the function definition *is* accurate.
97281         Eliminate one way canonicalize_filename_mode could exit.
97282         * lib/canonicalize.c (canonicalize_filename_mode):
97283         Use mreadlink_with_size, not xreadlink_with_size.
97285 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
97287         Detect porting problems to FreeBSD/arm, which has time_t wider than
97288         long int.  Original problem reported for GNU diff by Xin Li in
97289         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
97290         * modules/getdate (Depends-on): Add intprops, verify.
97291         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
97292         is an integer type no wider than long int.
97294 2007-06-18  Jim Meyering  <jim@meyering.net>
97296         New module: mreadlink-with-size.
97297         * MODULES.html.sh: Add mreadlink-with-size.
97298         * modules/mreadlink-with-size: New module
97299         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
97300         not xreadlink-with-size.
97301         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
97303 2007-06-16  Bruno Haible  <bruno@clisp.org>
97305         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
97306         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
97307         Reported by Gary V. Vaughan <gary@gnu.org>.
97309 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
97311         Revamp lchown so that it lives in unistd.h where it belongs.
97312         * lib/lchown.h: Remove.
97313         * lib/dirchownmod.c: Don't include lib/lchown.h.
97314         * lib/fchownat.c: Likewise.
97315         * lib/openat.c: Likewise.
97316         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
97317         does not follow symlinks.
97318         (EOPNOTSUPP): Define if not defined.
97319         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
97320         is defined to 0.
97321         (lchown): New decl.
97322         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
97323         Do not check for lchown decl.
97324         Set REPLACE_LCHOWN.
97325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
97326         REPLACE_LCHOWN.
97327         * modules/chown: Make it clear it follows symlinks.
97328         * modules/lchown: Make it clear it doesn't follow symlinks.
97329         (Files): Remove lib/lchown.h
97330         (Depends-on): Add unistd.
97331         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
97332         (Include): Include <unistd.h>, not "lchown.h".
97333         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
97334         REPLACE_LCHOWN.
97336 2007-06-15  Jim Meyering  <jim@meyering.net>
97338         Change license (GPL to LGPL) of fsusage and dependents.
97339         * modules/fsusage (License): Change to LGPL.
97340         * modules/full-read (License): Likewise.
97341         * modules/full-write (License): Likewise.
97342         * modules/safe-read (License): Likewise.
97343         * modules/safe-write (License): Likewise.
97345 2007-06-14  Ben Pfaff  <blp@gnu.org>
97347         Missing part of allocsa -> malloca transition.
97348         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
97349         gl_MALLOCA.
97351 2007-06-12  Bruno Haible  <bruno@clisp.org>
97353         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
97354         to ia64, x86_64, i386.
97355         Reported by Eric Blake.
97357 2007-06-12  Bruno Haible  <bruno@clisp.org>
97359         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
97360         cross-compiling to x86_64.
97362 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
97364         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
97365         glitch reported by Ralf Wildenhues in
97366         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
97368         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
97369         Vin Shelton.
97371 2007-06-11  Bruno Haible  <bruno@clisp.org>
97373         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
97374         replacement string.
97375         Reported by Eric Blake.
97377 2007-06-10  Bruno Haible  <bruno@clisp.org>
97379         Prepare vasnprintf code for use with Unicode strings.
97380         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
97381         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
97382         TYPE_U32_STRING.
97383         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
97384         a_u32_string variants.
97385         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
97386         * lib/printf-args.c: Don't include config.h and the specification
97387         header if PRINTF_FETCHARGS is already defined.
97388         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
97389         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
97390         TYPE_U16_STRING, TYPE_U32_STRING.
97391         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
97392         u16_directive, u16_directives, u32_directive, u32_directives): New
97393         types.
97394         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
97395         New declarations.
97396         * lib/printf-parse.c: Don't include config.h and the specification
97397         header if PRINTF_PARSE is already defined. Eliminate the set of
97398         parameters for WIDE_CHAR_VERSION; the user of this file must provide
97399         them now. Include c-ctype.h.
97400         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
97401         directive and CHAR_T_ONLY_ASCII.
97402         * lib/vasnprintf.c: Don't include config.h and the specification header
97403         if VASNPRINTF is already defined.
97404         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
97405         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
97406         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
97407         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
97408         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
97409         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
97410         code accordingly.
97411         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
97412         pad_ourselves also in this case, with the 'c' and 's' directives, and
97413         with a different notion of "width".
97414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
97416 2007-06-10  Bruno Haible  <bruno@clisp.org>
97418         * modules/unistr/u32-mbsnlen: New file.
97419         * lib/unistr/u32-mbsnlen.c: New file.
97421         * modules/unistr/u16-mbsnlen: New file.
97422         * lib/unistr/u16-mbsnlen.c: New file.
97424         * modules/unistr/u8-mbsnlen: New file.
97425         * lib/unistr/u8-mbsnlen.c: New file.
97427         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
97428         declarations.
97430 2007-06-10  Bruno Haible  <bruno@clisp.org>
97432         * lib/string_.h (mbsnlen): New declaration.
97433         * lib/mbsnlen.c: New file.
97434         * m4/mbsnlen.m4: New file.
97435         * modules/mbsnlen: New file.
97436         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
97437         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
97438         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
97440 2007-06-10  Bruno Haible  <bruno@clisp.org>
97442         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
97444 2007-06-10  Bruno Haible  <bruno@clisp.org>
97446         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
97447         * lib/mbuiter.h: Likewise.
97449 2007-06-10  Bruno Haible  <bruno@clisp.org>
97451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
97452         declaration.
97454 2007-06-10  Karl Berry  <karl@gnu.org>
97456         * config/srclist.txt: remove gettext entries, Bruno prefers
97457         to update individually.
97459 2007-06-10  Bruno Haible  <bruno@clisp.org>
97461         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
97462         'maxlen'. Ensure only length + width bytes are allocated, not
97463         length + 1 + width.
97465 2007-06-09  Bruno Haible  <bruno@clisp.org>
97467         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
97468         (CHAR_T): Remove macro.
97469         (VASNPRINTF): Update.
97471 2007-06-09  Bruno Haible  <bruno@clisp.org>
97473         * MODULES.html.sh (Unicode string functions): Add the new modules.
97475         * modules/uniconv/u32-conv-to-enc: New file.
97476         * lib/uniconv/u32-conv-to-enc.c: New file.
97477         * modules/uniconv/u32-conv-to-enc-tests: New file.
97478         * tests/uniconv/test-u32-conv-to-enc.c: New file.
97480         * modules/uniconv/u16-conv-to-enc: New file.
97481         * lib/uniconv/u16-conv-to-enc.c: New file.
97482         * lib/uniconv/u-conv-to-enc.h: New file.
97483         * modules/uniconv/u16-conv-to-enc-tests: New file.
97484         * tests/uniconv/test-u16-conv-to-enc.c: New file.
97486         * modules/uniconv/u8-conv-to-enc: New file.
97487         * lib/uniconv/u8-conv-to-enc.c: New file.
97488         * modules/uniconv/u8-conv-to-enc-tests: New file.
97489         * tests/uniconv/test-u8-conv-to-enc.c: New file.
97491         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
97492         u32_conv_to_encoding): New declarations.
97494 2007-06-09  Bruno Haible  <bruno@clisp.org>
97496         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
97498 2007-06-09  Bruno Haible  <bruno@clisp.org>
97500         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
97501         * modules/malloca: Renamed from modules/allocsa, updated.
97502         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
97503         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
97504         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
97505         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
97506         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
97507         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
97508         * modules/xmalloca: Renamed from modules/xallocsa, updated.
97509         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
97510         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
97511         * modules/c-strcasestr (Depends-on): Update.
97512         * lib/c-strcasestr.c: Update.
97513         * modules/c-strstr (Depends-on): Update.
97514         * lib/c-strstr.c: Update.
97515         * modules/canonicalize-lgpl (Depends-on): Update.
97516         * lib/canonicalize-lgpl.c: Update.
97517         * modules/clean-temp (Depends-on): Update.
97518         * lib/clean-temp.c: Update.
97519         * modules/csharpcomp (Depends-on): Update.
97520         * lib/csharpcomp.c: Update.
97521         * modules/csharpexec (Depends-on): Update.
97522         * lib/csharpexec.c: Update.
97523         * modules/javacomp (Depends-on): Update.
97524         * lib/javacomp.c: Update.
97525         * modules/javaexec (Depends-on): Update.
97526         * lib/javaexec.c: Update.
97527         * modules/mbscasestr (Depends-on): Update.
97528         * lib/mbscasestr.c: Update.
97529         * modules/mbsstr (Depends-on): Update.
97530         * lib/mbsstr.c: Update.
97531         * modules/setenv (Depends-on): Update.
97532         * lib/setenv.c: Update.
97533         * modules/strcasestr (Depends-on): Update.
97534         * lib/strcasestr.c: Update.
97535         * modules/striconveha (Depends-on): Update.
97536         * lib/striconveha.c: Update.
97537         * modules/relocatable-prog-wrapper (Files): Update.
97538         * lib/relocwrapper.c: Update.
97539         * build-aux/install-reloc: Update.
97540         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
97542 2007-06-08  Bruno Haible  <bruno@clisp.org>
97544         Port to uClibc.
97545         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
97546         * lib/fpurge.c (fpurge): Likewise.
97547         * lib/freading.c (freading): Likewise.
97548         * lib/fseeko.c (rpl_fseeko): Likewise.
97549         * lib/fseterr.c (fseterr): Likewise.
97550         * lib/fwriting.c (fwriting): Likewise.
97551         * tests/test-fflush.c (main): Avoid a failure on uClibc.
97553 2007-06-08  Bruno Haible  <bruno@clisp.org>
97555         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
97556         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
97557         * modules/gettext (Files): Add m4/intlmacosx.m4.
97559 2007-06-07  Bruno Haible  <bruno@clisp.org>
97561         * modules/localename-tests: New file.
97562         * tests/test-localename.c: New file.
97564         New module 'localename'.
97565         * lib/localename.h: New file.
97566         * lib/localename.c: New file, from GNU gettext.
97567         * m4/localename.m4: New file.
97568         * modules/localename: New file.
97570 2007-06-07  Bruno Haible  <bruno@clisp.org>
97572         Work around the lack of <wchar.h> on some builds of uClibc.
97573         * doc/headers/wchar.texi: Update.
97574         * lib/wchar_.h: Include <wchar.h> only if it exists.
97575         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
97576         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
97577         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
97578         doesn't exist.
97579         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
97580         * modules/mbfile (Depends-on): Add wchar.
97581         * modules/mbiter (Depends-on): Likewise.
97582         * modules/mbuiter (Depends-on): Likewise.
97583         Reported by Simon Josefsson.
97585 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
97587         Work around problem reported by Steven M. Schweda in
97588         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
97589         Tru64 5.1B with the Compaq compiler environment installed declares
97590         an 'isblank' function but does not define it in the C library.
97591         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
97592         * lib/regex_internal.h (isblank): Likewise.
97593         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
97594         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
97596 2007-06-05  Bruno Haible  <bruno@clisp.org>
97598         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
97599         ia64.
97600         * modules/printf-safe: New file.
97601         * modules/fprintf-posix (Depends-on): Add printf-safe.
97602         * modules/printf-posix (Depends-on): Likewise.
97603         * modules/snprintf-posix (Depends-on): Likewise.
97604         * modules/sprintf-posix (Depends-on): Likewise.
97605         * modules/vasnprintf-posix (Depends-on): Likewise.
97606         * modules/vasprintf-posix (Depends-on): Likewise.
97607         * modules/vfprintf-posix (Depends-on): Likewise.
97608         * modules/vprintf-posix (Depends-on): Likewise.
97609         * modules/vsnprintf-posix (Depends-on): Likewise.
97610         * modules/vsprintf-posix (Depends-on): Likewise.
97611         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
97612         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
97613         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
97614         "no" on i386, x86_64, ia64.
97615         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
97616         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
97617         on i386, x86_64, ia64.
97618         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
97619         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
97620         on i386, x86_64, ia64.
97621         * tests/test-vasnprintf-posix.c: Include float.h.
97622         (LDBL80_WORDS): New macro.
97623         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
97624         on i386, x86_64, ia64.
97625         * tests/test-vasprintf-posix.c: Include float.h.
97626         (LDBL80_WORDS): New macro.
97627         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
97628         on i386, x86_64, ia64.
97629         * tests/test-snprintf-posix.c: Include float.h.
97630         * tests/test-sprintf-posix.c: Likewise.
97631         * tests/test-vsnprintf-posix.c: Likewise.
97632         * tests/test-vsprintf-posix.c: Likewise.
97634 2007-06-05  Bruno Haible  <bruno@clisp.org>
97636         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
97637         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
97638         non-IEEE numbers on i386, x86_64, ia64.
97639         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
97640         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
97641         * tests/test-isnanl.h: Include float.h.
97642         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
97644 2007-06-05  Bruno Haible  <bruno@clisp.org>
97646         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
97647         also the %a / %A. Handle the %a / %A code before this extra handling.
97649 2007-06-05  Bruno Haible  <bruno@clisp.org>
97651         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
97652         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
97654 2007-06-05  Bruno Haible  <bruno@clisp.org>
97656         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
97657         typo in variable name.
97659 2007-06-05  Eric Blake  <ebb9@byu.net>
97661         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
97662         Reported by Simon Josefsson.
97664 2007-06-04  Bruno Haible  <bruno@clisp.org>
97666         Avoid test failures on some PowerPC platforms.
97667         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
97668         Define differently for PowerPC.
97669         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
97670         Reported by Gary V. Vaughan <gary@gnu.org>.
97672 2007-06-02  Bruno Haible  <bruno@clisp.org>
97674         Fix test-stdint failure on FreeBSD/ia64.
97675         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
97676         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
97677         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
97678         * doc/headers/stdint.texi: Update.
97680 2007-06-01  Bruno Haible  <bruno@clisp.org>
97682         * tests/test-binary-io.c (main): Pass a third argument to open().
97683         Reported by Gary V. Vaughan <gary@gnu.org>.
97685 2007-06-01  Bruno Haible  <bruno@clisp.org>
97687         * doc/functions/frexpl.texi: Update for mingw.
97689 2007-06-01  Bruno Haible  <bruno@clisp.org>
97691         * tests/test-lseek.c (main): Disable test of errno for invalid third
97692         argument.
97693         * doc/functions/lseek.texi: Update.
97694         Reported by Gary V. Vaughan <gary@gnu.org>.
97696 2007-05-28  Bruno Haible  <bruno@clisp.org>
97698         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
97700 2007-05-31  Eric Blake  <ebb9@byu.net>
97702         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
97703         cross compiling.
97705 2007-05-30  Eric Blake  <ebb9@byu.net>
97706         and Bruno Haible  <bruno@clisp.org>
97708         Work around mingw test failures exposed by m4-1.4.9b.
97709         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
97710         * tests/test-unistd.c: Disable uid_t and git_t tests for the
97711         moment.
97713 2007-05-30  Bruno Haible  <bruno@clisp.org>
97715         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
97716         assuming that they are closed. Needed on HP-UX 11.
97718 2007-05-29  Bruno Haible  <bruno@clisp.org>
97720         Fix a problem with #include_next.
97721         * lib/dirent_.h: Split the double-inclusion guard.
97722         * lib/fcntl_.h: Likewise.
97723         * lib/float_.h: Likewise.
97724         * lib/iconv_.h: Likewise.
97725         * lib/inttypes_.h: Likewise.
97726         * lib/locale_.h: Likewise.
97727         * lib/math_.h: Likewise.
97728         * lib/netinet_in_.h: Likewise.
97729         * lib/search_.h: Likewise.
97730         * lib/signal_.h: Likewise.
97731         * lib/stdint_.h: Likewise.
97732         * lib/stdio_.h: Likewise.
97733         * lib/stdlib_.h: Likewise.
97734         * lib/string_.h: Likewise.
97735         * lib/sys_select_.h: Likewise.
97736         * lib/sys_socket_.h: Likewise.
97737         * lib/sys_stat_.h: Likewise.
97738         * lib/sys_time_.h: Likewise.
97739         * lib/sysexits_.h: Likewise.
97740         * lib/time_.h: Likewise.
97741         * lib/unistd_.h: Likewise.
97742         * lib/wchar_.h: Likewise.
97743         * lib/wctype_.h: Likewise.
97745 2007-05-29  Bruno Haible  <bruno@clisp.org>
97747         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
97748         for the moment.
97750 2007-05-29  Bruno Haible  <bruno@clisp.org>
97752         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
97753         invocation.
97754         Reported by Eric Blake.
97756 2007-05-29  Bruno Haible  <bruno@clisp.org>
97758         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
97759         compiling case.
97761 2007-05-29  Eric Blake  <ebb9@byu.net>
97762             Bruno Haible  <bruno@clisp.org>
97764         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
97765         cross compiles.
97767 2007-05-28  Eric Blake  <ebb9@byu.net>
97769         * modules/closein-tests (test_closein_LDADD): Support test on
97770         cygwin with libtool.
97772 2007-05-28  Bruno Haible  <bruno@clisp.org>
97774         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
97775         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
97776         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
97777         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
97778         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
97779         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
97780         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
97781         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
97782         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
97784 2007-05-28  Eric Blake  <ebb9@byu.net>
97786         Unconditionally include <config.h> in unit tests.
97787         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
97788         * tests/test-allocsa.c, tests/test-arcfour.c,
97789         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
97790         tests/test-array_list.c, tests/test-array_oset.c,
97791         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
97792         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
97793         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
97794         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
97795         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
97796         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
97797         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
97798         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
97799         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
97800         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
97801         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
97802         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
97803         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
97804         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
97805         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
97806         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
97807         test-md5.c, test-memmem.c, test-printf-posix.c,
97808         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
97809         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
97810         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
97811         test-strcasestr.c, test-striconv.c, test-striconveh.c,
97812         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
97813         test-vasnprintf-posix2.c, test-vasnprintf.c,
97814         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
97815         test-vfprintf-posix.c, test-vprintf-posix.c,
97816         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
97817         test-xvasprintf.c: Likewise.
97819 2007-05-28  Bruno Haible  <bruno@clisp.org>
97821         * gnulib-tool (func_import): Remember the --with-tests command-line
97822         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
97823         Reported by Eric Blake.
97825 2007-05-28  Bruno Haible  <bruno@clisp.org>
97827         * modules/ftell-tests: New file.
97828         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
97829         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
97831         * lib/ftell.c: New file.
97832         * modules/ftell: New file.
97833         * m4/ftell.m4: New file.
97834         * doc/functions/ftell.texi: Update.
97835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
97836         REPLACE_FTELL.
97837         * lib/stdio_.h (rpl_ftell): New declaration.
97838         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
97839         REPLACE_FTELL.
97841 2007-05-28  Eric Blake  <ebb9@byu.net>
97843         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
97845 2007-05-28  Bruno Haible  <bruno@clisp.org>
97847         * modules/fseek-tests: New file.
97848         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
97849         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
97851         * lib/fseek.c: New file.
97852         * modules/fseek: New file.
97853         * m4/fseek.m4: New file.
97854         * doc/functions/fseek.texi: Update.
97855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
97856         REPLACE_FSEEK.
97857         * lib/stdio_.h (rpl_fseek): New declaration.
97858         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
97859         REPLACE_FSEEK.
97861 2007-05-28  Bruno Haible  <bruno@clisp.org>
97863         * lib/stdio_.h (fflush): More comments.
97865 2007-05-28  Bruno Haible  <bruno@clisp.org>
97867         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
97868         runtime test.
97870 2007-05-28  Eric Blake  <ebb9@byu.net>
97872         Improve lseek module.
97873         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
97874         * lib/unistd_.h (lseek): Scale back link warning message.
97875         * tests/test-lseek.c: Beef up test.
97876         * tests/test-lseek.sh: Exercise more facets of lseek.
97877         Reported by Bruno Haible.
97879 2007-05-28  Bruno Haible  <bruno@clisp.org>
97881         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
97882         to define.
97884 2007-05-27  Bruno Haible  <bruno@clisp.org>
97886         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
97888 2007-05-27  Bruno Haible  <bruno@clisp.org>
97890         * modules/openmp: New file.
97891         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
97892         Noah Misch.
97894 2007-05-26  Bruno Haible  <bruno@clisp.org>
97896         * modules/chdir-long (Depends-on): Add fchdir.
97897         * modules/chdir-safer (Depends-on): Likewise.
97898         * modules/fts (Depends-on): Likewise.
97899         * modules/fts-lgpl (Depends-on): Likewise.
97900         * modules/openat (Depends-on): Likewise.
97901         * modules/savewd (Depends-on): Likewise.
97903 2007-05-24  Eric Blake  <ebb9@byu.net>
97905         Fix lseek on mingw.
97906         * modules/lseek: New module.
97907         * m4/lseek.m4: New file.
97908         * lib/lseek.c: New file.
97909         * modules/lseek-tests: New file.
97910         * tests/test-lseek.c: New file.
97911         * tests/test-lseek.sh: New file.
97912         * MODULES.html.sh: Document lseek module.
97913         * modules/fflush (Depends-on): Add lseek, fseeko.
97914         * modules/fseeko (Depends-on): Likewise.
97915         * modules/ftello (Depends-on): Likewise.
97916         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
97917         broken.
97918         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
97919         broken.
97920         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
97921         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
97922         * lib/ftello.c (rpl_ftello): Likewise.
97923         * tests/test-fseeko.c (main): Test this.
97924         * tests/test-fseeko.sh: Likewise.
97925         * tests/test-ftello.c (main): Likewise.
97926         * tests/test-ftello.sh: Likewise.
97927         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
97928         implies replacing fseek.
97929         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
97930         HAVE_FTELLO.
97931         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
97932         * modules/unistd (Makefile.am): Likewise.
97933         * lib/unistd_.h (lseek): Declare a replacement.
97934         * doc/functions/lseek.texi (lseek): Document this fix.
97935         * doc/functions/fseek.texi (fseek): Likewise.
97936         * doc/functions/ftell.texi (ftell): Likewise.
97938 2007-05-24  Bruno Haible  <bruno@clisp.org>
97940         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
97941         in the printed representation of a NaN.
97942         * tests/test-vasprintf-posix.c (test_function): Likewise.
97943         * tests/test-snprintf-posix.h (test_function): Likewise.
97944         * tests/test-sprintf-posix.h (test_function): Likewise.
97945         Reported by Eric Blake.
97947 2007-05-23  Eric Blake  <ebb9@byu.net>
97949         Fix fseeko/ftello on cygwin 1.5.24.
97950         * doc/functions/fseeko.texi (fseeko): Document the fix.
97951         * doc/functions/ftello.texi (ftello): Document the fix.
97952         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
97953         * doc/functions/stdout.text (stdout): New file.
97954         * doc/functions/stderr.text (stderr): New file.
97955         * doc/gnulib.texi (Function Substitutes): Use new files.
97956         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
97957         prior to 1.7.0.
97958         * tests/test-ftello.c (main): Likewise for ftello.
97959         * tests/test-fseeko.sh: New file.
97960         * tests/test-ftello.sh: New file.
97961         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
97962         with seekable stdin.
97963         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
97964         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
97965         (gl_REPLACE_FSEEKO): New macro.
97966         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
97967         * modules/fseeko (Files): Distribute fseeko.c.
97968         * modules/ftello (Files): Distribute ftello.c.
97969         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
97970         mode.
97971         * lib/ftello.c (rpl_ftello): New file.
97972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
97973         fseeko, ftello.
97974         (gl_STDIN_LARGE_OFFSET): New macro.
97975         * modules/stdio (Makefile.am): Perform the replacement.
97976         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
97978 2007-05-23  Bruno Haible  <bruno@clisp.org>
97980         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
97981         GNULIB_POSIXCHECK is defined.
97983 2007-05-21  Bruno Haible  <bruno@clisp.org>
97985         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
97986         Check also the output for NaN arguments. When cross-compiling, guess
97987         no on IRIX.
97988         * lib/vasnprintf.c: Update comments.
97989         * tests/test-vasnprintf-posix.c (strisnan): New function.
97990         (test_function): Use it.
97991         * tests/test-vasprintf-posix.c (strisnan): New function.
97992         (test_function): Use it.
97993         * tests/test-snprintf-posix.h (strisnan): New function.
97994         (test_function): Use it.
97995         * tests/test-sprintf-posix.h (strisnan): New function.
97996         (test_function): Use it.
97997         Reported by Eric Blake.
97999 2007-05-20  Bruno Haible  <bruno@clisp.org>
98001         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
98002         numbers that fails on BeOS.
98003         * doc/functions/frexpl.texi: Update.
98005 2007-05-20  Jim Meyering  <jim@meyering.net>
98007         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
98008         forced upon us by glibc-2.6.
98010 2007-05-20  Bruno Haible  <bruno@clisp.org>
98012         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
98013         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
98014         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
98015         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
98016         NEED_PRINTF_INFINITE.
98017         (is_infinitel): New function.
98018         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
98019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
98020         gl_PREREQ_VASNPRINTF_INFINITE.
98021         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
98022         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98023         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
98024         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
98025         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
98026         gl_PREREQ_VASNPRINTF_INFINITE.
98027         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98028         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98029         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98030         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98031         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98032         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98033         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98034         * doc/functions/fprintf.texi: Update.
98035         * doc/functions/printf.texi: Update.
98036         * doc/functions/snprintf.texi: Update.
98037         * doc/functions/sprintf.texi: Update.
98038         * doc/functions/vfprintf.texi: Update.
98039         * doc/functions/vprintf.texi: Update.
98040         * doc/functions/vsnprintf.texi: Update.
98041         * doc/functions/vsprintf.texi: Update.
98043 2007-05-20  Bruno Haible  <bruno@clisp.org>
98045         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
98046         was not found in libc.
98047         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
98049 2007-05-20  Bruno Haible  <bruno@clisp.org>
98051         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
98052         printed as "-nan" instead of "nan".
98053         * tests/test-vasprintf-posix.c (test_function): Likewise.
98054         * tests/test-snprintf-posix.h (test_function): Likewise.
98055         * tests/test-sprintf-posix.h (test_function): Likewise.
98056         Needed for HP-UX 11.
98058 2007-05-20  Jim Meyering  <jim@meyering.net>
98060         Fix buggy test for the fchownat-deref bug.
98061         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
98062         symlink required for the run-test.  Without it, this test would
98063         always declare that fchownat doesn't work, and client code would
98064         unnecessarily use the replacement function with fixed libc.
98065         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
98066         Reported by Greg Schafer.
98068 2007-05-19  Bruno Haible  <bruno@clisp.org>
98070         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
98071         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
98072         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
98073         Needed for IRIX 6.5 and Solaris 2.5.1.
98075 2007-05-19  Bruno Haible  <bruno@clisp.org>
98077         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
98078         (test_function): Skip tests involving -0.0 on platforms where
98079         -0.0 = 0.0.
98080         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
98081         (test_function): Skip tests involving -0.0 on platforms where
98082         -0.0 = 0.0.
98083         * tests/test-snprintf-posix.h (have_minus_zero): New function.
98084         (test_function): Skip tests involving -0.0 on platforms where
98085         -0.0 = 0.0.
98086         * tests/test-sprintf-posix.h (have_minus_zero): New function.
98087         (test_function): Skip tests involving -0.0 on platforms where
98088         -0.0 = 0.0.
98089         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
98090         tests.
98091         * tests/test-printf-posix.h (test_function): Likewise.
98092         * tests/test-printf-posix.output: Remove all -0.0 related results.
98093         Needed for IRIX 6.5.
98095 2007-05-19  Bruno Haible  <bruno@clisp.org>
98097         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
98098         printed as "nan0x7fffffff" instead of "nan".
98099         * tests/test-vasprintf-posix.c (test_function): Likewise.
98100         * tests/test-snprintf-posix.h (test_function): Likewise.
98101         * tests/test-sprintf-posix.h (test_function): Likewise.
98102         * tests/test-fprintf-posix.h (NaN): Remove macro.
98103         (test_function): Remove all NaN related tests.
98104         * tests/test-printf-posix.h (NaN): Remove macro.
98105         (test_function): Remove all NaN related tests.
98106         * tests/test-printf-posix.output: Remove all NaN related results.
98107         Needed for IRIX 6.5.
98109 2007-05-19  Bruno Haible  <bruno@clisp.org>
98111         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
98112         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
98114 2007-05-19  Bruno Haible  <bruno@clisp.org>
98116         * lib/float_.h: New file.
98117         * m4/float_h.m4: New file.
98118         * modules/float: New file.
98119         * modules/isnanl (Dependencies): Add float.
98120         * modules/isnanl-nolibm (Dependencies): Likewise.
98121         * modules/mathl (Dependencies): Likewise.
98122         * modules/printf-frexpl (Dependencies): Likewise.
98123         * modules/signbit (Dependencies): Likewise.
98124         * modules/vasnprintf (Dependencies): Likewise.
98125         * doc/headers/float.texi: Update.
98127 2007-05-19  Jim Meyering  <jim@meyering.net>
98129         * lib/utimens.c (gl_futimens): Rename from futimens,
98130         now that glibc-2.6 declares futimens.
98131         * lib/utimens.h: Likewise.
98133 2007-05-19  Bruno Haible  <bruno@clisp.org>
98135         Avoid test failures on mingw.
98136         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
98137         * tests/test-printf-posix.sh: Likewise.
98138         * tests/test-vfprintf-posix.sh: Likewise.
98139         * tests/test-vprintf-posix.sh: Likewise.
98141 2007-05-19  Bruno Haible  <bruno@clisp.org>
98143         Fix *printf result for NaN, Inf, -0.0 on mingw.
98144         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
98145         * lib/vasnprintf.c: Include math.h and isnan.h.
98146         (is_infinite_or_zero): New function.
98147         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
98148         values in the %f, %F, %e, %E, %g, %G directives.
98149         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
98150         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98151         gl_PRINTF_INFINITE and test its result. Invoke
98152         gl_PREREQ_VASNPRINTF_INFINITE.
98153         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98154         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98155         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98156         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98157         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98158         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98159         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98160         * doc/functions/fprintf.texi: Update.
98161         * doc/functions/printf.texi: Update.
98162         * doc/functions/snprintf.texi: Update.
98163         * doc/functions/sprintf.texi: Update.
98164         * doc/functions/vfprintf.texi: Update.
98165         * doc/functions/vprintf.texi: Update.
98166         * doc/functions/vsnprintf.texi: Update.
98167         * doc/functions/vsprintf.texi: Update.
98169 2007-05-19  Bruno Haible  <bruno@clisp.org>
98171         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
98172         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
98173         Instead of multiplying with 10^k, set extra_zeroes to k.
98174         (scale10_round_long_double): Remove function.
98176 2007-05-18  Bruno Haible  <bruno@clisp.org>
98178         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
98179         introduced on 2007-05-06.
98181 2007-05-18  Bruno Haible  <bruno@clisp.org>
98183         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
98184         %g directives.
98185         * tests/test-vasprintf-posix.c (test_function): Likewise.
98186         * tests/test-snprintf-posix.h (test_function): Likewise.
98187         * tests/test-sprintf-posix.h (test_function): Likewise.
98189 2007-05-18  Bruno Haible  <bruno@clisp.org>
98191         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
98192         (strmatch): New function.
98193         (test_function): Test the %f directive on numbers of various exponents.
98194         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
98195         (strmatch): New function.
98196         (test_function): Test the %f directive on numbers of various exponents.
98197         * tests/test-snprintf-posix.h (strmatch): New function.
98198         (test_function): Test the %f directive on numbers of various exponents.
98199         * tests/test-sprintf-posix.h (strmatch): New function.
98200         (test_function): Test the %f directive on numbers of various exponents.
98201         * tests/test-snprintf-posix.c (SIZEOF): New macro.
98202         * tests/test-sprintf-posix.c (SIZEOF): New macro.
98203         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
98204         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
98206 2007-05-18  Bruno Haible  <bruno@clisp.org>
98208         Add support for 'long double' number output.
98209         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
98210         * lib/vasnprintf.c: Include math.h and float+.h.
98211         (mp_limb_t): New type.
98212         (GMP_LIMB_BITS): New macro.
98213         (mp_twolimb_t): New type.
98214         (GMP_TWOLIMB_BITS): New macro.
98215         (mpn_t): New type.
98216         (multiply, divide, convert_to_decimal, decode_long_double,
98217         scale10_round_long_double, scale10_round_decimal_long_double,
98218         floorlog10l): New functions.
98219         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
98220         for the %f, %F, %e, %E, %g, %G directives.
98221         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
98222         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
98223         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
98224         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
98225         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
98226         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98227         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98228         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98229         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98230         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98231         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98232         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
98233         * modules/snprintf-posix (Depends-on): Likewise.
98234         * modules/sprintf-posix (Depends-on): Likewise.
98235         * modules/vasnprintf-posix (Depends-on): Likewise.
98236         * modules/vasprintf-posix (Depends-on): Likewise.
98237         * modules/vfprintf-posix (Depends-on): Likewise.
98238         * modules/vsnprintf-posix (Depends-on): Likewise.
98239         * modules/vsprintf-posix (Depends-on): Likewise.
98240         * modules/vasnprintf (Files): Add lib/float+.h.
98241         * doc/functions/fprintf.texi: Update.
98242         * doc/functions/printf.texi: Update.
98243         * doc/functions/snprintf.texi: Update.
98244         * doc/functions/sprintf.texi: Update.
98245         * doc/functions/vfprintf.texi: Update.
98246         * doc/functions/vprintf.texi: Update.
98247         * doc/functions/vsnprintf.texi: Update.
98248         * doc/functions/vsprintf.texi: Update.
98250 2007-05-18  Bruno Haible  <bruno@clisp.org>
98252         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
98254 2007-05-18  Bruno Haible  <bruno@clisp.org>
98256         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
98257         for printing 64-bit integers. Needed for mingw.
98259 2007-05-18  Bruno Haible  <bruno@clisp.org>
98261         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
98262         gl_FUNC_FREXPL_WORKS.
98263         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
98265 2007-05-18  Bruno Haible  <bruno@clisp.org>
98267         * modules/frexpl-nolibm-tests: New file.
98269         * modules/frexpl-nolibm: New file.
98270         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
98272 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
98274         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
98275         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
98276         GCC 4.2, which otherwise issues a lot of warnings.
98277         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
98278         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
98279         Likewise.
98280         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
98281         * modules/iconv_open (iconv.h): Likewise.
98282         * modules/locale (locale.h): Likewise.
98283         * modules/netinet_in (netinet/in.h): Likewise.
98284         * modules/sys_select (sys_select.h): Likewise.
98285         * modules/sys_socket (sys/socket.h): Likewise.
98286         * modules/sys_stat (sys/stat.h): Likewise.
98287         * modules/sysexits (sysexits.h): Likewise.
98288         * modules/unistd (unistd.h): Likewise.
98290 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98292         * modules/closein-tests (Makefile.am): Distribute
98293         `test-closein.sh'.
98295 2007-05-17  Bruno Haible  <bruno@clisp.org>
98297         * tests/test-printf-posix.output: Renamed from
98298         tests/test-fprintf-posix.out.
98299         * modules/fprintf-posix-tests: Update.
98300         * modules/printf-posix-tests: Update.
98301         * modules/vfprintf-posix-tests: Update.
98302         * modules/vprintf-posix-tests: Update.
98303         * tests/test-fprintf-posix.sh: Update.
98304         * tests/test-printf-posix.sh: Update.
98305         * tests/test-vfprintf-posix.sh: Update.
98306         * tests/test-vprintf-posix.sh: Update.
98307         Reported by Ralf Wildenhues.
98309 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
98311         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
98312         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
98313         GCC 4.2, which otherwise issues a lot of warnings.
98314         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
98315         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
98316         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
98317         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
98318         it should no longer be needed.
98319         * lib/string_.h: Likewise.
98320         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
98321         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
98322         * modules/inttypes (inttypes.h): Likewise.
98323         * modules/math (math.h): Likewise.
98324         * modules/search (search.h): Likewise.
98325         * modules/signal (signal.h): Likewise.
98326         * modules/stdint (stdint.h): Likewise.
98327         * modules/stdio (stdio.h): Likewise.
98328         * modules/stdlib (stdlib.h): Likewise.
98329         * modules/string (string.h): Likewise.
98330         * modules/sys_time (sys/time.h): Likewise.
98331         * modules/time (time.h): Likewise.
98332         * modules/wchar (wchar.h): Likewise.
98333         * modules/wctype (wtype.h): Likewise.
98335 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
98337         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
98339 2007-05-13  Bruno Haible  <bruno@clisp.org>
98341         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
98342         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
98343         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
98344         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98345         (gl_PREREQ_STRTOK_R): Don't require it here.
98347 2007-05-13  Bruno Haible  <bruno@clisp.org>
98349         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
98350         when used in C++ mode.
98352 2007-05-12  Bruno Haible  <bruno@clisp.org>
98354         * lib/linebuffer.h: Tweak doc.
98355         * lib/linebuffer.c: Likewise.
98357 2007-05-12  James Youngman  <jay@gnu.org>
98359         * lib/linebuffer.c (readlinebuffer_delim): New function,
98360         like readlinebuffer, but use a caller-specified delimiter.
98361         (readlinebuffer): Just call readlinebuffer_delim with '\n'
98362         as the delimiter.
98363         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
98365 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
98367         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
98368         * modules/openat (Files): Remove openat-die.c.
98369         (Depends-on): Add openat-die.
98370         * modules/openat-die: New module.
98372 2007-05-06  Bruno Haible  <bruno@clisp.org>
98374         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
98375         Update with info about Cygwin.
98376         * doc/functions/fprintf.texi: Update.
98377         * doc/functions/printf.texi: Update.
98378         * doc/functions/snprintf.texi: Update.
98379         * doc/functions/sprintf.texi: Update.
98380         * doc/functions/vfprintf.texi: Update.
98381         * doc/functions/vprintf.texi: Update.
98382         * doc/functions/vsnprintf.texi: Update.
98383         * doc/functions/vsprintf.texi: Update.
98384         Reported by Eric Blake.
98386 2007-05-06  Bruno Haible  <bruno@clisp.org>
98388         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
98389         padding ourselves for the floating-point directives.
98390         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
98391         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
98392         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
98393         gl_PRINTF_FLAG_ZERO and test its result. Invoke
98394         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
98395         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98396         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
98397         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98398         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98399         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98400         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98401         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98402         * tests/test-snprintf-posix.h (test_function): Also check the width
98403         and some flags in the %f directive.
98404         * tests/test-sprintf-posix.h (test_function): Likewise.
98405         * tests/test-vasnprintf-posix.c (test_function): Likewise.
98406         * tests/test-vasprintf-posix.c (test_function): Likewise.
98407         * doc/functions/fprintf.texi: Update.
98408         * doc/functions/printf.texi: Update.
98409         * doc/functions/snprintf.texi: Update.
98410         * doc/functions/sprintf.texi: Update.
98411         * doc/functions/vfprintf.texi: Update.
98412         * doc/functions/vprintf.texi: Update.
98413         * doc/functions/vsnprintf.texi: Update.
98414         * doc/functions/vsprintf.texi: Update.
98416 2007-05-06  Bruno Haible  <bruno@clisp.org>
98418         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
98419         pass the ' flag character to sprintf or snprintf.
98420         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
98421         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
98422         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
98423         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
98424         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
98425         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
98426         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
98427         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
98428         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
98429         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
98430         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98431         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
98432         * tests/test-snprintf-posix.h (test_function): Also check the grouping
98433         flag.
98434         * tests/test-sprintf-posix.h (test_function): Likewise.
98435         * tests/test-vasnprintf-posix.c (test_function): Likewise.
98436         * tests/test-vasprintf-posix.c (test_function): Likewise.
98437         * doc/functions/fprintf.texi: Update.
98438         * doc/functions/printf.texi: Update.
98439         * doc/functions/snprintf.texi: Update.
98440         * doc/functions/sprintf.texi: Update.
98441         * doc/functions/vfprintf.texi: Update.
98442         * doc/functions/vprintf.texi: Update.
98443         * doc/functions/vsnprintf.texi: Update.
98444         * doc/functions/vsprintf.texi: Update.
98446 2007-05-01  Bruno Haible  <bruno@clisp.org>
98448         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
98450 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
98452         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
98453         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
98455 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
98457         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
98458         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
98459         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
98461 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
98463         * lib/argp-help.c (struct hol_entry): New member `ord'.
98464         (HOL_ENTRY_PTRCMP): Use ord for comparison
98465         (hol_sort): Initialize ord.
98467 2007-05-01  Bruno Haible  <bruno@clisp.org>
98469         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
98470         Reported by Eric Blake.
98471         * doc/gnulib.texi (Function Substitutes): Update.
98473 2007-05-01  Bruno Haible  <bruno@clisp.org>
98475         * doc/functions.texi: Remove file, now redundant through
98476         doc/functions/*.texi.
98478 2007-05-01  Bruno Haible  <bruno@clisp.org>
98480         * modules/argp (Depends-on): Add sleep.
98482 2007-05-01  Bruno Haible  <bruno@clisp.org>
98484         * modules/sleep-tests: New file.
98485         * tests/test-sleep.c: New file.
98487         * modules/sleep: New file.
98488         * lib/sleep.c: New file.
98489         * m4/sleep.m4: New file.
98490         * lib/unistd_.h (sleep): New declaration.
98491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
98492         HAVE_SLEEP.
98493         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
98494         * doc/functions/sleep.texi: Document the sleep module.
98496 2007-05-01  Bruno Haible  <bruno@clisp.org>
98498         * lib/sigprocmask.h: Remove file.
98499         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
98500         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
98501         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
98502         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
98503         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
98504         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
98505         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
98506         HAVE_SIGSET_T as a shell variable.
98507         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
98508         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
98509         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
98510         (Depends-on): Add signal. Remove verify.
98511         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
98512         (Include): Mention <signal.h> instead of sigprocmask.h.
98513         * NEWS: Mention the change.
98514         * lib/fatal-signal.c: Don't include sigprocmask.h.
98516 2007-05-01  Bruno Haible  <bruno@clisp.org>
98518         * modules/signal: New file.
98519         * lib/signal_.h: New file.
98520         * m4/signal_h.m4: New file.
98522 2007-05-01  Bruno Haible  <bruno@clisp.org>
98524         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
98525         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
98526         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
98527         HAVE_WCTYPE_CTMP_BUG into wctype.h.
98529 2007-05-01  Bruno Haible  <bruno@clisp.org>
98531         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
98532         configure time.
98533         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
98534         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
98535         * modules/sys_stat (Makefile.am): Substitute their values into
98536         sys/stat.h.
98538 2007-05-01  Bruno Haible  <bruno@clisp.org>
98540         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
98541         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
98542         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
98544 2007-05-01  Bruno Haible  <bruno@clisp.org>
98546         * doc/header/assert.texi: Undo last change: don't mention the gnulib
98547         'assert' module here.
98549 2007-05-01  Bruno Haible  <bruno@clisp.org>
98551         * doc/functions/*.texi: New files.
98552         * doc/functions/google-ranking.txt: New file.
98553         * doc/gnulib.texi (Function Substitutes): New chapter.
98554         (ctime, inet_ntoa): Remove sections.
98555         * doc/ctime.texi: Remove file.
98556         * doc/inet_ntoa.texi: Remove file.
98557         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
98558         dependencies.
98559         (%.info): New rule, specifying a --reference-limit.
98561 2007-05-01  Bruno Haible  <bruno@clisp.org>
98563         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
98565 2007-05-01  Bruno Haible  <bruno@clisp.org>
98567         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
98568         the portability of 'mkdir' to mingw systems.
98570 2007-05-01  Bruno Haible  <bruno@clisp.org>
98572         * doc/headers/google-ranking.txt: New file.
98574 2007-04-30  Eric Blake  <ebb9@byu.net>
98576         Prefer fseeko to fseek.
98577         * modules/getpass (Depends-on): Add fseeko.
98578         * lib/getpass.c (getpass): Use fseeko, not fseek.
98580 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
98582         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
98583         assumes the sorting is stable, while most qsort implementations
98584         are not.  Use argument addresses to ensure they never compare as
98585         equal.
98587         * tests/test-argp-2.sh (usage-indent test): Fix output
98588         (func_compare): Restore diff options
98589         * tests/test-argp.c: Restore #include "progname.h"
98591 2007-04-29  Bruno Haible  <bruno@clisp.org>
98593         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
98594         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
98595         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
98596         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
98597         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
98598         (configure.ac): Define CHECK_SNPRINTF_POSIX.
98599         (TESTS, check_PROGRAMS): Add test-snprintf.
98600         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
98601         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
98602         (TESTS, check_PROGRAMS): Add test-vsnprintf.
98603         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
98604         assertions that fail on HP-UX, OSF/1, or IRIX.
98605         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
98607 2007-04-29  Bruno Haible  <bruno@clisp.org>
98609         * MODULES.html.sh (posix_functions): Remove 'contents'.
98611 2007-04-29  Karl Berry  <karl@gnu.org>
98613         * config/srclist.txt (gendocs_template_min): new entry.
98615 2007-04-29  Bruno Haible  <bruno@clisp.org>
98617         Work around fpurge bug on BSD systems.
98618         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
98619         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
98620         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
98621         fpurge to rpl_fpurge if the system already has this function.
98622         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
98623         the case where the system already has this function. Correct invariants
98624         on BSD systems.
98625         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
98626         BSD systems.
98628 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
98630         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
98631         proposed by Sven Verdoolaege.
98633         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
98634         options.
98635         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
98636         (usage and help tests): Update
98638 2007-04-29  Bruno Haible  <bruno@clisp.org>
98640         * tests/test-fflush.c (main): Use a file of size 17, not 10.
98641         Print more information in case of failure. Disable a test on BeOS.
98643 2007-04-29  Bruno Haible  <bruno@clisp.org>
98645         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
98646         This helps debugging on systems on which no gdb is available.
98648 2007-04-29  Bruno Haible  <bruno@clisp.org>
98650         * lib/freading.h: Improve comments.
98651         * lib/fwriting.h: Likewise.
98652         * tests/test-freading.c (main): Don't check freading immediately after
98653         repositioning. Needed for glibc.
98655 2007-04-29  Bruno Haible  <bruno@clisp.org>
98657         * lib/freading.c (freading): Trivial simplification.
98659 2007-04-28  Bruno Haible  <bruno@clisp.org>
98661         * tests/test-fwriting.c (main): Also test the interaction between
98662         fflush and fwriting.
98663         * modules/fwriting-tests (Depends-on): Add fflush.
98665         * tests/test-freading.c (main): Also test the interaction between
98666         fflush and freading.
98667         * modules/freading-tests (Depends-on): Add fflush.
98669 2007-04-28  Bruno Haible  <bruno@clisp.org>
98671         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
98672         fseeko and ftello.
98673         Suggested by Eric Blake.
98675 2007-04-28  Jim Meyering  <jim@meyering.net>
98677         Avoid false-negative in gl_STDINT_H's C99 conformance test.
98678         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
98679         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
98681 2007-04-27  Eric Blake  <ebb9@byu.net>
98683         * doc/headers/assert.texi (assert.h): Document assert module use.
98685 2007-04-27  Bruno Haible  <bruno@clisp.org>
98687         * doc/headers/*.texi: New files.
98688         * doc/gnulib.texi (Header File Substitutes): New chapter.
98689         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
98690         dependencies.
98691         (standards.info ,standards.html, standards.dvi): Update dependencies.
98692         (mostlyclean, clean): New targets.
98694 2007-04-27  Bruno Haible  <bruno@clisp.org>
98696         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
98697         * modules/sysexits (Files, Makefile.am): Update.
98699         * lib/sys_socket_.h: Renamed from lib/socket_.h.
98700         * modules/sys_socket (Files, Makefile.am): Update.
98702         * lib/sys_stat_.h: Renamed from lib/stat_.h.
98703         * modules/sys_stat (Files, Makefile.am): Update.
98705 2007-04-27  Eric Blake  <ebb9@byu.net>
98707         * lib/freading.h: Improve comments.
98708         * lib/fwriting.h: Likewise.
98709         * lib/fflush.c: Likewise.
98711         Fix closein for mingw.
98712         * modules/closein-tests: Add tests for closein.
98713         * tests/test-closein.c: New file.
98714         * tests/test-closein.sh: Likewise.
98715         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
98716         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
98718 2007-04-27  Bruno Haible  <bruno@clisp.org>
98720         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
98721         version is < 6.
98722         * lib/math_.h [__DECC]: Likewise.
98723         * lib/stdio_.h [__DECC]: Likewise.
98724         * lib/stdlib_.h [__DECC]: Likewise.
98725         * lib/string_.h [__DECC]: Likewise.
98726         * lib/time_.h [__DECC]: Likewise.
98727         * lib/wchar_.h [__DECC]: Likewise.
98728         * lib/wctype_.h [__DECC]: Likewise.
98730 2007-04-27  Bruno Haible  <bruno@clisp.org>
98732         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
98734 2007-04-27  Bruno Haible  <bruno@clisp.org>
98736         * lib/fflush.c: Add comments.
98737         * modules/fpurge-tests (Depends-on): Add fflush.
98738         * modules/freadable-tests (Depends-on): Likewise.
98739         * modules/fwritable-tests (Depends-on): Likewise.
98741 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
98743         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
98744         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
98745         Report by Bruno Haible <bruno@clisp.org>.
98747 2007-04-26  Eric Blake  <ebb9@byu.net>
98749         Fix fflush on mingw.
98750         * modules/fflush (Depends-on): Add freading.
98751         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
98752         but unread data.
98754 2007-04-26  Eric Blake  <ebb9@byu.net>
98755         and Bruno Haible  <bruno@clisp.org>
98757         Implement freading and fwriting.
98758         * lib/freading.c: New file.
98759         * lib/freading.h: Likewise.
98760         * m4/freading.m4: Likewise.
98761         * modules/freading: Likewise.
98762         * modules/freading-tests: Likewise.
98763         * tests/test-freading.c: Likewise.
98764         * lib/fwriting.c: New file.
98765         * lib/fwriting.h: Likewise.
98766         * m4/fwriting.m4: Likewise.
98767         * modules/fwriting: Likewise.
98768         * modules/fwriting-tests: Likewise.
98769         * tests/test-fwriting.c: Likewise.
98770         * MODULES.html.sh (File stream based Input/Output): Mention them.
98772 2007-04-26  Bruno Haible  <bruno@clisp.org>
98774         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
98775         'long' when we assume it.
98776         Suggested by Eric Blake.
98778 2007-04-26  Bruno Haible  <bruno@clisp.org>
98780         Ensure fseeko, ftello are declared on glibc systems.
98781         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
98782         * modules/fseeko (configure.ac-early): Likewise.
98783         * modules/ftello (configure.ac-early): Likewise.
98784         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
98785         AC_FUNC_FSEEKO for this.
98786         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
98787         (gl_CHECK_FSEEKO): Remove macro.
98789 2007-04-26  Bruno Haible  <bruno@clisp.org>
98791         * tests/test-fflush.c (main): Also check the ftell result after
98792         fflush and fseek/fseeko.
98793         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
98794         file descriptor position cache in the stream.
98795         * lib/fseeko.c (rpl_fseeko): Likewise.
98797 2007-04-26  Bruno Haible  <bruno@clisp.org>
98799         * modules/fflush-tests (Depends-on): Add fseeko.
98801 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
98802             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98804         * lib/argz_.h: ensure error_t definition is obtained in same
98805         mechanism system argz.h would have.
98806         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
98807         argz facilities are known bad.  Err on the side of caution if
98808         cross-compiling.
98810 2007-04-25  Eric Blake  <ebb9@byu.net>
98812         * lib/fpurge.c (includes): Use stdlib.h for free.
98813         * tests/test-fflush.c (main): Also test fflush-fseeko.
98815 2007-04-25  Bruno Haible  <bruno@clisp.org>
98817         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
98818         * lib/fseeko.c: New file.
98819         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
98820         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
98821         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
98822         gl_FUNC_FSEEKO.
98823         (gl_FUNC_FSEEKO): Invoke it.
98824         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
98825         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
98826         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
98828 2007-04-25  Bruno Haible  <bruno@clisp.org>
98830         * modules/fflush (Depends-on): Add ftello.
98832 2007-04-25  Bruno Haible  <bruno@clisp.org>
98834         * modules/ftello-tests: New file.
98835         * tests/test-ftello.c: New file.
98837         * modules/ftello: New file.
98838         * m4/ftello.m4: New file.
98839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
98840         HAVE_FTELLO.
98841         * lib/stdio_.h (ftello): New declaration.
98842         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
98843         HAVE_FTELLO.
98845 2007-04-25  Bruno Haible  <bruno@clisp.org>
98847         * modules/fseeko-tests: New file.
98848         * tests/test-fseeko.c: New file.
98850         * modules/fseeko: New file.
98851         * m4/fseeko.m4: New file.
98852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
98853         HAVE_FSEEKO.
98854         * lib/stdio_.h (fseeko): New declaration.
98855         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
98856         HAVE_FSEEKO.
98858 2007-04-25  Bruno Haible  <bruno@clisp.org>
98860         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
98862 2007-04-25  Bruno Haible  <bruno@clisp.org>
98864         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
98865         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
98866         * tests/test-unistd.c: Likewise.
98867         * tests/test-fcntl.c: Likewise.
98869 2007-04-23  Eric Blake  <ebb9@byu.net>
98871         * lib/fflush.c: Fix missing include.
98872         Reported by Bruno Haible.
98874 2007-04-23  Bruno Haible  <bruno@clisp.org>
98876         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
98877         Reported by Eric Blake.
98879 2007-04-23  Bruno Haible  <bruno@clisp.org>
98881         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
98883 2007-04-23  Bruno Haible  <bruno@clisp.org>
98885         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
98887 2007-04-23  Bruno Haible  <bruno@clisp.org>
98889         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
98890         Needed on HP-UX 11.
98892 2007-04-16  Eric Blake  <ebb9@byu.net>
98894         Make fflush rely on fpurge.
98895         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
98896         open coding all variants.
98897         * modules/fflush (Depends-on): Add fpurge and unistd.
98898         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
98899         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
98901         Fix --with-tests compilation on cygwin.
98902         * modules/argmatch-tests (Makefile.am): List gnulib library first
98903         in LDADD.
98904         * modules/argp-tests (Makefile.am): Likewise.
98905         * modules/array-list-tests (Makefile.am): Likewise.
98906         * modules/array-oset-tests (Makefile.am): Likewise.
98907         * modules/avltree-list-tests (Makefile.am): Likewise.
98908         * modules/avltree-oset-tests (Makefile.am): Likewise.
98909         * modules/avltreehash-list-tests (Makefile.am): Likewise.
98910         * modules/carray-list-tests (Makefile.am): Likewise.
98911         * modules/dirname-tests (Makefile.am): Likewise.
98912         * modules/frexp-tests (Makefile.am): Likewise.
98913         * modules/isnanl-tests (Makefile.am): Likewise.
98914         * modules/linked-list-tests (Makefile.am): Likewise.
98915         * modules/linkedhash-list-tests (Makefile.am): Likewise.
98916         * modules/lock-tests (Makefile.am): Likewise.
98917         * modules/rbtree-list-tests (Makefile.am): Likewise.
98918         * modules/rbtree-oset-tests (Makefile.am): Likewise.
98919         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
98920         * modules/tls-tests (Makefile.am): Likewise.
98921         * modules/tsearch-tests (Makefile.am): Likewise.
98922         * modules/xvasprintf-tests (Makefile.am): Likewise.
98924         Fix fpurge for cygwin.
98925         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
98926         value.
98927         * modules/fpurge-tests (Depends-on): Clean up trash.
98929 2007-04-16  Simon Josefsson  <simon@josefsson.org>
98931         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
98933         * m4/autobuild.m4: Re-indent.
98935 2007-04-13  Bruno Haible  <bruno@clisp.org>
98937         * modules/fpurge-tests: New file.
98938         * tests/test-fpurge.c: New file.
98940         * modules/fpurge: New file.
98941         * lib/fpurge.h: New file.
98942         * lib/fpurge.c: New file.
98943         * m4/fpurge.m4: New file.
98945 2007-04-13  Bruno Haible  <bruno@clisp.org>
98947         * modules/fbufmode-tests: New file.
98948         * tests/test-fbufmode.c: New file.
98950         * modules/fbufmode: New file.
98951         * lib/fbufmode.h: New file.
98952         * lib/fbufmode.c: New file.
98953         * m4/fbufmode.m4: New file.
98955 2007-04-13  Bruno Haible  <bruno@clisp.org>
98957         * modules/fwritable-tests: New file.
98958         * tests/test-fwritable.c: New file.
98960         * modules/fwritable: New file.
98961         * lib/fwritable.h: New file.
98962         * lib/fwritable.c: New file.
98963         * m4/fwritable.m4: New file.
98965 2007-04-13  Bruno Haible  <bruno@clisp.org>
98967         * modules/freadable-tests: New file.
98968         * tests/test-freadable.c: New file.
98970         * modules/freadable: New file.
98971         * lib/freadable.h: New file.
98972         * lib/freadable.c: New file.
98973         * m4/freadable.m4: New file.
98975 2007-04-13  Bruno Haible  <bruno@clisp.org>
98977         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
98978         MOSTLYCLEANFILES.
98980 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
98982         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
98983         gzip bootstrap.conf to avoid dragging in i18n machinery.
98984         (gnulib_tool_option): Use it.
98986 2007-04-13  Bruno Haible  <bruno@clisp.org>
98988         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
98989         %F directives.
98990         * tests/test-vasprintf-posix.c (test_function): Likewise.
98991         * tests/test-snprintf-posix.h (test_function): Likewise.
98992         * tests/test-sprintf-posix.h (test_function): Likewise.
98993         * tests/test-fprintf-posix.h (test_function): Likewise.
98994         * tests/test-printf-posix.h (test_function): Likewise.
98995         * tests/test-fprintf-posix.out: Likewise.
98997 2007-04-13  Bruno Haible  <bruno@clisp.org>
98999         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
99000         * modules/tls-tests (configure.ac): Likewise.
99001         Reported by Arto C. Nirkko <anirkko@insel.ch>.
99003 2007-04-13  Bruno Haible  <bruno@clisp.org>
99005         * lib/tls.c (glthread_tls_get): Fix return type.
99006         Patch by Arto C. Nirkko <anirkko@insel.ch>.
99008 2007-04-12  Eric Blake  <ebb9@byu.net>
99010         * modules/gettime (Depends-on): Remove gettime.
99011         Reported by Dmitry V. Levin.
99013 2007-04-12  Bruno Haible  <bruno@clisp.org>
99015         * modules/fflush (Include): Mention <stdio.h>.
99016         * modules/strtoimax (Include): Mention <inttypes.h>.
99017         * modules/strtoumax (Include): Likewise.
99019 2007-04-12  Eric Blake  <ebb9@byu.net>
99021         * .cvsignore: New file.
99022         * .gitignore: Likewise.
99024 2007-04-12  Bruno Haible  <bruno@clisp.org>
99026         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
99027         not before, since $(LDADD) often contains libgnu.a.
99028         * modules/striconv-tests (test_striconv_LDADD): Likewise.
99029         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
99030         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
99031         Needed on Cygwin.
99033 2007-04-12  Eric Blake  <ebb9@byu.net>
99035         Work around glibc's failure to flush stdin on fclose.
99036         * lib/closein.c (close_stdin): Flush stdin before closing.
99038         Work around glibc's failure to reset seekable stdin on exit.
99039         * modules/closein: New module.
99040         * lib/closein.c: New file.
99041         * lib/closein.h: Likewise.
99042         * m4/closein.m4: Likewise.
99043         * MODULES.html.sh (File stream based Input/Output): Document it.
99045 2007-04-12  Simon Josefsson  <simon@josefsson.org>
99047         * gnulib-tool: Rename generated 'autobuild' script to
99048         'do-autobuild' in --create-megatestdir output.
99050         * doc/gnulib.texi (Build robot for gnulib): Fix.
99052 2007-04-12  Simon Josefsson  <simon@josefsson.org>
99054         * modules/sysexits (Depends-on): Add absolute-header.
99056 2007-04-12  Eric Blake  <ebb9@byu.net>
99058         No need to preserve errno on success.
99059         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
99060         Reported by Bruno Haible.
99062 2007-04-12  Simon Josefsson  <simon@josefsson.org>
99064         * MODULES.html.sh (Support for maintaining and releasing
99065         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
99067 2007-04-12  Simon Josefsson  <simon@josefsson.org>
99069         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
99071 2007-04-12  Simon Josefsson  <simon@josefsson.org>
99073         * modules/autobuild: New module.
99075         * m4/autobuild.m4: New file.
99077 2007-04-11  Bruno Haible  <bruno@clisp.org>
99079         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
99080         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
99081         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
99082         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
99083         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99084         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99085         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
99087         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99088         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99089         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
99090         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99091         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99092         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
99093         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99094         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99095         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
99096         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99097         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99098         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
99099         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99100         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99101         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
99102         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99103         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99104         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
99105         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
99106         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
99107         Reported by Eric Blake.
99109 2007-04-11  Bruno Haible  <bruno@clisp.org>
99111         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
99113 2007-04-10  Bruno Haible  <bruno@clisp.org>
99115         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
99116         for NaN and Infinity. Needed on FreeBSD 6.1.
99117         * tests/test-vasnprintf-posix.c (test_function): Undo last change
99118         regarding results for "%010a" of Infinity and NaN.
99119         * tests/test-vasprintf-posix.c (test_function): Likewise.
99120         * tests/test-snprintf-posix.h (test_function): Likewise.
99121         * tests/test-sprintf-posix.h (test_function): Likewise.
99122         * tests/test-fprintf-posix.h (test_function): Likewise.
99123         * tests/test-printf-posix.h (test_function): Likewise.
99124         * tests/test-fprintf-posix.out: Likewise.
99126 2007-04-10  Bruno Haible  <bruno@clisp.org>
99128         * modules/locale-tests: New file.
99129         * tests/test-locale.c: New file.
99131         * modules/locale: New file.
99132         * lib/locale_.h: New file.
99133         * m4/locale_h.m4: New file.
99135 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
99136             Bruno Haible  <bruno@clisp.org>
99138         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
99139         be determined, test for availability of the copysignf, copysign,
99140         copysignl functions.
99141         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
99142         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
99143         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
99145 2007-04-09  Eric Blake  <ebb9@byu.net>
99147         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
99148         * modules/stdio (Makefile.am): Support fflush.
99149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
99150         * modules/fflush: New file.
99151         * lib/fflush.c: Likewise.
99152         * m4/fflush.m4: Likewise.
99153         * modules/fflush-tests: New test.
99154         * tests/test-fflush.c: Likewise.
99155         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
99157 2007-04-06  Bruno Haible  <bruno@clisp.org>
99159         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
99160         (VASNPRINTF): Use signbit for faster determination whether to print a
99161         minus sign.
99162         * modules/vasnprintf (Files): Remove lib/float+.h.
99163         * modules/fprintf-posix (Depends-on): Add signbit.
99164         * modules/snprintf-posix (Depends-on): Likewise.
99165         * modules/sprintf-posix (Depends-on): Likewise.
99166         * modules/vasnprintf-posix (Depends-on): Likewise.
99167         * modules/vasprintf-posix (Depends-on): Likewise.
99168         * modules/vfprintf-posix (Depends-on): Likewise.
99169         * modules/vsnprintf-posix (Depends-on): Likewise.
99170         * modules/vsprintf-posix (Depends-on): Likewise.
99172 2007-04-06  Bruno Haible  <bruno@clisp.org>
99174         * tests/test-frexp.c (main): Test also the sign bit of zero results.
99175         * tests/test-frexpl.c (main): Likewise.
99176         * tests/test-ldexpl.c (main): Likewise.
99177         * modules/frexp-tests (Depends-on): Add signbit.
99178         * modules/frexpl-tests (Depdends-on): Likewise.
99179         * modules/ldexpl-tests (Depdends-on): Likewise.
99181 2007-04-06  Bruno Haible  <bruno@clisp.org>
99183         * modules/signbit-tests: New file.
99184         * tests/test-signbit.c: New file.
99186         * modules/signbit: New file.
99187         * lib/signbitf.c: New file.
99188         * lib/signbitd.c: New file.
99189         * lib/signbitl.c: New file.
99190         * m4/signbit.m4: New file.
99191         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
99192         (signbit): New macro.
99193         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
99194         REPLACE_SIGNBIT.
99195         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
99196         REPLACE_FREXPL into math.h.
99198 2007-04-06  Bruno Haible  <bruno@clisp.org>
99200         * modules/isnanf-nolibm-tests: New file.
99201         * tests/test-isnanf.c: New file.
99203         * modules/isnanf-nolibm: New file.
99204         * lib/isnanf.h: New file.
99205         * lib/isnanf.c: New file.
99206         * lib/isnan.c: Consider the USE_FLOAT macro.
99207         * m4/isnanf.m4: New file.
99209 2007-04-06  Bruno Haible  <bruno@clisp.org>
99211         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
99212         (Link): New section.
99214         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
99216 2007-04-06  Bruno Haible  <bruno@clisp.org>
99218         Assume the 'long double' type.
99219         * m4/longdouble.m4: Remove file.
99220         * config/srclist.txt: Don't mention longdouble.m4.
99221         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
99222         * lib/float+.h: Likewise.
99223         * lib/frexp.c: Likewise.
99224         * lib/printf-args.h: Likewise.
99225         * lib/printf-args.c: Likewise.
99226         * lib/printf-frexp.c: Likewise.
99227         * lib/printf-parse.c: Likewise.
99228         * lib/vasnprintf.c: Likewise.
99229         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
99230         * m4/intl.m4: Likewise.
99231         * m4/isnanl.m4: Likewise.
99232         * m4/printf.m4: Likewise.
99233         * m4/printf-frexpl.m4: Likewise.
99234         * m4/vasnprintf.m4: Likewise.
99235         * modules/allocsa (Files): Remove m4/longdouble.m4.
99236         * modules/gettext (Files): Likewise.
99237         * modules/relocatable-prog-wrapper (Files): Likewise.
99238         * modules/vasnprintf (Files): Likewise.
99239         * modules/isnanl (Files): Likewise.
99240         (Include): Simplify.
99241         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
99242         (Include): Simplify.
99243         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
99244         (Include): Simplify.
99245         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
99246         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99247         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
99248         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99249         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
99250         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99251         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
99252         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99253         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
99254         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99255         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
99256         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
99257         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
99258         * tests/test-isnanl.c: Likewise.
99259         * tests/test-snprintf-posix.h: Likewise.
99260         * tests/test-sprintf-posix.h: Likewise.
99261         * tests/test-vasnprintf-posix.c: Likewise.
99262         * tests/test-vasnprintf-posix2.c: Likewise.
99263         * tests/test-vasprintf-posix.c: Likewise.
99265 2007-04-06  Bruno Haible  <bruno@clisp.org>
99267         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
99268         * lib/math_.h [__DECC]: Include the overridden include file through
99269         #include_next, outside the double-inclusion guard.
99270         * lib/stdio_.h [__DECC]: Likewise.
99271         * lib/stdlib_.h [__DECC]: Likewise.
99272         * lib/string_.h [__DECC]: Likewise.
99273         * lib/time_.h [__DECC]: Likewise.
99274         * lib/wchar_.h [__DECC]: Likewise.
99275         * lib/wctype_.h [__DECC]: Likewise.
99276         * lib/inttypes_.h [__DECC]: Likewise.
99277         Reported by Albert Chin <china@thewrittenword.com> in
99278         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
99280 2007-04-04  Eric Blake  <ebb9@byu.net>
99282         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
99283         1.5.x.
99285 2007-04-04  Bruno Haible  <bruno@clisp.org>
99287         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
99288         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
99290 2007-04-04  Bruno Haible  <bruno@clisp.org>
99292         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
99293         results for "%010a" of Infinity and NaN.
99294         * tests/test-vasprintf-posix.c (test_function): Likewise.
99295         * tests/test-snprintf-posix.h (test_function): Likewise.
99296         * tests/test-sprintf-posix.h (test_function): Likewise.
99297         * tests/test-fprintf-posix.h (test_function): Remove these tests.
99298         * tests/test-printf-posix.h (test_function): Likewise.
99299         * tests/test-fprintf-posix.out: Update.
99300         Needed for FreeBSD 6.1.
99302 2007-04-04  Bruno Haible  <bruno@clisp.org>
99304         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
99305         directly used by the gnulib modules nor by gnulib-tool.
99307 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
99309         * DEPENDENCIES: Give overall description of version dependency
99310         desirability.  Use more-typical names for apps.
99311         Add shell, coreutils, diffutils, grep, tar, gzip.
99313 2007-04-04  Simon Josefsson  <simon@josefsson.org>
99315         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
99317 2007-04-04  Karl Berry  <karl@gnu.org>
99319         * MODULES.html.sh (func_module): missing '.
99321 2007-04-03  Bruno Haible  <bruno@clisp.org>
99323         * modules/argmatch-tests (Makefile.am): New variable
99324         test_argmatch_LDADD.
99325         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
99326         * modules/array-list-tests (Makefile.am): New variable
99327         test_array_list_LDADD.
99328         * modules/array-oset-tests (Makefile.am): New variable
99329         test_array_oset_LDADD.
99330         * modules/avltree-list-tests (Makefile.am): New variable
99331         test_avltree_list_LDADD.
99332         * modules/avltree-oset-tests (Makefile.am): New variable
99333         test_avltree_oset_LDADD.
99334         * modules/avltreehash-list-tests (Makefile.am): New variable
99335         test_avltreehash_list_LDADD.
99336         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
99337         test_canonicalize_lgpl_LDADD.
99338         * modules/carray-list-tests (Makefile.am): New variable
99339         test_carray_list_LDADD.
99340         * modules/dirname-tests (Makefile.am): New variable
99341         test_dirname_LDADD.
99342         * modules/linked-list-tests (Makefile.am): New variable
99343         test_linked_list_LDADD.
99344         * modules/linkedhash-list-tests (Makefile.am): New variable
99345         test_linkedhash_list_LDADD.
99346         * modules/rbtree-list-tests (Makefile.am): New variable
99347         test_rbtree_list_LDADD.
99348         * modules/rbtree-oset-tests (Makefile.am): New variable
99349         test_rbtree_oset_LDADD.
99350         * modules/rbtreehash-list-tests (Makefile.am): New variable
99351         test_rbtreehash_list_LDADD.
99352         * modules/xvasprintf-tests (Makefile.am): New variable
99353         test_xvasprintf_LDADD.
99354         Reported by Eric Blake.
99356 2007-04-03  Eric Blake  <ebb9@byu.net>
99358         * DEPENDENCIES: Weaken m4 requirements.
99360 2007-04-03  Bruno Haible  <bruno@clisp.org>
99362         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
99363         * modules/isnanl-tests (configure.ac): Likewise.
99365 2007-04-03  Ben Pfaff  <blp@gnu.org>
99367         * modules/iconv_open: Add $(srcdir)/ to source directory
99368         references in Makefile fragments that call gperf, to fix VPATH
99369         builds.
99371 2007-04-03  Bruno Haible  <bruno@clisp.org>
99373         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
99374         * lib/ldexpl.c: Undo last change.
99376 2007-04-03  Bruno Haible  <bruno@clisp.org>
99378         * modules/printf-frexpl (Depends-on): Undo last change.
99379         (Files): Add m4/ldexpl.m4.
99381 2007-04-03  Bruno Haible  <bruno@clisp.org>
99383         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
99384         * modules/isnanl (Link): New section.
99386         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
99387         * modules/frexp (Link): New section.
99389         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
99390         * modules/frexpl (Link): New section.
99392         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
99393         * modules/ldexpl (Link): New section.
99395 2007-04-03  Bruno Haible  <bruno@clisp.org>
99397         * modules/TEMPLATE-EXTENDED: New file.
99398         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
99400 2007-04-03  Bruno Haible  <bruno@clisp.org>
99402         * DEPENDENCIES: New file.
99403         Suggested by Simon Josefsson.
99405 2007-04-03  Bruno Haible  <bruno@clisp.org>
99407         * doc/gnulib.texi: Escape @.
99409 2007-04-03  James Youngman  <jay@gnu.org>
99410         and Paul Eggert  <eggert@cs.ucla.edu>
99412         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
99413         birthtime on all systems that have birthtime, not just those which
99414         use st_birthtimensec rather than st_birthtim.  Putting zero in
99415         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
99416         that the birth time is not available for files on an NFS mount.
99418 2007-04-03  Simon Josefsson  <simon@josefsson.org>
99420         * modules/memxor: Move back from crypto/, suggested by Bruno.
99421         * modules/crypto/hmac-sha1: Fix memxor dependency.
99423         * modules/crypto/gc: Moved from ../.
99425 2007-04-02  Eric Blake  <ebb9@byu.net>
99427         * lib/ldexpl.c (includes): Avoid libm.
99429         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
99431 2007-04-02  Bruno Haible  <bruno@clisp.org>
99433         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
99434         on IRIX.
99436 2007-04-02  Bruno Haible  <bruno@clisp.org>
99438         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
99439         x86 or x86_64 platforms running MacOS X.
99440         Reported by Ryan Schmidt <@ryandesign.com>.
99442 2007-04-02  Bruno Haible  <bruno@clisp.org>
99444         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
99445         i386.
99447 2007-04-01  Simon Josefsson  <simon@josefsson.org>
99449         * modules/crypto/arcfour: Moved from ../.
99450         * modules/crypto/arcfour-tests: Moved from ../.
99451         * modules/crypto/arctwo: Moved from ../.
99452         * modules/crypto/arctwo-tests: Moved from ../.
99453         * modules/crypto/des: Moved from ../.
99454         * modules/crypto/des-tests: Moved from ../.
99455         * modules/crypto/gc-arcfour: Moved from ../.
99456         * modules/crypto/gc-arcfour-tests: Moved from ../.
99457         * modules/crypto/gc-arctwo: Moved from ../.
99458         * modules/crypto/gc-arctwo-tests: Moved from ../.
99459         * modules/crypto/gc-des: Moved from ../.
99460         * modules/crypto/gc-des-tests: Moved from ../.
99461         * modules/crypto/gc-hmac-md5: Moved from ../.
99462         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
99463         * modules/crypto/gc-hmac-sha1: Moved from ../.
99464         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
99465         * modules/crypto/gc-md2: Moved from ../.
99466         * modules/crypto/gc-md2-tests: Moved from ../.
99467         * modules/crypto/gc-md4: Moved from ../.
99468         * modules/crypto/gc-md4-tests: Moved from ../.
99469         * modules/crypto/gc-md5: Moved from ../.
99470         * modules/crypto/gc-md5-tests: Moved from ../.
99471         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
99472         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
99473         * modules/crypto/gc-random: Moved from ../.
99474         * modules/crypto/gc-rijndael: Moved from ../.
99475         * modules/crypto/gc-rijndael-tests: Moved from ../.
99476         * modules/crypto/gc-sha1: Moved from ../.
99477         * modules/crypto/gc-sha1-tests: Moved from ../.
99478         * modules/crypto/gc-tests: Moved from ../.
99479         * modules/crypto/hmac-md5: Moved from ../.
99480         * modules/crypto/hmac-md5-tests: Moved from ../.
99481         * modules/crypto/hmac-sha1: Moved from ../.
99482         * modules/crypto/hmac-sha1-tests: Moved from ../.
99483         * modules/crypto/md2: Moved from ../.
99484         * modules/crypto/md2-tests: Moved from ../.
99485         * modules/crypto/md4: Moved from ../.
99486         * modules/crypto/md4-tests: Moved from ../.
99487         * modules/crypto/md5: Moved from ../.
99488         * modules/crypto/md5-tests: Moved from ../.
99489         * modules/crypto/memxor: Moved from ../.
99490         * modules/crypto/rijndael: Moved from ../.
99491         * modules/crypto/rijndael-tests: Moved from ../.
99492         * modules/crypto/sha1: Moved from ../.
99494 2007-03-30  James Youngman  <jay@gnu.org>
99496         * tests/test-stat-time.c (prepare_test): use chmod() rather than
99497         rename() to change the ctime of a file (because ctime is unaffected
99498         by rename on jfs2 on AIX 5.1).
99499         (main): Start by doing cleanup, in case a previous run failed leaving
99500         test files behind.
99502 2007-03-31  Bruno Haible  <bruno@clisp.org>
99504         Support old proprietary implementations of iconv.
99505         * modules/iconv_open: New file.
99506         * lib/iconv_.h: New file.
99507         * m4/iconv_h.m4: New file.
99508         * lib/iconv_open.c: New file.
99509         * lib/iconv_open-aix.gperf: New file.
99510         * lib/iconv_open-hpux.gperf: New file.
99511         * lib/iconv_open-irix.gperf: New file.
99512         * lib/iconv_open-osf.gperf: New file.
99513         * m4/iconv_open.m4: New file.
99514         * modules/linebreak (Depends-on): Add iconv_open.
99515         * modules/striconv (Depends-on): Likewise.
99516         * modules/striconveh (Depends-on): Likewise.
99517         * modules/unicodeio (Depends-on): Likewise.
99518         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
99519         (iconv_t)(-1).
99520         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
99521         conversion if cd is (iconv_t)(-1).
99522         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
99523         is not possible.
99525 2007-03-31  Bruno Haible  <bruno@clisp.org>
99527         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
99528         work on Solaris either. Protect also second use of "autodetect_jp".
99530 2007-03-31  Bruno Haible  <bruno@clisp.org>
99532         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
99533         the function is not present.
99535 2007-03-31  Bruno Haible  <bruno@clisp.org>
99537         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
99538         the function is not present.
99540 2007-03-31  Bruno Haible  <bruno@clisp.org>
99542         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
99543         a bug in HP-UX iconv_open().
99545 2007-03-31  Bruno Haible  <bruno@clisp.org>
99547         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
99548         (Mathematics <math.h>): New section, add fpieee.
99549         (Input/output <stdio.h>): Add fseterr.
99550         (Mathematics <math.h>): New section, add printf-frexp.
99551         (Container data structures): Add sublist.
99552         (Core language properties): Add fpucw, inline.
99553         (Functions for greatest-width integer types <inttypes.h>): Add
99554         imaxabs, imaxdiv, inttypes.
99555         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
99556         isnanl-nolibm, ldexp.
99557         (Mathematics <math.h>): New section, add printf-frexpl.
99558         (Support for systems lacking POSIX:2001): Add fprintf-posix,
99559         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
99560         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
99561         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
99562         (Unicode string functions): Add unistr/u*-mbtoucr.
99563         (Java): Add javacomp-script, javaexec-script.
99564         (C#): Add csharpcomp-script, csharpexec-script.
99565         (Support for building libraries and executables): Add havelib,
99566         relocatable-*.
99567         (Support for maintaining and releasing projects): Renamed from
99568         'Support for maintaining and release projects'. Add announce-gen.
99570 2007-03-31  Bruno Haible  <bruno@clisp.org>
99572         * README: Talk primarily about git.
99573         (git and CVS): Renamed from CVS.
99574         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
99575         gnulib is available through git.
99576         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
99578 2007-03-30  Bruno Haible  <bruno@clisp.org>
99580         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
99581         * lib/poll_.h: Likewise.
99582         * lib/stat_.h: Likewise.
99583         * lib/sys_time_.h: Likewise.
99584         * lib/sysexit_.h: Likewise.
99585         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
99586         * lib/stdbool_.h: Likewise.
99587         * lib/byteswap_.h: Add double-inclusion guard.
99589 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
99591         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
99593 2007-03-30  Karl Berry  <karl@gnu.org>
99595         * config/srclist-update: double space after USA in the license
99596         substitution, since that's how it's usually (?) written.
99598 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
99600         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
99601         reported by Bruno Haible.
99603 2007-03-29  Bruno Haible  <bruno@clisp.org>
99605         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
99606         a bug in AIX iconv().
99608 2007-03-29  Bruno Haible  <bruno@clisp.org>
99610         * modules/ldexpl-tests: New file.
99611         * tests/test-ldexpl.c: New file.
99613 2007-03-29  Bruno Haible  <bruno@clisp.org>
99615         * lib/ldexpl.c: Include fpucw.h.
99616         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
99617         multiplication.
99618         * modules/ldexpl (Depends-on): Add fpucw.
99620 2007-03-29  Bruno Haible  <bruno@clisp.org>
99622         * modules/ldexpl: New file.
99623         * m4/ldexpl.m4: New file.
99624         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
99625         set.
99626         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
99627         REPLACE_LDEXPL.
99628         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
99629         REPLACE_LDEXPL.
99630         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
99631         gl_FUNC_LDEXPL_WORKS.
99632         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
99633         * modules/mathl (Files): Remove lib/ldexpl.c.
99634         (Depends-on): Add ldexpl.
99636 2007-03-29  Bruno Haible  <bruno@clisp.org>
99638         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
99640 2007-03-29  Bruno Haible  <bruno@clisp.org>
99642         * tests/test-striconveh.c (main): Don't assume that a direct conversion
99643         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
99644         and possibly also HP-UX.
99645         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
99646         work on AIX, IRIX, HP-UX, OSF/1.
99647         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
99648         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
99649         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
99650         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
99651         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
99652         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
99654 2007-03-29  Bruno Haible  <bruno@clisp.org>
99656         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
99658 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
99660         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
99661         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
99663 2007-03-29  Eric Blake  <ebb9@byu.net>
99665         * lib/acl-internal.h: Remove redundant include.
99666         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
99667         Cygwin when a file is locked.
99669 2007-03-29  Bruno Haible  <bruno@clisp.org>
99671         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
99672         file.
99673         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
99675 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
99677         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
99678         try to remove a parent directory if the child couldn't be removed
99679         (except for the first rmdir, which could fail because the child
99680         doesn't exist).  Problem reported by Jeff Blaine in
99681         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
99683 2007-03-28  Bruno Haible  <bruno@clisp.org>
99685         * lib/striconveh.c (utf8conv_carefully): New function.
99686         (mem_cd_iconveh_internal): Invoke it.
99688 2007-03-28  Bruno Haible  <bruno@clisp.org>
99690         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
99691         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
99692         input.
99693         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
99694         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
99695         unistr/u8-uctomb.
99697 2007-03-28  Bruno Haible  <bruno@clisp.org>
99699         * modules/unistr/u8-mbtoucr: New file.
99700         * lib/unistr/u8-mbtoucr.c: New file.
99701         * modules/unistr/u16-mbtoucr: New file.
99702         * lib/unistr/u16-mbtoucr.c: New file.
99703         * modules/unistr/u16-mbtoucr: New file.
99704         * lib/unistr/u16-mbtoucr.c: New file.
99705         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
99707 2007-03-27  Simon Josefsson  <simon@josefsson.org>
99708             Bruno Haible  <bruno@clisp.org>
99710         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
99711         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
99712         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
99714         * m4/stdio_h.m4: Add stubs for vasprintf too.
99716         * modules/stdio: Support vasprintf in sed command.
99718         * modules/vasprintf: Depend on stdio for prototypes.  Remove
99719         vasprintf.h.  Add stdio module indicator.
99721         * lib/stdio_.h: Declare asprintf and vasprintf, based on
99722         vasprintf.h.
99724         * lib/vasprintf.h: File removed.
99726         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
99727         * lib/vasprintf.c: Ditto.
99728         * lib/xvasprintf.c: Ditto.
99729         * tests/test-vasprintf-posix.c: Ditto.
99730         * tests/test-vasprintf.c: Ditto.
99732 2007-03-27  Bruno Haible  <bruno@clisp.org>
99734         Make vasnprintf multithread-safe.
99735         * lib/vasnprintf.c (decimal_point_char): New function.
99736         (VASNPRINTF): Use it.
99737         Suggested by Simon Josefsson.
99739 2007-03-27  Eric Blake  <ebb9@byu.net>
99741         Support sub-second birthtime on cygwin.
99742         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
99743         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
99744         (get_stat_birthtime): Also work with st_birthtim.
99746 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
99748         * lib/stat-time.h (USE_BIRTHTIME): Remove.
99749         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
99750         (get_stat_birthtime_ns): Do not try to use "spare" fields.
99751         (get_stat_birthtime_ns): Simplify compile-time tests.
99752         (get_stat_birthtime): Change the API to look like
99753         get_stat_mtime etc., except return a negative tv_nsec on error.
99754         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
99755         Don't check for "spare" fields.
99756         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
99757         or for struct stat.st_birthtime, as these tests aren't used.
99758         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
99760 2007-03-27  Bruno Haible  <bruno@clisp.org>
99762         * lib/stat-time.h: Include <sys/stat.h>.
99764 2007-03-27  James Youngman  <jay@gnu.org>
99766         * lib/stat-time.h (get_stat_birthtime): New function for
99767           retrieving st_birthtime as provided by UFS2 (hence *BSD).
99768         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
99769           and its variants.
99770         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
99771         * modules/stat-time-test: New file.
99772         * tests/test-stat-time.c: New test, devised by Bruno Haible.
99774 2007-03-26  Bruno Haible  <bruno@clisp.org>
99776         Better support of signalling NaNs.
99777         * lib/atanl.c: Include isnanl.h.
99778         (atanl): Perform test for NaN at the beginning of the function and
99779         through a call to isnanl.
99780         * lib/cosl.c: Include isnanl.h.
99781         (cosl): Perform test for NaN at the beginning of the function and
99782         through a call to isnanl.
99783         * lib/ldexpl.c: Include isnanl.h.
99784         (ldexpl): Perform test for NaN through a call to isnanl.
99785         * lib/logl.c: Include isnanl.h.
99786         (logl): Perform test for NaN at the beginning of the function and
99787         through a call to isnanl.
99788         * lib/sinl.c: Include isnanl.h.
99789         (sinl): Perform test for NaN at the beginning of the function and
99790         through a call to isnanl.
99791         * lib/sqrtl.c: Include isnanl.h.
99792         (sqrtl): Perform test for NaN at the beginning of the function and
99793         through a call to isnanl.
99794         * lib/tanl.c: Include isnanl.h.
99795         (tanl): Perform test for NaN at the beginning of the function and
99796         through a call to isnanl.
99797         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
99798         * modules/mathl (Depends-on): Add isnanl.
99800 2007-03-26  Eric Blake  <ebb9@byu.net>
99802         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
99803         regression in logic sense of previous patch.
99805 2007-03-26  Bruno Haible  <bruno@clisp.org>
99807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
99808         unportable shell command "if ! ...".
99809         Reported by Ralf Wildenhues.
99811 2007-03-25  Bruno Haible  <bruno@clisp.org>
99813         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
99814         <sysexits.h> file, and only add EX_CONFIG.
99815         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
99816         absolute file name and whether it is sufficient. Substitute also
99817         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
99818         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
99819         ABSOLUTE_SYSEXITS_H into sysexits.h.
99821 2007-03-25  Bruno Haible  <bruno@clisp.org>
99823         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
99824         hints is NULL.
99826 2007-03-25  Bruno Haible  <bruno@clisp.org>
99828         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
99829         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
99831 2007-03-25  Bruno Haible  <bruno@clisp.org>
99833         * lib/vasnprintf.c: Include langinfo.h.
99834         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
99835         multithread-safe.
99836         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
99837         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
99838         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99839         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99840         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99841         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99842         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99843         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
99844         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99845         Reported by Simon Josefsson.
99847 2007-03-25  Bruno Haible  <bruno@clisp.org>
99849         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
99850         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
99851         * modules/vasnprintf (Depends-on): Add stdint.
99853 2007-03-25  Bruno Haible  <bruno@clisp.org>
99855         * modules/fpieee: New file.
99856         * m4/fpieee.m4: New file.
99857         * modules/isnan-nolibm (Depends-on): Add fpieee.
99858         * modules/isnanl-nolibm (Depends-on): Add fpieee.
99859         * modules/isnanl (Depends-on): Add fpieee.
99861 2007-03-25  Bruno Haible  <bruno@clisp.org>
99863         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
99865 2007-03-25  Bruno Haible  <bruno@clisp.org>
99867         Avoid test failures on IRIX 6.5.
99868         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
99869         (main): Use it.
99870         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
99871         macros.
99872         (main): Use them.
99874 2007-03-25  Bruno Haible  <bruno@clisp.org>
99876         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
99877         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
99878         exists but doesn't work.
99879         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
99880         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
99881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
99882         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
99883         math.h.
99885 2007-03-25  Bruno Haible  <bruno@clisp.org>
99887         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
99888         returns inf. Needed on IRIX 6.5.
99890 2007-03-25  Bruno Haible  <bruno@clisp.org>
99892         * tests/test-frexpl.c: Include isnanl-nolibm.h.
99893         (main): Use isnanl instead of x != x idiom.
99894         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
99896         * tests/test-frexp.c: Include isnan.h.
99897         (main): Use isnan instead of x != x idiom.
99898         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
99900 2007-03-25  Bruno Haible  <bruno@clisp.org>
99902         * tests/test-frexp.c (NaN): New function/macro.
99903         (main): Use it instead of 0.0 / 0.0.
99904         * tests/test-isnan.c (NaN): New function/macro.
99905         (main): Use it instead of 0.0 / 0.0.
99906         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
99907         (test_function): Use it instead of 0.0 / 0.0.
99908         * tests/test-vasprintf-posix.c (NaN): New function/macro.
99909         (test_function): Use it instead of 0.0 / 0.0.
99910         * tests/test-snprintf-posix.h (NaN): New function/macro.
99911         (test_function): Use it instead of 0.0 / 0.0.
99912         * tests/test-sprintf-posix.h (NaN): New function/macro.
99913         (test_function): Use it instead of 0.0 / 0.0.
99914         * tests/test-fprintf-posix.h (NaN): New function/macro.
99915         (test_function): Use it instead of 0.0 / 0.0.
99916         * tests/test-printf-posix.h (NaN): New function/macro.
99917         (test_function): Use it instead of 0.0 / 0.0.
99919         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
99921 2007-03-25  Bruno Haible  <bruno@clisp.org>
99923         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
99925 2007-03-25  Bruno Haible  <bruno@clisp.org>
99927         * lib/regexec.c (merge_state_with_log): Make static.
99929 2007-03-25  Bruno Haible  <bruno@clisp.org>
99931         * lib/trigl.c (kernel_rem_pio2): Make static.
99933 2007-03-25  Bruno Haible  <bruno@clisp.org>
99935         * lib/sincosl.c (sincosl_table): Make static.
99937 2007-03-25  Bruno Haible  <bruno@clisp.org>
99939         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
99940         if the compiler does not support C99.
99942 2007-03-25  Bruno Haible  <bruno@clisp.org>
99944         * modules/time (Makefile.am): Ensure all rule action lines start with a
99945         tab.
99947 2007-03-24  Bruno Haible  <bruno@clisp.org>
99949         * modules/tsearch-tests: New file.
99950         * tests/test-tsearch.sh: New file.
99951         * tests/test-tsearch.c: New file, mostly copied from glibc.
99953         * modules/search-tests: New file.
99954         * tests/test-search.c: New file.
99956         * modules/search: New file.
99957         * lib/search_.h: New file, incorporating lib/tsearch.h.
99958         * m4/search_h.m4: New file.
99959         * lib/tsearch.h: Remove file.
99960         * lib/tsearch.c: Include search.h instead of tsearch.h.
99961         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
99962         HAVE_TSEARCH.
99963         * modules/tsearch (Files): Remove lib/tsearch.h.
99964         (Depends-on): Add search.
99965         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
99966         (Include): Change tsearch.h into search.h.
99968 2007-03-24  Bruno Haible  <bruno@clisp.org>
99970         * modules/fpucw: New file.
99971         * lib/fpucw.h: New file.
99972         * lib/frexp.c: Include fpucw.h.
99973         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
99974         (FUNC): Use them.
99975         * lib/printf-frexp.c: Include fpucw.h.
99976         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
99977         (FUNC): Use them.
99978         * lib/vasnprintf.c: Include fpucw.h.
99979         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
99980         'long double' calculations.
99981         * tests/test-frexpl.c: Include fpucw.h.
99982         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
99983         * tests/test-printf-frexpl.c: Include fpucw.h.
99984         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
99985         * modules/frexpl (Depends-on): Add fpucw.
99986         * modules/printf-frexpl (Depends-on): Likewise.
99987         * modules/fprintf-posix (Depends-on): Likewise.
99988         * modules/snprintf-posix (Depends-on): Likewise.
99989         * modules/sprintf-posix (Depends-on): Likewise.
99990         * modules/vasnprintf-posix (Depends-on): Likewise.
99991         * modules/vasprintf-posix (Depends-on): Likewise.
99992         * modules/vfprintf-posix (Depends-on): Likewise.
99993         * modules/vsnprintf-posix (Depends-on): Likewise.
99994         * modules/vsprintf-posix (Depends-on): Likewise.
99995         * modules/frexpl-tests (Depends-on): Likewise.
99996         * modules/printf-frexpl-tests (Depends-on): Likewise.
99998 2007-03-24  Bruno Haible  <bruno@clisp.org>
100000         * lib/float+.h: New file.
100001         * lib/isnan.c: Include float+.h.
100002         (SIZE): New macro.
100003         (FUNC): Compare only SIZE bytes of the value.
100004         * lib/vasnprintf.c: Include float+.h.
100005         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
100006         SIZEOF_LDBL or SIZEOF_DBL bytes.
100007         * modules/isnan-nolibm (Files): Add lib/float+.h.
100008         * modules/isnanl-nolibm (Files): Add lib/float+.h.
100009         * modules/isnanl (Files): Add lib/float+.h.
100010         * modules/vasnprintf (Files): Add lib/float+.h.
100012 2007-03-24  Bruno Haible  <bruno@clisp.org>
100014         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
100015         include isnanl-nolibm.h.
100017 2007-03-24  Bruno Haible  <bruno@clisp.org>
100019         * tests/test-read-file.c (main): Don't produce spurious output for
100020         expected situations. Make the test fail if it encountered unexpected
100021         results.
100023 2007-03-24  Bruno Haible  <bruno@clisp.org>
100025         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
100026         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
100028 2007-03-24  Bruno Haible  <bruno@clisp.org>
100030         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
100032 2007-03-24  Bruno Haible  <bruno@clisp.org>
100034         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
100035         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
100037         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
100038         * modules/utf8-ucs4: Turn into a symbolic link to module
100039         unistr/u8-mbtouc.
100041         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
100042         utf8-ucs4-unsafe.
100043         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
100044         unistr/u8-mbtouc-unsafe.
100046         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
100047         * modules/utf16-ucs4: Turn into a symbolic link to module
100048         unistr/u16-mbtouc.
100050         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
100051         utf16-ucs4-unsafe.
100052         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
100053         unistr/u16-mbtouc-unsafe.
100055         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
100056         * modules/ucs4-utf8: Turn into a symbolic link to module
100057         unistr/u8-ubtomb.
100059         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
100060         * modules/ucs4-utf16: Turn into a symbolic link to module
100061         unistr/u16-ubtomb.
100063 2007-03-24  Bruno Haible  <bruno@clisp.org>
100065         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
100066         Enable the function only if HAVE_INLINE.
100067         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
100068         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
100069         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
100070         Enable the function only if HAVE_INLINE.
100071         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
100072         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
100073         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
100074         Enable the function only if HAVE_INLINE.
100075         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
100076         Enable the function only if HAVE_INLINE.
100077         * modules/utf8-ucs4: Update.
100078         * modules/utf8-ucs4-unsafe: Update.
100079         * modules/utf16-ucs4: Update.
100080         * modules/utf16-ucs4-unsafe: Update.
100081         * modules/ucs4-utf8: Update.
100082         * modules/ucs4-utf16: Update.
100084 2007-03-24  Bruno Haible  <bruno@clisp.org>
100086         * lib/utf8-ucs4.h: Remove file.
100087         * lib/utf8-ucs4-unsafe.h: Remove file.
100088         * lib/utf16-ucs4.h: Remove file.
100089         * lib/utf16-ucs4-unsafe.h: Remove file.
100090         * lib/ucs4-utf8.h: Remove file.
100091         * lib/ucs4-utf16.h: Remove file.
100092         * lib/unistr.h: Include their previous contents.
100093         * m4/utf-ucs4.m4: Remove file.
100094         * m4/ucs4-utf.m4: Remove file.
100095         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
100096         (Depends-on): Add unistr/base.
100097         (configure.ac): Remove gl_UTF_UCS4.
100098         (Makefile.am): Update.
100099         (Include): Change to unistr.h.
100100         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
100101         (Depends-on): Add unistr/base.
100102         (configure.ac): Remove gl_UTF_UCS4.
100103         (Makefile.am): Update.
100104         (Include): Change to unistr.h.
100105         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
100106         (Depends-on): Add unistr/base.
100107         (configure.ac): Remove gl_UTF_UCS4.
100108         (Makefile.am): Update.
100109         (Include): Change to unistr.h.
100110         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
100111         (Depends-on): Add unistr/base.
100112         (configure.ac): Remove gl_UTF_UCS4.
100113         (Makefile.am): Update.
100114         (Include): Change to unistr.h.
100115         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
100116         (Depends-on): Add unistr/base.
100117         (configure.ac): Remove gl_UCS4_UTF.
100118         (Makefile.am): Update.
100119         (Include): Change to unistr.h.
100120         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
100121         (Depends-on): Add unistr/base.
100122         (configure.ac): Remove gl_UCS4_UTF.
100123         (Makefile.am): Update.
100124         (Include): Change to unistr.h.
100125         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
100126         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
100127         utf8-ucs4-unsafe.h.
100128         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
100129         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
100130         utf16-ucs4-unsafe.h.
100131         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
100132         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
100133         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
100134         * lib/unistr/u8-strchr.c: Likewise.
100135         * lib/unistr/u8-strrchr.c: Likewise.
100136         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
100137         * lib/unistr/u16-strchr.c: Likewise.
100138         * lib/unistr/u16-strrchr.c: Likewise.
100139         * lib/striconveh.c: Update.
100140         * lib/linebreak.c: Update.
100142 2007-03-24  Bruno Haible  <bruno@clisp.org>
100144         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
100145         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
100147 2007-03-22  Bruno Haible  <bruno@clisp.org>
100149         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
100151 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
100153         * MODULES.html.sh (File system functions): New module write-any-file.
100154         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
100155         * m4/write-any-file.m4: New files.
100157 2007-03-23  Eric Blake  <ebb9@byu.net>
100159         * gnulib-tool: Rearrange space-tab sequences, since some editors
100160         like to eat them.
100162 2007-03-23  Eric Blake  <ebb9@byu.net>
100164         * lib/version-etc.c (version_etc_va): Update license wording to
100165         be more concise.  Recommended by Richard Stallman.
100167 2007-03-22  Bruno Haible  <bruno@clisp.org>
100169         * lib/poll.c (MSG_PEEK): New fallback definition.
100171 2007-03-22  Bruno Haible  <bruno@clisp.org>
100173         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
100174         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
100175         (main): Update.
100176         Fixes a compilation error on BeOS.
100178 2007-03-22  Bruno Haible  <bruno@clisp.org>
100180         * modules/frexpl-tests: New file.
100181         * tests/test-frexpl.c: New file.
100183         * modules/frexpl: New file.
100184         * m4/frexpl.m4: New file.
100185         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
100186         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
100187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
100188         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
100189         (Depends-on): Add frexpl. Remove isnanl-nolibm.
100190         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
100192 2007-03-22  Bruno Haible  <bruno@clisp.org>
100194         * lib/frexpl.c: Share code with lib/frexp.c.
100195         * modules/mathl (Files): Add lib/frexp.c.
100196         (Depends-on): Add isnanl-nolibm.
100198 2007-03-22  Bruno Haible  <bruno@clisp.org>
100200         * modules/printf-frexp (Files): Add m4/frexp.m4.
100201         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
100202         only if the found frexp function actually works.
100204 2007-03-22  Bruno Haible  <bruno@clisp.org>
100206         * lib/frexp.c: Remove older implementation that uses divisions.
100208 2007-03-21  Bruno Haible  <bruno@clisp.org>
100210         * modules/frexp-tests: New file.
100211         * tests/test-frexp.c: New file.
100213         * modules/frexp: New file.
100214         * lib/frexp.c: New file.
100215         * m4/frexp.m4: New file.
100216         * lib/math_.h (frexp): New declaration.
100217         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
100218         REPLACE_FREXP.
100219         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
100221 2007-03-21  Bruno Haible  <bruno@clisp.org>
100223         * modules/isnanl-tests: New file.
100224         * tests/test-isnanl.c: New file.
100226         * modules/isnanl: New file.
100227         * lib/isnanl.h: New file.
100228         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
100229         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
100230         gl_FUNC_ISNANL_WORKS.
100231         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
100232         New macros.
100234 2007-03-21  Bruno Haible  <bruno@clisp.org>
100236         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
100237         lib/isnanl.h.
100238         (Include): Update.
100239         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
100240         * lib/vasnprintf.c: Update.
100241         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
100242         tests/test-isnanl.h, remove tests/test-isnanl.c.
100243         (Makefile.am): Update.
100244         * tests/test-isnanl-nolibm.c: New file.
100245         * tests/test-isnanl.h: New file.
100246         * tests/test-isnanl.c: Remove file.
100248 2007-03-21  Jim Meyering  <jim@meyering.net>
100250         When trying to open ".", treat ESTALE like EACCES.
100251         * lib/savewd.c (savewd_save): Resort to forking not just upon
100252         failure with EACCES, but also when errno is ESTALE.
100254 2007-03-20  Bruno Haible  <bruno@clisp.org>
100256         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
100257         Needed on AIX 5.1. Reported by Matthew Woehlke.
100259 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
100261         Suggestions by Bruno Haible:
100262         * lib/acl-internal.h: Include "gettext.h" rather than rolling
100263         our own.
100264         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
100265         * modules/acl (Depends-on): Add gettext.
100267 2007-03-19  Bruno Haible  <bruno@clisp.org>
100269         * modules/iconvme: Remove file.
100270         * lib/iconvme.h: Remove file.
100271         * lib/iconvme.c: Remove file.
100272         * m4/iconvme.m4: Remove file.
100274 2007-03-19  Bruno Haible  <bruno@clisp.org>
100276         * doc/relocatable-maint.texi: Break long shell script line.
100277         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
100279 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
100281         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
100282         handle file_has_acl.
100283         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
100284         * lib/acl.c: Move header inclusions and related macro defns into
100285         lib/acl-internal.h.
100286         (S_ISLNK): Remove defn, since that's now done for us.
100287         (file_has_acl): Move to lib/file-has-acl.c.
100288         Call acl_trivial if available.  This is the crucial part of the fix.
100289         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
100290         shared within the library.  Rewrite a bit, partly to make it compatible
100291         with the GNU coding style.
100292         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
100293         Remove unnecessary double-quotes.
100294         Don't test for acl_to_text; the build will catch that.
100295         Replace acl_entries if it doesn't exist and it is needed.
100296         Check for -lsec and acl_trivial (as used on Solaris 10).
100297         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
100298         lib/file-has-acl.c.
100299         (Depends-on): Add sys_stat, for S_ISLNK.
100301 2007-03-19  Ben Pfaff  <blp@gnu.org>
100303         * doc/gnulib.texi: Fix typos.
100304         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
100306 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
100308         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
100309         If size is zero here, buf must be zero.
100311 2007-03-19  Simon Josefsson  <simon@josefsson.org>
100313         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
100314         <bruno@clisp.org>.
100316 2007-03-18  Bruno Haible  <bruno@clisp.org>
100318         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
100319         Suggested by Eric Blake.
100321 2007-03-18  Ben Pfaff  <blp@gnu.org>
100323         * doc/relocatable.texi: Recommend using as prefix a directory
100324         that does not exist and will never be created.  Based on
100325         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
100326         and others.
100328 2007-03-17  Bruno Haible  <bruno@clisp.org>
100330         * lib/fchownat.c: Include lchown.h.
100332 2007-03-17  Bruno Haible  <bruno@clisp.org>
100334         Fix endless loop when the given allocated size was > INT_MAX.
100335         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
100336         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
100337         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
100338         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
100339         * lib/sprintf.c (sprintf): Likewise.
100341 2007-03-17  Bruno Haible  <bruno@clisp.org>
100343         * tests/test-argp-2.sh (func_compare): Output a context diff.
100345 2007-03-17  Bruno Haible  <bruno@clisp.org>
100347         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
100348         locale's decimal-point character.
100350 2007-03-17  Bruno Haible  <bruno@clisp.org>
100352         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
100353         before comparing it. Needed because on some platforms (e.g. x86) a
100354         'long double' occupies less bytes than sizeof (long double).
100356 2007-03-17  Bruno Haible  <bruno@clisp.org>
100358         * tests/test-crc.c (main): Make printf statements 64-bit clean.
100359         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
100360         * tests/test-getaddrinfo.c (simple): Likewise.
100361         * tests/test-read-file.c (main): Likewise.
100363 2007-03-17  Bruno Haible  <bruno@clisp.org>
100365         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
100367 2007-03-17  Bruno Haible  <bruno@clisp.org>
100369         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
100370         unused variable.
100372 2007-03-17  Bruno Haible  <bruno@clisp.org>
100374         * tests/test-c-strcasecmp.c: Include c-strcase.h.
100375         * tests/test-c-strncasecmp.c: Likewise.
100377 2007-03-17  Bruno Haible  <bruno@clisp.org>
100379         * modules/stdlib (Depends-on): Add unistd.
100380         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
100381         Needed for MacOS X 10.3.
100383 2007-03-17  Bruno Haible  <bruno@clisp.org>
100385         * lib/unistr/u-strdup.h: Include <stdlib.h>.
100387 2007-03-17  Bruno Haible  <bruno@clisp.org>
100389         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
100391 2007-03-17  Bruno Haible  <bruno@clisp.org>
100393         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
100394         to reflect files copied from gnulib (with or without modifications).
100395         Suggested by Jim Meyering.
100397 2007-03-17  Eric Blake  <ebb9@byu.net>
100399         * NEWS: Document stdlib change from 2007-02-18.
100401 2007-03-17  Jim Meyering  <jim@meyering.net>
100403         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
100404         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
100405         someone uses a name containing shell meta-characters.
100406         Reported by Alfred M. Szmidt.
100408         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
100410 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
100412         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
100413         and copy gettext configuration files only if configure.ac contains
100414         a use of AM_GNU_GETTEXT_VERSION.
100416 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
100418         * build-aux/bootstrap (gnulib_name): New variable.
100419         (gnulib_tool_options): Use it.
100421 2007-03-13  Simon Josefsson  <simon@josefsson.org>
100423         * tests/test-des.c: Use new namespace.
100425 2007-03-15  Bruno Haible  <bruno@clisp.org>
100427         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
100428         Reported by James Youngman <jay@gnu.org>.
100430 2007-03-15  Bruno Haible  <bruno@clisp.org>
100432         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
100433         declared prototype. Needed with cc on OSF/1 5.1.
100435 2007-03-15  Bruno Haible  <bruno@clisp.org>
100437         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
100438         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
100439         (struct gl_list_implementation): Add dispose_fn argument to the
100440         'create_empty', 'create' methods.
100441         (struct gl_list_impl_base): Add field 'dispose_fn'.
100442         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
100443         argument.
100444         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
100445         dispose_fn argument.
100446         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
100447         dispose_fn on the dropped values.
100448         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
100449         dispose_fn argument.
100450         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
100451         dropped values.
100452         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
100453         (gl_tree_remove_node): Call dispose_fn on the dropped value.
100454         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
100455         (gl_tree_remove_node): Call dispose_fn on the dropped value.
100456         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
100457         argument.
100458         (gl_tree_list_free): Call dispose_fn on the dropped values.
100459         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
100460         the dropped values.
100461         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
100462         Add dispose_fn argument.
100463         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
100464         Call dispose_fn on the dropped values.
100465         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
100466         Add dispose_fn argument.
100467         (gl_sublist_create): Initialize the 'dispose_fn' field.
100468         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
100469         * tests/test-array_list.c (main): Update.
100470         * tests/test-carray_list.c (main): Update.
100471         * tests/test-avltree_list.c (main): Update.
100472         * tests/test-rbtree_list.c (main): Update.
100473         * tests/test-avltreehash_list.c (main): Update.
100474         * tests/test-rbtreehash_list.c (main): Update.
100475         * tests/test-linked_list.c (main): Update.
100476         * tests/test-linkedhash_list.c (main): Update.
100477         * tests/test-array_oset.c (main): Update.
100479 2007-03-15  Bruno Haible  <bruno@clisp.org>
100481         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
100482         (gl_oset_create_empty): Add dispose_fn argument.
100483         (struct gl_oset_implementation): Add dispose_fn argument to
100484         'create_empty' method.
100485         (struct gl_oset_impl_base): Add dispose_fn field.
100486         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
100487         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
100488         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
100489         values.
100490         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
100491         (gl_tree_oset_free): Call dispose_fn on the dropped values.
100492         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
100493         dropped value.
100494         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
100495         dropped value.
100496         * tests/test-array_oset.c (main): Update.
100497         * tests/test-avltree_oset.c (main): Update.
100498         * tests/test-rbtree_oset.c (main): Update.
100499         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
100501 2007-03-13  Bruno Haible  <bruno@clisp.org>
100503         * tests/test-stdbool.c (i): Update after last patch.
100505 2007-03-12  Bruno Haible  <bruno@clisp.org>
100507         * lib/quotearg.c: Include <wctype.h> early, before the definition of
100508         the iswprint macro. Needed on Solaris 2.5.1.
100510 2007-03-12  Bruno Haible  <bruno@clisp.org>
100512         * tests/test-printf-frexp.c (main): Declare x as volatile.
100514 2007-03-12  Simon Josefsson  <simon@josefsson.org>
100516         * doc/gnulib.texi (Build robot for gnulib): New section.
100518 2007-03-12  Jim Meyering  <jim@meyering.net>
100520         * build-aux/bootstrap: New file.
100521         * build-aux/bootstrap.conf: New file, from coreutils.
100523 2007-03-11  Bruno Haible  <bruno@clisp.org>
100525         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
100527 2007-03-12  Simon Josefsson  <simon@josefsson.org>
100529         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
100530         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
100531         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
100533 2007-03-11  Bruno Haible  <bruno@clisp.org>
100535         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
100536         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
100538 2007-03-11  Bruno Haible  <bruno@clisp.org>
100540         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
100541         formula. Needed for SunPRO C 5.0.
100543 2007-03-11  Bruno Haible  <bruno@clisp.org>
100545         * modules/long-options (Depends-on): Add getopt.
100547 2007-03-11  Bruno Haible  <bruno@clisp.org>
100549         * modules/modechange (Depends-on): Add stdbool.
100551 2007-03-11  Bruno Haible  <bruno@clisp.org>
100553         * modules/i-ring (Depends-on): Add stdbool.
100555 2007-03-11  Bruno Haible  <bruno@clisp.org>
100557         * modules/gc-des (Depends-on): Add stdbool.
100559 2007-03-11  Bruno Haible  <bruno@clisp.org>
100561         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
100563 2007-03-11  Bruno Haible  <bruno@clisp.org>
100565         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
100567 2007-03-11  Bruno Haible  <bruno@clisp.org>
100569         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
100571 2007-03-11  Bruno Haible  <bruno@clisp.org>
100573         * lib/vasnprintf.c (sprintf): Undefine.
100575 2007-03-11  Bruno Haible  <bruno@clisp.org>
100577         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
100578         initializers in SunPRO C and Compaq C compilers.
100580 2007-03-11  Bruno Haible  <bruno@clisp.org>
100582         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
100583         decrementing code ANSI C compliant.
100585 2007-03-11  Bruno Haible  <bruno@clisp.org>
100587         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
100588         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
100590 2007-03-11  Bruno Haible  <bruno@clisp.org>
100592         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
100593         <stdbool.h> substitute doesn't pass.
100595 2007-03-11  Bruno Haible  <bruno@clisp.org>
100597         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
100599 2007-03-11  Bruno Haible  <bruno@clisp.org>
100601         * gnulib-tool (func_create_megatestdir): Create also an autobuild
100602         script, for submission to autobuild.josefsson.org.
100604 2007-03-10  Bruno Haible  <bruno@clisp.org>
100606         * modules/canonicalize-lgpl-tests: New file.
100607         * tests/test-canonicalize-lgpl.sh: New file.
100608         * tests/test-canonicalize-lgpl.c: New file.
100610         * modules/c-strcase-tests: New file.
100611         * tests/test-c-strcase.sh: New file.
100612         * tests/test-c-strcasecmp.c: New file.
100613         * tests/test-c-strncasecmp.c: New file.
100615         * modules/atexit-tests: New file.
100616         * tests/test-atexit.sh: New file.
100617         * tests/test-atexit.c: New file.
100619 2007-03-10  Bruno Haible  <bruno@clisp.org>
100621         * tests/test-binary-io.sh: Use temporary filenames that are not so
100622         likely to clash with those of other tests (in a parallel make).
100623         * tests/test-binary-io.c: Likewise.
100625 2007-03-10  Bruno Haible  <bruno@clisp.org>
100627         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
100628         fallback; use #error instead.
100629         Suggested by Simon Josefsson.
100631 2007-03-10  Bruno Haible  <bruno@clisp.org>
100633         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
100634         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
100635         first and the last.
100637 2007-03-10  Bruno Haible  <bruno@clisp.org>
100639         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
100641 2007-03-10  Bruno Haible  <bruno@clisp.org>
100643         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
100644         "make distcheck".
100645         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
100646         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
100647         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
100649 2007-03-10  Bruno Haible  <bruno@clisp.org>
100651         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
100652         variable.
100653         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
100654         variable.
100656 2007-03-09  Eric Blake  <ebb9@byu.net>
100657         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
100659         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
100660         types are not being provided by gnulib.
100661         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
100662         types are supported.
100664 2007-03-10  Bruno Haible  <bruno@clisp.org>
100666         * lib/stdio_.h (__attribute__): New macro.
100667         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
100668         vsprintf): Specify __attribute__ __format__ for GCC.
100669         Suggested by Eric Blake.
100671 2007-03-09  Bruno Haible  <bruno@clisp.org>
100673         * modules/printf-posix-tests: New file.
100674         * tests/test-printf-posix.sh: New file.
100675         * tests/test-printf-posix.c: New file.
100677         * modules/printf-posix: New file.
100678         * lib/printf.c: New file.
100679         * m4/printf-posix-rpl.m4: New file.
100680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
100681         REPLACE_PRINTF.
100682         * lib/stdio_.h (printf): New declaration.
100683         (format, __format__, ____printf____, ____scanf____, ____strftime____,
100684         ____strfmon____): New macros.
100685         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
100686         REPLACE_PRINTF.
100688 2007-03-09  Bruno Haible  <bruno@clisp.org>
100690         * tests/test-vasnprintf-posix2.sh: New file.
100691         * tests/test-vasnprintf-posix2.c: New file.
100692         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
100693         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
100694         (Makefile.am): Activate test-vasnprintf-posix2.sh.
100696         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
100697         a locale dependent decimal point, rather than always '.'.
100699 2007-03-09  Eric Blake  <ebb9@byu.net>
100701         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
100702         spite of platforms like Tandem/NSK that define it to -1.
100704 2007-03-08  Bruno Haible  <bruno@clisp.org>
100706         * modules/vprintf-posix-tests: New file.
100707         * tests/test-vprintf-posix.sh: New file.
100708         * tests/test-vprintf-posix.c: New file.
100709         * tests/test-printf-posix.h: New file.
100711         * modules/vprintf-posix: New file.
100712         * lib/vprintf.c: New file.
100713         * m4/vprintf-posix.m4: New file.
100714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
100715         REPLACE_VPRINTF.
100716         * lib/stdio_.h (vprintf): New declaration.
100717         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
100718         REPLACE_VPRINTF.
100720 2007-03-08  Bruno Haible  <bruno@clisp.org>
100722         * modules/fprintf-posix-tests: New file.
100723         * tests/test-fprintf-posix.sh: New file.
100724         * tests/test-fprintf-posix.c: New file.
100726         * modules/fprintf-posix: New file.
100727         * lib/fprintf.c: New file.
100728         * m4/fprintf-posix.m4: New file.
100729         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
100730         REPLACE_FPRINTF.
100731         * lib/stdio_.h (fprintf): New declaration.
100732         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
100733         REPLACE_FPRINTF.
100735 2007-03-08  Bruno Haible  <bruno@clisp.org>
100737         * modules/vfprintf-posix-tests: New file.
100738         * tests/test-vfprintf-posix.sh: New file.
100739         * tests/test-vfprintf-posix.c: New file.
100740         * tests/test-fprintf-posix.h: New file.
100741         * tests/test-fprintf-posix.out: New file.
100743         * modules/vfprintf-posix: New file.
100744         * lib/vfprintf.c: New file.
100745         * m4/vfprintf-posix.m4: New file.
100746         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
100747         REPLACE_VFPRINTF.
100748         * lib/stdio_.h (vfprintf): New declaration.
100749         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
100750         REPLACE_VFPRINTF.
100752 2007-03-08  Bruno Haible  <bruno@clisp.org>
100754         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
100756 2007-03-08  Bruno Haible  <bruno@clisp.org>
100758         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
100759         instead of 'expr' invocations.
100760         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
100761         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
100762         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
100763         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
100764         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
100765         Suggested by Paul Eggert.
100767 2007-03-08  Bruno Haible  <bruno@clisp.org>
100769         * modules/fseterr-tests: New file.
100770         * tests/test-fseterr.c: New file.
100772         * modules/fseterr: New file.
100773         * lib/fseterr.h: New file.
100774         * lib/fseterr.c: New file.
100776 2007-03-08  Bruno Haible  <bruno@clisp.org>
100778         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
100779         * lib/getopt_.h: Likewise.
100780         * lib/mbswidth.h: Likewise.
100781         * lib/setenv.h: Likewise.
100782         * lib/vasnprintf.h: Likewise.
100783         * lib/vasprintf.h: Likewise.
100784         * lib/verror.h: Likewise.
100785         * lib/xsetenv.h: Likewise.
100786         * lib/xvasprintf.h: Likewise.
100788 2007-03-08  Jim Meyering  <jim@meyering.net>
100790         * users.txt: Add parted.
100792         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
100794 2007-03-07  Bruno Haible  <bruno@clisp.org>
100796         * m4/printf.m4: Make the shell script snippets copy&pastable.
100798 2007-03-02  Bruno Haible  <bruno@clisp.org>
100800         * lib/netinet_in_.h: New file.
100801         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
100802         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
100803         * modules/netinet_in (Files): Add lib/netinet_in_.h.
100804         (Depends-on): Add absolute-header.
100805         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
100806         into netinet/in.h.
100808 2007-03-03  Bruno Haible  <bruno@clisp.org>
100810         * lib/sys_select_.h: New file.
100811         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
100812         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
100813         * modules/sys_select (Files): Add lib/sys_select_.h.
100814         (Depends-on): Add absolute-header.
100815         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
100816         into sys/select.h.
100818 2007-03-02  Bruno Haible  <bruno@clisp.org>
100820         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
100821         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
100822         values.
100823         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
100824         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
100825         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
100826         * modules/sys_socket (Depends-on): Add absolute-header.
100827         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
100828         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
100829         (Include): Remove requirement of inclusion of <sys/types.h>.
100831 2007-03-02  Bruno Haible  <bruno@clisp.org>
100833         * lib/byteswap_.h (bswap_32): Fix formula.
100835 2007-03-06  Bruno Haible  <bruno@clisp.org>
100837         * modules/sprintf-posix-tests: New file.
100838         * tests/test-sprintf-posix.c: New file.
100840         * modules/sprintf-posix: New file.
100841         * lib/sprintf.c: New file.
100842         * m4/sprintf-posix.m4: New file.
100843         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
100844         REPLACE_SPRINTF.
100845         * lib/stdio_.h (sprintf): New declaration.
100846         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
100847         REPLACE_SPRINTF.
100849 2007-03-06  Bruno Haible  <bruno@clisp.org>
100851         * modules/vsprintf-posix-tests: New file.
100852         * tests/test-vsprintf-posix.c: New file.
100853         * tests/test-sprintf-posix.h: New file.
100855         * modules/vsprintf-posix: New file.
100856         * lib/vsprintf.c: New file.
100857         * m4/vsprintf-posix.m4: New file.
100858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
100859         REPLACE_VSPRINTF.
100860         * lib/stdio_.h (vsprintf): New declaration.
100861         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
100862         REPLACE_VSPRINTF.
100864 2007-03-06  Bruno Haible  <bruno@clisp.org>
100866         * modules/vsnprintf (Depend-on): Remove minmax.
100868 2007-03-06  Bruno Haible  <bruno@clisp.org>
100870         * modules/snprintf-posix-tests: New file.
100871         * tests/test-snprintf-posix.c: New file.
100873         * modules/snprintf-posix: New file.
100874         * m4/snprintf-posix.m4: New file.
100875         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
100876         gl_FUNC_SNPRINTF.
100877         (gl_FUNC_SNPRINTF): Invoke it.
100878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
100879         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
100880         is set.
100881         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
100883 2007-03-06  Bruno Haible  <bruno@clisp.org>
100885         * modules/vsnprintf-posix-tests: New file.
100886         * tests/test-vsnprintf-posix.c: New file.
100887         * tests/test-snprintf-posix.h: New file.
100889         * modules/vsnprintf-posix: New file.
100890         * m4/vsnprintf-posix.m4: New file.
100891         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
100892         gl_FUNC_VSNPRINTF.
100893         (gl_FUNC_VSNPRINTF): Invoke it.
100894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
100895         * lib/stdio_.h (vsnprintf): Define as a replacement if
100896         REPLACE_VSNPRINTF is set.
100897         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
100899 2007-03-06  Bruno Haible  <bruno@clisp.org>
100901         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
100902         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
100904 2007-03-06  Bruno Haible  <bruno@clisp.org>
100906         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
100907         (asinl): Declare also if HAVE_DECL_ASINL is set.
100908         (atanl): Declare also if HAVE_DECL_ATANL is set.
100909         (ceill): Declare also if HAVE_DECL_CEILL is set.
100910         (cosl): Declare also if HAVE_DECL_COSL is set.
100911         (expl): Declare also if HAVE_DECL_EXPL is set.
100912         (floorl): Declare also if HAVE_DECL_FLOORL is set.
100913         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
100914         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
100915         (logl): Declare also if HAVE_DECL_LOGL is set.
100916         (sinl): Declare also if HAVE_DECL_SINL is set.
100917         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
100918         (tanl): Declare also if HAVE_DECL_TANL is set.
100919         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
100920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
100921         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
100922         declaration of frexpl, ldexpl.
100923         * modules/printf-frexpl (Depends-on): Add math.
100924         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
100926 2007-03-05  Bruno Haible  <bruno@clisp.org>
100928         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
100929         frexpl and ldexpl are declared.
100930         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
100932 2007-03-05  Bruno Haible  <bruno@clisp.org>
100934         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
100935         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
100937 2007-03-05  Bruno Haible  <bruno@clisp.org>
100939         * lib/stdio_.h: Include <stddef.h>.
100941 2007-03-05  Bruno Haible  <bruno@clisp.org>
100943         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
100945 2007-03-05  Bruno Haible  <bruno@clisp.org>
100947         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
100948         NetBSD 4, from Ralf Wildenhues.
100950 2007-03-04  Bruno Haible  <bruno@clisp.org>
100952         * lib/vasprintf.h: Update #if logic for the case when the functions
100953         exist but are overridden.
100955 2007-03-04  Bruno Haible  <bruno@clisp.org>
100957         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
100958         implementations: glibc-2.4 and MacOS X 10.3.
100959         * tests/test-vasnprintf-posix.c (test_function): Test also the case
100960         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
100961         * tests/test-vasprintf-posix.c (test_function): Likewise.
100963 2007-03-04  Bruno Haible  <bruno@clisp.org>
100965         * modules/vasprintf-posix-tests: New file.
100966         * tests/test-vasprintf-posix.c: New file.
100968         * modules/vasprintf-posix: New file.
100969         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
100970         defined.
100971         * m4/vasprintf-posix.m4: New file.
100972         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
100973         gl_FUNC_VASPRINTF.
100974         (gl_FUNC_VASPRINTF): Invoke it.
100975         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
100976         here.
100977         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
100979 2007-03-04  Bruno Haible  <bruno@clisp.org>
100981         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
100982         REPLACE_GETTIMEOFDAY.
100983         * modules/sys_time (Makefile.am): Likewise.
100984         * m4/sys_time_h.m4: Likewise.
100985         * m4/gettimeofday.m4: Likewise.
100987 2007-03-04  Bruno Haible  <bruno@clisp.org>
100989         * modules/vasnprintf-posix-tests: New file.
100990         * tests/test-vasnprintf-posix.c: New file.
100992         * modules/vasnprintf-posix: New file.
100993         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
100994         printf-frexpl.h.
100995         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
100996         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
100997         REPLACE_VASNPRINTF is defined.
100998         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
100999         gl_FUNC_VASNPRINTF.
101000         (gl_FUNC_VASNPRINTF): Invoke it.
101001         * m4/vasnprintf-posix.m4: New file.
101002         * m4/printf.m4: New file.
101004 2007-03-04  Bruno Haible  <bruno@clisp.org>
101006         Compile progreloc.c only if --enable-relocatable is specified.
101007         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
101008         if --enable-relocatable was specified.
101009         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
101010         lib_SOURCES.
101012 2007-03-04  Jim Meyering  <jim@meyering.net>
101014         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
101015         Use it consistently, rather than enumerating errno constants.
101017 2007-03-04  Bruno Haible  <bruno@clisp.org>
101019         * modules/xvasprintf-tests: New file.
101020         * tests/test-xvasprintf.c: New file.
101022         * modules/vasprintf-tests: New file.
101023         * tests/test-vasprintf.c: New file.
101025         * modules/vasnprintf-tests: New file.
101026         * tests/test-vasnprintf.c: New file.
101028         * modules/vsnprintf-tests: New file.
101029         * tests/test-vsnprintf.c: New file.
101031         * modules/snprintf-tests: New file.
101032         * tests/test-snprintf.c: New file.
101034 2007-03-04  Bruno Haible  <bruno@clisp.org>
101036         Compile relocatable.c only if --enable-relocatable is specified.
101037         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
101038         gl_RELOCATABLE_LIBRARY.
101039         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
101040         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
101041         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
101042         gl_RELOCATABLE_LIBRARY.
101043         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
101044         (Makefile.am): Remove lib_SOURCES.
101045         * modules/relocatable-lib-lgpl (configure.ac): Invoke
101046         gl_RELOCATABLE_LIBRARY.
101047         (Makefile.am): Remove lib_SOURCES.
101048         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
101049         always.
101050         * modules/relocatable-prog-wrapper (configure.ac): Invoke
101051         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
101053 2007-03-04  Bruno Haible  <bruno@clisp.org>
101055         * modules/argmatch-tests: New file.
101056         * tests/test-argmatch.c: New file.
101058         * tests/test-allocsa.c (main): Halve the number of loop runs.
101060         * modules/alloca-opt-tests: New file.
101061         * tests/test-alloca-opt.c: New file.
101063 2007-03-04  Jim Meyering  <jim@meyering.net>
101065         Work around difference between Linux ACLs and Solaris 10 ZFS.
101066         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
101067         for EINVAL.
101069 2007-03-03  Bruno Haible  <bruno@clisp.org>
101071         * modules/relocatable-prog (Depends-on): Add back progreloc's
101072         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
101074 2007-03-03  Bruno Haible  <bruno@clisp.org>
101076         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
101077         * modules/relocatable-lib: New file.
101079 2007-03-03  Bruno Haible  <bruno@clisp.org>
101081         * modules/relocatable-prog: Renamed from modules/relocatable.
101082         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
101084 2007-03-03  Bruno Haible  <bruno@clisp.org>
101086         * modules/relocatable-script (Files): Add doc/relocatable.texi,
101087         m4/relocatable-lib.m4.
101088         (Depends-on): Remove 'relocatable'.
101089         (configure.ac): Add gl_RELOCATABLE_NOP.
101091 2007-03-03  Bruno Haible  <bruno@clisp.org>
101093         * modules/relocatable-prog-wrapper: New file.
101094         * modules/relocatable (Depends-on): Add it. Remove all other
101095         dependencies except progname.
101096         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
101098         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
101099         (gl_FUNC_STRERROR): Nop.
101100         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
101102         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
101103         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
101105         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
101106         (gl_FUNC_READLINK): Update.
101108         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
101110 2007-03-03  Bruno Haible  <bruno@clisp.org>
101112         * lib/xreadlink.c: Include <unistd.h> unconditionally.
101113         * modules/xreadlink (Depends-on): Add unistd.
101114         * modules/xreadlink-with-size (Depends-on): Likewise.
101116 2007-03-03  Bruno Haible  <bruno@clisp.org>
101118         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
101119         extracted from gt_FUNC_SETENV.
101120         (gt_FUNC_SETENV): Remove macro.
101121         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
101122         remove gt_FUNC_SETENV.
101124 2007-03-03  Bruno Haible  <bruno@clisp.org>
101126         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
101127         ENABLE_RELOCATABLE here.
101128         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
101130 2007-03-03  Bruno Haible  <bruno@clisp.org>
101132         * modules/rbtreehash-list-tests (Depends-on): Add progname.
101133         * tests/test-rbtreehash_list.c: Include progname.h.
101134         (main): Call set_program_name.
101136         * modules/rbtree-oset-tests (Depends-on): Add progname.
101137         * tests/test-rbtree_oset.c: Include progname.h.
101138         (main): Call set_program_name.
101140         * modules/rbtree-list-tests (Depends-on): Add progname.
101141         * tests/test-rbtree_list.c: Include progname.h.
101142         (main): Call set_program_name.
101144         * modules/linked-list-tests (Depends-on): Add progname.
101145         * tests/test-linked_list.c: Include progname.h.
101146         (main): Call set_program_name.
101148 2007-03-03  Bruno Haible  <bruno@clisp.org>
101150         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
101151         All uses of __restrict changed to _Restrict_.
101152         * lib/glob_.h (__restrict): Remove macro.
101154 2007-03-02  Bruno Haible  <bruno@clisp.org>
101156         * modules/gettext (configure.ac): Require gettext infrastructure
101157         from version 0.16.1.
101159 2007-03-02  Bruno Haible  <bruno@clisp.org>
101161         * modules/linkedhash-list-tests (Depends-on): Add progname.
101162         * tests/test-linkedhash_list.c: Include progname.h.
101163         (main): Call set_program_name.
101165         * modules/carray-list-tests (Depends-on): Add progname.
101166         * tests/test-carray_list.c: Include progname.h.
101167         (main): Call set_program_name.
101169         * modules/avltreehash-list-tests (Depends-on): Add progname.
101170         * tests/test-avltreehash_list.c: Include progname.h.
101171         (main): Call set_program_name.
101173         * modules/avltree-oset-tests (Depends-on): Add progname.
101174         * tests/test-avltree_oset.c: Include progname.h.
101175         (main): Call set_program_name.
101177         * modules/avltree-list-tests (Depends-on): Add progname.
101178         * tests/test-avltree_list.c: Include progname.h.
101179         (main): Call set_program_name.
101181         * modules/array-oset-tests (Depends-on): Add progname.
101182         * tests/test-array_oset.c: Include progname.h.
101183         (main): Call set_program_name.
101185         * modules/array-list-tests (Depends-on): Add progname.
101186         * tests/test-array_list.c: Include progname.h.
101187         (main): Call set_program_name.
101189         * modules/argp-tests (Depends-on): Add progname.
101190         * tests/test-argp.c: Include argp.h first. Include progname.h.
101191         (main): Call set_program_name.
101193 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
101195         * doc/gnulib-tool.texi (Initial import): Reword description of
101196         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
101197         limited effect even if defined after the first system include.
101199 2007-03-01  Bruno Haible  <bruno@clisp.org>
101201         * build-aux/config.libpath: Update to libtool-1.5.22.
101202         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
101204 2007-03-01  Bruno Haible  <bruno@clisp.org>
101206         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
101207         foo_CFLAGS.
101208         Reported by Ralf Wildenhues.
101210 2007-03-01  Bruno Haible  <bruno@clisp.org>
101212         * build-aux/install-reloc: Remove object files left over by some
101213         compilers.
101214         Reported by Ralf Wildenhues.
101216 2007-03-01  Bruno Haible  <bruno@clisp.org>
101218         * build-aux/install-reloc: Break long lines.
101220 2007-03-01  Bruno Haible  <bruno@clisp.org>
101222         * doc/relocatable.texi: Document that it may not work on OpenBSD.
101223         Reported by Ralf Wildenhues.
101225 2007-03-01  Bruno Haible  <bruno@clisp.org>
101227         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
101228         include ordering constraints.
101230 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101232         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
101233         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
101234         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
101235         as another example.
101236         * lib/time_.h: Fix misspelling.
101237         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
101238         Require gl_HEADER_TIME_H_DEFAULTS.
101239         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
101240         * m4/time_r.m4 (gl_TIME_R): Likewise.
101241         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
101243 2007-03-01  Bruno Haible  <bruno@clisp.org>
101245         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
101246         * m4/utimens.m4 (gl_UTIMENS): Likewise.
101248 2007-03-01  Jim Meyering  <jim@meyering.net>
101250         * modules/xreadlink (Maintainer): Add my name.
101251         * modules/xreadlink-with-size (Depends-on): Alphabetize.
101253 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
101254             Bruno Haible  <bruno@clisp.org>
101256         * build-aux/install-reloc: Compile also c-ctype.c.
101257         * build-aux/relocatable.sh.in: New file.
101258         * doc/relocatable.texi: New file.
101259         * doc/relocatable-maint.texi: New file.
101260         * doc/gnulib.texi: Include relocatable-maint.texi.
101261         * lib/progreloc.c: Include unistd.h unconditionally.
101262         * lib/relocwrapper.c: Include unistd.h unconditionally.
101263         Include c-ctype.h.
101264         (add_dotbin): Use c_tolower.
101265         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
101266         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
101267         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
101268         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
101269         to m4/relocatable-lib.m4.
101270         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
101271         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
101272         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
101273         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
101274         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
101275         * modules/relocatable: New file.
101276         * modules/relocatable-lib: New file.
101277         * modules/relocatable-script: New file.
101279 2007-02-28  Bruno Haible  <bruno@clisp.org>
101281         Import --enable-relocatable infrastructure.
101282         * build-aux/config.libpath: New file, from GNU gettext.
101283         * build-aux/install-reloc: New file, from GNU gettext.
101284         * build-aux/reloc-ldflags: New file, from GNU gettext.
101285         * lib/relocatable.h: New file, from GNU gettext.
101286         * lib/relocatable.c: New file, from GNU gettext.
101287         * lib/relocwrapper.c: New file, from GNU gettext.
101288         * m4/relocatable.m4: New file, from GNU gettext.
101290 2007-02-28  Bruno Haible  <bruno@clisp.org>
101292         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
101294         * modules/xreadlink: New file, from GNU gettext with modifications.
101295         * lib/xreadlink.c: New file, from GNU gettext.
101296         * lib/xreadlink.h: Add comments.
101297         (xreadlink): New declaration.
101299         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
101300         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
101301         lib/xreadlink-with-size.c.
101302         (configure.ac): Remove gl_XREADLINK invocation.
101303         (Makefile.am): Augment lib_SOURCES.
101304         * m4/xreadlink.m4: Remove file.
101305         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
101306         (xreadlink_with_size): Renamed from xreadink.
101307         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
101308         * modules/canonicalize (Depends-on): Replace xreadlink with
101309         xreadlink-with-size.
101310         * lib/canonicalize.c (canonicalize_filename_mode): Update.
101312 2007-02-25  Jim Meyering  <jim@meyering.net>
101314         * build-aux/announce-gen: When complaining about excess arguments,
101315         list them.
101317 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
101319         * README: Document signed integer overflow situation more
101320         accurately.
101322 2007-02-25  Bruno Haible  <bruno@clisp.org>
101324         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
101325         'a' or 'A' conversion.
101327 2007-02-25  Bruno Haible  <bruno@clisp.org>
101329         * modules/filename: Renamed from modules/pathname.
101330         (Files): Replace lib/pathname.h with lib/filename.h. Replace
101331         lib/concatpath.c with lib/concat-filename.c.
101332         (Makefile.am): Update.
101333         (Include): Replace pathname.h with filename.h.
101334         * lib/filename.h: Renamed from lib/pathname.h.
101335         (concatenated_filename): Renamed from concatenated_pathname.
101336         * lib/concat-filename.c: Renamed from lib/concatpath.c.
101337         (concatenated_filename): Renamed from concatenated_pathname.
101338         * lib/findprog.c: Include filename.h instead of pathname.h.
101339         (find_in_path): Update.
101340         * lib/javacomp.c: Include filename.h instead of pathname.h.
101341         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
101342         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
101343         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
101344         is_oldgcj_14_13_usable, is_javac_usable): Update.
101345         * lib/javaexec.c: Include filename.h instead of pathname.h.
101346         (execute_java_class): Update.
101347         * modules/findprog: Update.
101348         * modules/javacomp: Update.
101349         * modules/javaexec: Update.
101350         * MODULES.html.sh (File system functions): Add 'filename', remove
101351         'pathname'.
101353 2007-02-25  Bruno Haible  <bruno@clisp.org>
101355         * modules/printf-frexpl-tests: New file.
101356         * tests/test-printf-frexpl.c: New file.
101358         * modules/printf-frexpl: New file.
101359         * lib/printf-frexpl.h: New file.
101360         * lib/printf-frexpl.c: New file.
101361         * m4/printf-frexpl.m4: New file.
101363 2007-02-25  Bruno Haible  <bruno@clisp.org>
101365         * modules/printf-frexp-tests: New file.
101366         * tests/test-printf-frexp.c: New file.
101368         * modules/printf-frexp: New file.
101369         * lib/printf-frexp.h: New file.
101370         * lib/printf-frexp.c: New file.
101371         * m4/printf-frexp.m4: New file.
101373 2007-02-25  Bruno Haible  <bruno@clisp.org>
101375         Assume automake >= 1.10 for the tests.
101376         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
101377         * modules/arctwo-tests: Likewise.
101378         * modules/argp-tests: Likewise.
101379         * modules/avltree-list-tests: Likewise.
101380         * modules/avltree-oset-tests: Likewise.
101381         * modules/avltreehash-list-tests: Likewise.
101382         * modules/carray-list-tests: Likewise.
101383         * modules/crc-tests: Likewise.
101384         * modules/des-tests: Likewise.
101385         * modules/gc-arcfour-tests: Likewise.
101386         * modules/gc-arctwo-tests: Likewise.
101387         * modules/gc-des-tests: Likewise.
101388         * modules/gc-hmac-md5-tests: Likewise.
101389         * modules/gc-hmac-sha1-tests: Likewise.
101390         * modules/gc-md2-tests: Likewise.
101391         * modules/gc-md4-tests: Likewise.
101392         * modules/gc-md5-tests: Likewise.
101393         * modules/gc-pbkdf2-sha1-tests: Likewise.
101394         * modules/gc-rijndael-tests: Likewise.
101395         * modules/gc-sha1-tests: Likewise.
101396         * modules/gc-tests: Likewise.
101397         * modules/getaddrinfo-tests: Likewise.
101398         * modules/hmac-md5-tests: Likewise.
101399         * modules/hmac-sha1-tests: Likewise.
101400         * modules/linked-list-tests: Likewise.
101401         * modules/linkedhash-list-tests: Likewise.
101402         * modules/lock-tests: Likewise.
101403         * modules/md2-tests: Likewise.
101404         * modules/md4-tests: Likewise.
101405         * modules/md5-tests: Likewise.
101406         * modules/rbtree-list-tests: Likewise.
101407         * modules/rbtree-oset-tests: Likewise.
101408         * modules/rbtreehash-list-tests: Likewise.
101409         * modules/read-file-tests: Likewise.
101410         * modules/rijndael-tests: Likewise.
101411         * modules/stdint-tests: Likewise.
101412         * modules/tls-tests: Likewise.
101414 2007-02-24  Bruno Haible  <bruno@clisp.org>
101416         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
101417         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
101418         function; instead check whether isnan with a double argument links.
101419         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
101420         function; instead check whether isnan with a 'long double' argument
101421         links.
101422         Reported by Eric Blake <ebb9@byu.net>.
101424 2007-02-24  Bruno Haible  <bruno@clisp.org>
101426         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
101427         defined.
101428         * lib/isnanl.c: Remove all code. Just include isnan.c.
101429         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
101431 2007-02-25  Jim Meyering  <jim@meyering.net>
101433         Avoid conflicting types for 'unsetenv' on FreeBSD.
101434         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
101435         conflicting with FreeBSD's (5.0 and 6.1) function declaration
101436         in stdlib.h.
101438 2007-02-24  Bruno Haible  <bruno@clisp.org>
101440         * modules/isnanl-nolibm-tests: New file.
101441         * tests/test-isnanl.c: New file.
101443         * modules/isnanl-nolibm: New file.
101444         * lib/isnanl.h: New file.
101445         * lib/isnanl.c: New file.
101446         * m4/isnanl.m4: New file.
101448 2007-02-24  Bruno Haible  <bruno@clisp.org>
101450         * modules/isnan-nolibm-tests: New file.
101451         * tests/test-isnan.c: New file.
101453         * modules/isnan-nolibm: New file.
101454         * lib/isnan.h: New file.
101455         * lib/isnan.c: New file.
101456         * m4/isnan.m4: New file.
101458 2007-02-24  Bruno Haible  <bruno@clisp.org>
101460         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
101461         assume that an exponent fits in 20 bits.
101463 2007-02-24  Jim Meyering  <jim@meyering.net>
101465         * m4/regex.m4: Update the description of the configure-time option,
101466         --without-included-regex, to state accurately what the defaults are,
101467         and perhaps to give people an idea why using this option is risky.
101469 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
101471         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
101472         loops on small arguments.  This attempts to avoid the problem
101473         Bruno Haible reported for AIX 4.3.2 in
101474         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
101476 2007-02-23  Bruno Haible  <bruno@clisp.org>
101478         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
101479         Needed for help2man.
101481 2007-02-23  Karl Berry  <karl@gnu.org>
101483         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
101484         exists, foo.h should be cvs-ignored, not committed.
101486 2007-02-23  Eric Blake  <ebb9@byu.net>
101488         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
101489         * lib/stat-time.h (includes): Likewise.
101490         * lib/utimecmp.c (includes): Likewise.
101491         * lib/utimens.h (includes): Likewise.
101492         * lib/getdate.y (includes): Also include "timespec.h" for use
101493         internal to the module.
101494         * modules/utimens (Depends-on): Revert yesterday's patch.
101495         * modules/nanosleep (Depends-on): Add missing dependency.
101497 2007-02-22  Bruno Haible  <bruno@clisp.org>
101499         * lib/glob.c: Don't include getlogin_r.h.
101501 2007-02-22  Jim Meyering  <jim@meyering.net>
101503         * modules/utimens (Depends-on): Add timespec, required for
101504         utimens.h's inclusion of timespec.h.
101506 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
101508         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
101509         long unreadable paths in GNU/Linux.  Problem reported by Andreas
101510         Schwab in
101511         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
101512         I'll try to think of a better way to fix the Solaris problem.
101514         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
101515         like glibc; on Solaris 10, it fails with errno == EINVAL.
101516         POSIX says the behavior is unspecified if the first argument is NULL,
101517         so play it safe and never pass NULL to the system getcwd.
101519 2007-02-21  Jim Meyering  <jim@meyering.net>
101521         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
101522         of gettimeofday.  It would conflict with the one now always
101523         provided via sys_time_.h.  Reported by Matthew Woehlke, as
101524         an IRIX 6.5 build failure.
101526 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
101528         Minor fixups to port to Solaris 10 with Sun C 5.8.
101529         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
101530         * modules/getcwd (Depends-on): Add dirfd.
101531         * lib/putenv.c (putenv): #undef it.
101532         (rpl_putenv): New decl.
101533         (malloc, free): Include <stdlib.h> rather than prototyping separately.
101535 2007-02-20  Bruno Haible  <bruno@clisp.org>
101537         * modules/stdio-tests: New file.
101538         * tests/test-stdio.c: New file.
101540         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
101541         (Depends-on): Add stdio.
101542         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
101543         (Include): Use <stdio.h> instead of vsnprintf.h.
101544         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
101545         HAVE_DECL_VSNPRINTF.
101546         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
101548         * modules/snprintf (Files): Remove lib/snprintf.h.
101549         (Depends-on): Add stdio.
101550         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
101551         (Include): Use <stdio.h> instead of snprintf.h.
101552         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
101553         HAVE_DECL_SNPRINTF.
101554         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
101555         * lib/getaddrinfo.c: Likewise.
101557         * modules/stdio: New file.
101558         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
101559         * lib/snprintf.h: Remove file.
101560         * lib/vsnprintf.h: Remove file.
101561         * lib/.cppi-disable: Remove snprintf.h.
101562         * m4/stdio_h.m4: New file.
101563         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
101565 2007-02-20  Jim Meyering  <jim@meyering.net>
101567         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
101568         used by e.g., mingw.  From Bruno Haible.
101570 2007-02-19  Bruno Haible  <bruno@clisp.org>
101572         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
101573         warnings.
101574         Reported by Ben Pfaff <blp@cs.stanford.edu>.
101576 2007-02-19  Bruno Haible  <bruno@clisp.org>
101578         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
101579         from mingw users.
101581 2007-02-19  Bruno Haible  <bruno@clisp.org>
101583         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
101584         warnings.
101585         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
101587 2007-02-19  Jim Meyering  <jim@meyering.net>
101589         Don't use FD after a successful "fdopendir (fd)".
101590         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
101591         Reset it by calling dirfd on the just-obtained DIR*.
101593         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
101594         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
101596 2007-02-18  Bruno Haible  <bruno@clisp.org>
101598         * lib/readlink.c: Include <unistd.h>.
101599         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
101600         HAVE_READLINK.
101601         * modules/readlink (Depends-on): Add unistd.
101602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101603         (Include): Add <unistd.h>.
101605         * lib/getlogin_r.h: Remove file.
101606         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
101607         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
101608         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
101609         HAVE_DECL_GETLOGIN_R.
101610         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
101611         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101612         (Include): Use <unistd.h> instead of getlogin_r.h.
101614         * lib/getcwd.h: Remove file.
101615         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
101616         * lib/xgetcwd.c: Likewise.
101617         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
101618         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
101619         * modules/getcwd (Files): Remove lib/getcwd.h.
101620         (Depends-on): Add unistd.
101621         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101622         (Include): Use <unistd.h> instad of getcwd.h.
101624         * lib/ftruncate.c: Include <unistd.h> first.
101625         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
101626         Set HAVE_FTRUNCATE.
101627         * modules/ftruncate (Depends-on): Add unistd.
101628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101630         * lib/fchdir.c: Include <unistd.h> first.
101631         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
101632         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
101633         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
101634         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101635         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
101637         * lib/dup2.c: Include <unistd.h> first.
101638         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
101639         HAVE_DUP2.
101640         * modules/dup2 (Depends-on): Add unistd.
101641         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101643         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
101644         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
101645         REPLACE_CHOWN. Don't define chown as a macro here.
101646         * modules/chown (Depends-on): Add unistd.
101647         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
101649         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
101650         Add definition for GL_LINK_WARNING.
101651         (chown, dup2): New declarations.
101652         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
101653         link warning.
101654         (ftruncate): New declaration.
101655         (getcwd): New declaration, taken from old getcwd.h.
101656         (getlogin_r): New declaration, taken from old getlogin_r.h.
101657         (readlink): New declaration.
101658         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
101659         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
101660         (gl_PREREQ_UNISTD): Remove macro.
101661         (gl_UNISTD_MODULE_INDICATOR): New macro.
101662         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
101663         many new variables. Don't set UNISTD_H.
101664         * modules/unistd (Description): Change.
101665         (Depends-on): Add link-warning.
101666         (configure.ac): Update.
101667         (Makefile.am): Create unistd.h always. Substitute many new variables
101668         into it.
101670 2007-02-18  Bruno Haible  <bruno@clisp.org>
101672         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
101673         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
101674         HAVE_GETSUBOPT.
101675         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
101676         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
101677         * lib/getsubopt.h: Remove file.
101678         * modules/getsubopt (Files): Remove lib/getsubopt.h.
101679         (Depends-on): Add stdlib.
101680         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
101681         (Includes): Use <stdlib.h> instead of getsubopt.h.
101682         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
101683         Set HAVE_GETSUBOPT.
101684         * lib/getsubopt.c: Don't include getsubopt.h.
101686 2007-02-18  Bruno Haible  <bruno@clisp.org>
101688         * modules/fchdir (Depends-on): Add dup2.
101690 2007-02-18  Bruno Haible  <bruno@clisp.org>
101692         * lib/stdlib_.h: Handle glibc's special invocation convention
101693         specially.
101695 2007-02-18  Bruno Haible  <bruno@clisp.org>
101697         * modules/stdlib-tests: New file.
101698         * tests/test-stdlib.c: New file.
101700         * modules/mkstemp (Files): Remove lib/mkstemp.h.
101701         (Depends-on): Add stdlib.
101702         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
101703         (Includes): Use <stdlib.h> instead of mkstemp.h.
101704         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
101705         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
101706         * lib/mkstemp.c: Don't include mkstemp.h.
101707         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
101708         * lib/stdlib--.h: Don't include mkstemp.h.
101710         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
101711         (Depends-on): Add stdlib.
101712         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
101713         (Includes): Use <stdlib.h> instead of mkdtemp.h.
101714         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
101715         HAVE_MKDTEMP.
101716         * lib/mkdtemp.c: Don't include mkdtemp.h.
101717         * lib/clean-temp.c: Don't include mkdtemp.h.
101719         * modules/exit (Files): Remove lib/exit.h.
101720         (Depends-on): Add stdlib.
101721         (Makefile.am): Remove lib_SOURCES.
101722         (Include): Use <stdlib.h> instead of exit.h.
101723         * lib/argmatch.c: Don't include exit.h.
101724         * lib/execute.c: Likewise.
101725         * lib/pagealign_alloc.c: Likewise.
101726         * lib/pipe.c: Likewise.
101727         * lib/wait-process.c: Likewise.
101728         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
101729         * lib/exitfail.c: Likewise.
101730         * lib/savewd.c: Likewise.
101731         * lib/xsetenv.c: Likewise.
101733         * modules/stdlib: New file.
101734         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
101735         and extra comments about mkstemp().
101736         * lib/exit.h: Remove file.
101737         * lib/mkdtemp.h: Remove file.
101738         * lib/mkstemp.h: Remove file.
101739         * m4/stdlib_h.m4: New file.
101740         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
101742 2007-02-18  Bruno Haible  <bruno@clisp.org>
101744         * modules/math-tests: New file.
101745         * tests/test-math.c: New file.
101747         * modules/math: New file.
101748         * modules/mathl (Files): Remove lib/mathl.h.
101749         (Depends-on): Add math.
101750         (Makefile.am): Don't mention mathl.h.
101751         (Include): Use <math.h> instead of mathl.h.
101752         * lib/math_.h: New file.
101753         * lib/mathl.h: Remove file.
101754         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
101755         mathl.h.
101756         * lib/asinl.c: Likewise.
101757         * lib/atanl.c: Likewise.
101758         * lib/ceill.c: Likewise.
101759         * lib/cosl.c: Likewise.
101760         * lib/expl.c: Likewise.
101761         * lib/floorl.c: Likewise.
101762         * lib/frexpl.c: Likewise.
101763         * lib/ldexpl.c: Likewise.
101764         * lib/logl.c: Likewise.
101765         * lib/sincosl.c: Likewise.
101766         * lib/sinl.c: Likewise.
101767         * lib/sqrtl.c: Likewise.
101768         * lib/tanl.c: Likewise.
101769         * lib/trigl.c: Likewise.
101770         * m4/math_h.m4: New file.
101771         * MODULES.html.sh (Mathematics): Add math.
101773 2007-02-17  Bruno Haible  <bruno@clisp.org>
101775         * modules/wctype-tests: New file.
101776         * tests/test-wctype.c: New file.
101778         * modules/wchar-tests: New file.
101779         * tests/test-wchar.c: New file.
101781         * modules/unistd-tests: New file.
101782         * tests/test-unistd.c: New file.
101784         * modules/time-tests: New file.
101785         * tests/test-time.c: New file.
101787         * modules/sysexits-tests: New file.
101788         * tests/test-sysexits.c: New file.
101790         * modules/sys_time-tests: New file.
101791         * tests/test-sys_time.c: New file.
101793         * modules/sys_stat-tests: New file.
101794         * tests/test-sys_stat.c: New file.
101796         * modules/sys_socket-tests: New file.
101797         * tests/test-sys_socket.c: New file.
101799         * modules/sys_select-tests: New file.
101800         * tests/test-sys_select.c: New file.
101802         * modules/string-tests: New file.
101803         * tests/test-string.c: New file.
101805         * modules/stdbool-tests: New file.
101806         * tests/test-stdbool.c: New file.
101808         * modules/netinet_in-tests: New file.
101809         * tests/test-netinet_in.c: New file.
101811         * modules/inttypes-tests: New file.
101812         * tests/test-inttypes.c: New file.
101814         * modules/fcntl-tests: New file.
101815         * tests/test-fcntl.c: New file.
101817         * modules/byteswap-tests: New file.
101818         * tests/test-byteswap.c: New file.
101820         * modules/arpa_inet-tests: New file.
101821         * tests/test-arpa_inet.c: New file.
101823 2007-02-17  Bruno Haible  <bruno@clisp.org>
101825         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
101826         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
101827         if the corresponding module is not enabled. Emit link warnings if
101828         the function is used nevertheless.
101829         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
101830         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
101831         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
101832         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
101833         * modules/inttypes (Depends-on): Add link-warning.
101834         (Makefile.am): Copy the contents of build-aux/link-warning.h into
101835         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
101836         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
101837         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
101838         * modules/imaxdiv (configure.ac): Likewise.
101839         * modules/strtoimax (configure.ac): Likewise.
101840         * modules/strtoumax (configure.ac): Likewise.
101842 2007-02-17  Bruno Haible  <bruno@clisp.org>
101844         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
101845         gl_STRING_MODULE_INDICATOR_DEFAULTS.
101846         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
101847         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
101849 2007-02-17  Bruno Haible  <bruno@clisp.org>
101851         * modules/link-warning: New file.
101852         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
101853         * lib/string_.h (GL_LINK_WARNING): Remove definition.
101854         * modules/string (Depends-on): Add link-warning.
101855         (Makefile.am): Copy the contents of build-aux/link-warning.h into
101856         string.h.
101857         * MODULES.html.sh (Support for building libraries and executables): Add
101858         link-warning.
101860 2007-02-17  Bruno Haible  <bruno@clisp.org>
101862         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
101863         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
101864         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
101865         long lines.
101867 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
101868             Bruno Haible  <bruno@clisp.org>
101870         * modules/tmpfile: New file.
101871         * lib/tmpfile.c: New file.
101872         * m4/tmpfile.m4: New file.
101873         * MODULES.html.sh (func_all_modules): New section "Input/output".
101875 2007-02-15  Bruno Haible  <bruno@clisp.org>
101877         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
101878         (supports_delete_on_close): New function.
101879         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
101881 2007-02-14  Bruno Haible  <bruno@clisp.org>
101883         * modules/mbspcasecmp-tests: New file.
101884         * tests/test-mbspcasecmp.sh: New file.
101885         * tests/test-mbspcasecmp.c: New file.
101887         New module mbspcasecmp.
101888         * modules/mbspcasecmp: New file.
101889         * lib/mbspcasecmp.c: New file.
101890         * lib/string_.h (strncasecmp): Change warning message.
101891         (mbspcasecmp): New declaration.
101892         * m4/mbspcasecmp.m4: New file.
101893         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
101894         GNULIB_MBSPCASECMP.
101895         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
101896         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
101898 2007-02-14  Bruno Haible  <bruno@clisp.org>
101900         * modules/mbsncasecmp-tests: New file.
101901         * tests/test-mbsncasecmp.sh: New file.
101902         * tests/test-mbsncasecmp.c: New file.
101904         New module mbsncasecmp.
101905         * modules/mbsncasecmp: New file.
101906         * lib/mbsncasecmp.c: New file.
101907         * lib/string_.h (mbsncasecmp): New declaration.
101908         * m4/mbsncasecmp.m4: New file.
101909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
101910         GNULIB_MBSNCASECMP.
101911         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
101912         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
101914 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
101916         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
101917         Verify that it doesn't overlap with our flags.
101918         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
101919         do not have the desired effect in multibyte locales; instead, use
101920         mbscasecmp.
101921         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
101922         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
101923         we don't require GNU fnmatch ourselves (if our users require it, they
101924         should do so explicitly).
101926         Fix regex code so it doesn't rely on strcasecmp.
101927         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
101928         Otherwise, include gnulib's langinfo.h.
101929         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
101930         undesirable behavior in non-C locales.  Instead, rely on localecharset.
101931         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
101932         * modules/regex (FILES): Remove m4/codeset.m4.
101933         (Depends-on): Add localcharset.  Remove strcase.
101935 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101937         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
101938         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
101940 2007-02-13  Bruno Haible  <bruno@clisp.org>
101942         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
101943         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101945 2007-02-12  Bruno Haible  <bruno@clisp.org>
101947         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
101948         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
101949         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
101950         time warning rather than a link error.
101952 2007-02-12  Bruno Haible  <bruno@clisp.org>
101954         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
101955         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
101956         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101958 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
101960         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
101961         args, not 2.
101963 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
101965         New module 'time', so that apps can include <time.h> as per
101966         POSIX and GNU instead of separate include files like time_r.h
101967         and timegm.h.  This implementation tries out a simpler approach
101968         for replacing decls in standard include files (as compared to
101969         the string module), somewhat as an experiment.
101971         * config/srclist.txt: Comment out mktime.c for now.
101972         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
101973         since it doesn't apply any more.  Use generic wording instead.
101974         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
101975         'time'.
101976         * lib/time_.h, m4/time_h.m4, modules/time: New files.
101977         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
101978         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
101979         Don't include <sys/types.h>; no longer needed since we assume C89.
101980         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
101981         * lib/strftime.c: Likewise.
101982         * lib/time_r.c: Likewise.
101983         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
101984         * lib/nanosleep.c: Include <time.h> first, to check interface.
101985         * lib/strptime.c: Likewise.
101986         * lib/time_r.c: Likewise.
101987         * lib/timegm.c: Likewise.
101988         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
101989         needed.
101990         * lib/timegm.c: Don't include timegm.h; no longer needed.
101991         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
101992         time.h now handles any problems in that area.
101993         (struct timespec, nanosleep): Remove; time.h now arranges for these.
101994         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
101995         that time.h defines struct timespec.
101996         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
101997         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
101998         handles that.
101999         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
102000         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
102001         needed.  Set REPLACE_LOCALTIME.
102002         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
102003         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
102004         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
102005         nanosleep; time_h.m4 now does that.  Don't require
102006         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
102007         module handles this now.
102008         * modules/getdate (Depends-on): Remove timespec.  Add time.
102009         * modules/nanosleep (Depends-on): Likewise.
102010         * modules/stat-time (Depends-on): Likewise.
102011         * modules/nanosleep (Include): Include time.h, not timespec.h.
102012         * modules/strptime (Files): Remove lib/strptime.h.
102013         (Depends-on): Add extensions, time.
102014         (Include): Include time.h, not strptime.h.
102015         * modules/time_r (Files): Remove lib/time_r.h.
102016         (Depends-on): Add time.
102017         (Include): Include time.h, not time_r.h.
102018         * modules/timegm: Likewise.
102019         * modules/timespec (Description): Now does timespec-related decls
102020         of our own, instead of struct timespec itself.
102021         (Depends-on): Add time; remove extensions.
102022         (Maintainer): Add self.
102023         * modules/utimecmp (Depends-on): Add time; remove timespec.
102024         * modules/utimens (Depends-on): Likewise.
102025         * modules/xnanosleep (Depends-on): Likewise.
102027 2007-02-11  Bruno Haible  <bruno@clisp.org>
102029         * lib/c-strstr.c: Include allocsa.h.
102030         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
102031         * lib/c-strcasestr.c: Include allocsa.h.
102032         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
102033         * lib/strcasestr.c: Include allocsa.h.
102034         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
102035         * lib/mbsstr.c: Include allocsa.h.
102036         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
102037         allocsa/freesa instead of malloc/free.
102038         * lib/mbscasestr.c: Include allocsa.h.
102039         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
102040         allocsa/freesa instead of malloc/free.
102041         * modules/c-strstr (Depends-on): Add allocsa.
102042         * modules/c-strcasestr (Depends-on): Likewise.
102043         * modules/strcasestr (Depends-on): Likewise.
102044         * modules/mbsstr (Depends-on): Likewise.
102045         * modules/mbscasestr (Depends-on): Likewise.
102047 2007-02-11  Bruno Haible  <bruno@clisp.org>
102049         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
102051         * modules/mbsspn-tests: New file.
102052         * tests/test-mbsspn.sh: New file.
102053         * tests/test-mbsspn.c: New file.
102055 2007-02-11  Bruno Haible  <bruno@clisp.org>
102057         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
102059         * modules/mbspbrk-tests: New file.
102060         * tests/test-mbspbrk.sh: New file.
102061         * tests/test-mbspbrk.c: New file.
102063 2007-02-11  Bruno Haible  <bruno@clisp.org>
102065         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
102066         unneeded cast.
102068         * modules/mbscspn-tests: New file.
102069         * tests/test-mbscspn.sh: New file.
102070         * tests/test-mbscspn.c: New file.
102072 2007-02-11  Bruno Haible  <bruno@clisp.org>
102074         * modules/mbscasecmp-tests: New file.
102075         * tests/test-mbscasecmp.sh: New file.
102076         * tests/test-mbscasecmp.c: New file.
102078 2007-02-11  Bruno Haible  <bruno@clisp.org>
102080         Ensure O(n) worst-case complexity of mbscasestr.
102081         * lib/mbscasestr.c: Include stdbool.h.
102082         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
102083         functions.
102084         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
102085         the bookkeeping indicates that it's worth it.
102086         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
102088         * modules/mbscasestr-tests: New file.
102089         * tests/test-mbscasestr1.c: New file.
102090         * tests/test-mbscasestr2.sh: New file.
102091         * tests/test-mbscasestr2.c: New file.
102092         * tests/test-mbscasestr3.sh: New file.
102093         * tests/test-mbscasestr3.c: New file.
102094         * tests/test-mbscasestr4.sh: New file.
102095         * tests/test-mbscasestr4.c: New file.
102096         * m4/locale-tr.m4: New file.
102098 2007-02-11  Bruno Haible  <bruno@clisp.org>
102100         Ensure O(n) worst-case complexity of mbsstr.
102101         * lib/mbsstr.c: Include stdbool.h.
102102         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
102103         functions.
102104         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
102105         bookkeeping indicates that it's worth it.
102106         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
102108         * modules/mbsstr-tests: New file.
102109         * tests/test-mbsstr1.c: New file.
102110         * tests/test-mbsstr2.sh: New file.
102111         * tests/test-mbsstr2.c: New file.
102112         * tests/test-mbsstr3.sh: New file.
102113         * tests/test-mbsstr3.c: New file.
102114         * m4/locale-fr.m4: New file.
102116 2007-02-11  Bruno Haible  <bruno@clisp.org>
102118         * lib/mbsrchr.c (mbsrchr): Fix bug.
102120         * modules/mbsrchr-tests: New file.
102121         * tests/test-mbsrchr.sh: New file.
102122         * tests/test-mbsrchr.c: New file.
102124 2007-02-11  Bruno Haible  <bruno@clisp.org>
102126         * lib/mbschr.c (mbschr): Fix bug.
102128         * modules/mbschr-tests: New file.
102129         * tests/test-mbschr.sh: New file.
102130         * tests/test-mbschr.c: New file.
102131         * m4/locale-zh.m4: New file.
102133 2007-02-11  Bruno Haible  <bruno@clisp.org>
102135         Support for copying multibyte string iterators.
102136         * lib/mbiter.h: Include <string.h>.
102137         (mbiter_multi_copy): New function.
102138         (mbi_copy): New macro.
102139         * lib/mbuiter.h: Include <string.h>.
102140         (mbuiter_multi_copy): New function.
102141         (mbui_copy): New macro.
102143 2007-02-11  Bruno Haible  <bruno@clisp.org>
102145         New module mbslen.
102146         * modules/mbslen: New file.
102147         * lib/mbslen.c: New file.
102148         * lib/string_.h (mbslen): New declaration.
102149         * m4/mbslen.m4: New file.
102150         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102151         GNULIB_MBSLEN.
102152         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
102153         * MODULES.html.sh (Internationalization functions): Add mbslen.
102155 2007-02-11  Bruno Haible  <bruno@clisp.org>
102157         Ensure O(n) worst-case complexity of strcasestr substitute.
102158         * lib/strcasestr.c: Include stdbool.h.
102159         (knuth_morris_pratt): New function.
102160         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
102161         bookkeeping indicates that it's worth it.
102162         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
102164         * modules/strcasestr-tests: New file.
102165         * tests/test-strcasestr.c: New file.
102167 2007-02-11  Bruno Haible  <bruno@clisp.org>
102169         Ensure O(n) worst-case complexity of c_strcasestr.
102170         * lib/c-strcasestr.c: Include stdbool.h, string.h.
102171         (knuth_morris_pratt): New function.
102172         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
102173         the bookkeeping indicates that it's worth it.
102174         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
102176         * modules/c-strcasestr-tests: New file.
102177         * tests/test-c-strcasestr.c: New file.
102179 2007-02-11  Bruno Haible  <bruno@clisp.org>
102181         Ensure O(n) worst-case complexity of c_strstr.
102182         * lib/c-strstr.c: Include stdbool.h, string.h.
102183         (knuth_morris_pratt): New function.
102184         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
102185         bookkeeping indicates that it's worth it.
102186         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
102188         * lib/c-strstr.c: Complete rewrite for maintainability.
102190         * modules/c-strstr-tests: New file.
102191         * tests/test-c-strstr.c: New file.
102193 2007-02-11  Bruno Haible  <bruno@clisp.org>
102195         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
102196         5.2.1 and earlier, whereby \055 was treated just like the range
102197         delimiter '-'.
102198         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
102200 2007-02-08  Bruno Haible  <bruno@clisp.org>
102202         * modules/regex (Depends-on): Add stdbool.
102203         Reported by Dalibor Topic <robilad@kaffe.org>.
102205 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
102207         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
102208         Prefer returning from main to exiting from it.
102209         Remove unnecessary parens after sizeof.
102211 2007-02-05  Bruno Haible  <bruno@clisp.org>
102213         New module mbssep.
102214         * modules/mbssep: New file.
102215         * lib/mbssep.c: New file.
102216         * lib/string_.h (strsep): Add a conditional link warning.
102217         (mbssep): New declaration.
102218         * m4/mbssep.m4: New file.
102219         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102220         GNULIB_MBSSEP.
102221         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
102222         * MODULES.html.sh (Internationalization functions): Add mbssep.
102224 2007-02-05  Bruno Haible  <bruno@clisp.org>
102226         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
102227         Optimize search in case of 1 delimiter.
102229 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
102231         * lib/acl.h: Include sys/types.h before sys/acl.h.
102233 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
102235         Merge upstream fix for glibc bugzilla #3957:
102237         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
102239         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
102240         bit for RE_HAT_LISTS_NOT_NEWLINE.
102241         (build_charclass_op): Remove bogus comment.
102243 2007-02-05  Simon Josefsson  <simon@josefsson.org>
102245         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
102247 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
102249         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
102250         * lib/memmem.c [!defined _LIBC]: Include config.h.
102252 2007-02-04  Bruno Haible  <bruno@clisp.org>
102254         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
102255         warning message.
102257 2007-02-04  Bruno Haible  <bruno@clisp.org>
102259         New module mbstok_r.
102260         * modules/mbstok_r: New file.
102261         * lib/mbstok_r.c: New file.
102262         * lib/string_.h (strtok_r): Change argument names to match the
102263         comments. Add a conditional link warning.
102264         (mbstok_r): New declaration.
102265         * m4/mbstok_r.m4: New file.
102266         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102267         GNULIB_MBSTOK_R.
102268         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
102269         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
102271 2007-02-04  Bruno Haible  <bruno@clisp.org>
102273         New module mbsspn.
102274         * modules/mbsspn: New file.
102275         * lib/mbsspn.c: New file.
102276         * lib/string_.h (strspn): Add a conditional link warning.
102277         (mbsspn): New declaration.
102278         * m4/mbsspn.m4: New file.
102279         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102280         GNULIB_MBSSPN.
102281         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
102282         * MODULES.html.sh (Internationalization functions): Add mbsspn.
102284 2007-02-04  Bruno Haible  <bruno@clisp.org>
102286         New module mbspbrk.
102287         * modules/mbspbrk: New file.
102288         * lib/mbspbrk.c: New file.
102289         * lib/string_.h (strpbrk): Add a conditional link warning.
102290         (mbspbrk): New declaration.
102291         * m4/mbspbrk.m4: New file.
102292         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102293         GNULIB_MBSPBRK.
102294         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
102295         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
102297 2007-02-04  Bruno Haible  <bruno@clisp.org>
102299         New module mbscspn.
102300         * modules/mbscspn: New file.
102301         * lib/mbscspn.c: New file.
102302         * lib/string_.h (strcspn): Add a conditional link warning.
102303         (mbscspn): New declaration.
102304         * m4/mbscspn.m4: New file.
102305         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102306         GNULIB_MBSCSPN.
102307         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
102308         * MODULES.html.sh (Internationalization functions): Add mbscspn.
102310 2007-02-04  Bruno Haible  <bruno@clisp.org>
102312         New module mbscasestr, reduced goal of strcasestr.
102313         * modules/mbscasestr: New file.
102314         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
102315         (mbscasestr): Renamed from strcasestr.
102316         * lib/strcasestr.c: Don't include mbuiter.h.
102317         (strcasestr): Remove support for multibyte locales.
102318         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
102319         Change the conditional link warning.
102320         (mbscasestr): New declaration.
102321         * m4/mbscasestr.m4: New file.
102322         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
102323         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
102324         REPLACE_STRCASESTR.
102325         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
102326         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
102327         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
102328         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
102329         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
102330         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
102331         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
102332         (Depends-on): Remove mbuiter.
102333         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
102335 2007-02-04  Bruno Haible  <bruno@clisp.org>
102337         Simplify handling of strncasecmp.
102338         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
102339         the conditional link warning.
102340         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
102341         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
102342         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
102343         * modules/strcase (configure.ac): Don't invoke
102344         gl_STRING_MODULE_INDICATOR.
102345         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
102347 2007-02-04  Bruno Haible  <bruno@clisp.org>
102349         New module mbscasecmp, reduced goal of strcasecmp.
102350         * modules/mbscasecmp: New file.
102351         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
102352         (mbscasecmp): Renamed from strcasecmp.
102353         * lib/strcasecmp.c: Don't include mbuiter.h.
102354         (strcasecmp): Remove support for multibyte locales.
102355         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
102356         Change the conditional link warning.
102357         (mbscasecmp): New declaration.
102358         * m4/mbscasecmp.m4: New file.
102359         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
102360         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
102361         REPLACE_STRCASECMP.
102362         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
102363         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102364         GNULIB_MBSCASECMP.
102365         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
102366         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
102367         * modules/strcase (Files): Remove m4/mbrtowc.m4.
102368         (Depends-on): Remove mbuiter.
102369         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
102371 2007-02-04  Bruno Haible  <bruno@clisp.org>
102373         New module mbsstr. Remove module strstr.
102374         * modules/mbsstr: New file.
102375         * modules/strstr: Remove file.
102376         * lib/mbsstr.c: Renamed from lib/strstr.c.
102377         (mbsstr): Renamed from strstr.
102378         * lib/string_.h (strstr): Remove declaration. Change the conditional
102379         link warning.
102380         (mbsstr): New declaration.
102381         * m4/mbsstr.m4: New file.
102382         * m4/strstr.m4: Remove file.
102383         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
102384         REPLACE_STRSTR.
102385         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
102386         Don't initialize GNULIB_STRSTR.
102387         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
102388         substitute GNULIB_STRSTR and REPLACE_STRSTR.
102389         * MODULES.html.sh (Internationalization functions): Add mbsstr.
102390         (Support for systems lacking ANSI C 89): Remove strstr.
102392 2007-02-04  Bruno Haible  <bruno@clisp.org>
102394         New module mbsrchr.
102395         * modules/mbsrchr: New file.
102396         * lib/mbsrchr.c: New file.
102397         * lib/string_.h (strrchr): Add a conditional link warning.
102398         (mbsrchr): New declaration.
102399         * m4/mbsrchr.m4: New file.
102400         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102401         GNULIB_MBSRCHR.
102402         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
102403         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
102405 2007-02-04  Bruno Haible  <bruno@clisp.org>
102407         New module mbschr.
102408         * modules/mbschr: New file.
102409         * lib/mbschr.c: New file.
102410         * lib/string_.h (strchr): Add a conditional link warning.
102411         (mbschr): New declaration.
102412         * m4/mbschr.m4: New file.
102413         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
102414         GNULIB_MBSCHR.
102415         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
102416         * MODULES.html.sh (Internationalization functions): Add mbschr.
102418 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
102420         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
102422         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
102424 2007-02-04  Bruno Haible  <bruno@clisp.org>
102426         New module description section 'configure.ac-early'.
102427         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
102428         (func_get_autoconf_early_snippet): New function.
102429         (func_import, func_create_testdir): Use it. Remove special cases for
102430         modules 'extensions' and 'lock'.
102431         * modules/extensions (configure.ac-early): Require
102432         gl_USE_SYSTEM_EXTENSIONS.
102433         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
102435 2007-02-04  Bruno Haible  <bruno@clisp.org>
102437         Make use of gcj-4.3's -fsource and -ftarget option.
102438         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
102439         and if so try the options -fsource and -ftarget.
102440         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
102441         source_version, ftarget_option, target_version arguments.
102442         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
102443         (is_envjavac_oldgcj_14_14_usable): Renamed from
102444         is_envjavac_gcj_14_14_usable.
102445         (is_envjavac_oldgcj_14_13_usable): Renamed from
102446         is_envjavac_gcj_14_13_usable.
102447         (is_gcj_present): Update.
102448         (is_gcj_43, is_gcj43_usable): New functions.
102449         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
102450         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
102451         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
102452         try the options -fsource and -ftarget.
102454 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
102456         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
102457         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
102458         larger value.
102460 2007-02-03  Jim Meyering  <jim@meyering.net>
102462         Give tools a better chance to allocate space for very large buffers.
102463         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
102465         Make pwd and readlink work also when run with an unreadable parent dir
102466         on systems with openat support.
102467         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
102468         provided getcwd function, even when we have openat support.
102469         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
102471 2007-02-02  Bruno Haible  <bruno@clisp.org>
102473         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
102474         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
102475         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
102476         portability problems if one of these functions is only used on specific
102477         platforms.
102478         Reported by Paul Eggert.
102480 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
102482         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
102483         is causing more trouble than it's curing.
102484         * lib/regex_internal.h (__mempcpy): Remove.
102485         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
102486         (and make the code a tad smaller to boot).
102487         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
102489 2007-02-02  Jim Meyering  <jim@meyering.net>
102491         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
102492         section, not in the Makefile.am: one.
102494 2007-02-02  Eric Blake  <ebb9@byu.net>
102496         * lib/strchrnul.c: Always include config.h first.
102498         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
102499         gnulib strstr is not necessary here.
102501 2007-02-02  Simon Josefsson  <simon@josefsson.org>
102503         * m4/socklen.m4: Fix typo.
102505 2007-02-02  Eric Blake  <ebb9@byu.net>
102507         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
102508         * modules/netinet_in (Makefile.am): Likewise.
102510 2007-02-01  Bruno Haible  <bruno@clisp.org>
102512         * lib/string_.h (GL_LINK_WARNING): New macro.
102513         (strcasecmp, strstr, strcasestr): If provided by the system,
102514         conditionally define as a macro that leads to a warning instead of to
102515         an error.
102516         (strncasecmp): Conditionally define as a macro that leads to a warning.
102518 2007-02-01  Karl Berry  <karl@gnu.org>
102520         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
102522 2007-02-01  Bruno Haible  <bruno@clisp.org>
102524         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
102525         renamings.
102527 2007-02-01  Eric Blake  <ebb9@byu.net>
102529         * modules/regex (Depends-on): Revert dependence on mempcpy.
102530         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
102531         module's definition of mempcpy.
102532         Reported by Paul Eggert.
102534 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
102536         * lib/string_.h: If the gnulib module XYZ is not present, undefine
102537         the symbol XYZ before redefining it.  This fixes a problem with
102538         programs that don't use XYZ, when compiled on systems that define
102539         XYZ to something else.
102541 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
102543         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
102544         occurs when "mkdir -m foo" creates a setgid directory that is (1)
102545         writeable to group or other and (2) is intended to have a special
102546         mode bit that is set or cleared.  In such a case, the directory
102547         should be neither group- nor other-writeable until the special
102548         mode bits are right.
102550 2007-01-31  Eric Blake  <ebb9@byu.net>
102552         * modules/mountlist (Depends-on): Add strstr.
102554         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
102555         bug.
102556         * modules/string (Makefile.am): Remove redundant replacement.
102557         * modules/regex (Depends-on): Add mempcpy.
102559 2007-01-31  Bruno Haible  <bruno@clisp.org>
102561         New module description field 'Link'.
102562         * gnulib-tool (func_usage): Document --extract-link-directive.
102563         (sed_extract_prog): Recognize 'Link' directive.
102564         (func_get_link_directive): New function.
102565         (func_import): Show summary of link directives.
102566         Handle --extract-link-directive option.
102567         * modules/acl (Link): New section.
102568         * modules/clock-time (Link): New section.
102569         * modules/euidaccess (Link): New section.
102570         * modules/gettext (Link): New section.
102571         * modules/iconv (Link): New section.
102572         * modules/lock (Link): New section.
102573         * modules/nanosleep (Link): New section.
102574         * modules/readline (Link): New section.
102576 2007-01-27  Bruno Haible  <bruno@clisp.org>
102578         Enforce the use of gnulib modules for unportable <string.h> functions.
102579         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
102580         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
102581         (gl_HEADER_STRING_H_BODY): Require it.
102582         * lib/string_.h: If the gnulib module XYZ is not present, redefine
102583         the symbol XYZ to one that gives a link error.
102584         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
102585         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
102586         * modules/mempcpy (configure.ac): Likewise.
102587         * modules/memrchr (configure.ac): Likewise.
102588         * modules/stpcpy (configure.ac): Likewise.
102589         * modules/stpncpy (configure.ac): Likewise.
102590         * modules/strcase (configure.ac): Likewise.
102591         * modules/strcasestr (configure.ac): Likewise.
102592         * modules/strchrnul (configure.ac): Likewise.
102593         * modules/strdup (configure.ac): Likewise.
102594         * modules/strndup (configure.ac): Likewise.
102595         * modules/strnlen (configure.ac): Likewise.
102596         * modules/strpbrk (configure.ac): Likewise.
102597         * modules/strsep (configure.ac): Likewise.
102598         * modules/strstr (configure.ac): Likewise.
102599         * modules/strtok_r (configure.ac): Likewise.
102601 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
102603         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
102605 2007-01-30  Jim Meyering  <jim@meyering.net>
102607         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
102609 2007-01-29  Bruno Haible  <bruno@clisp.org>
102611         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
102612         * lib/execute.c: Likewise.
102613         * lib/pipe.c: Likewise.
102614         * lib/printf-args.h: Likewise.
102615         * lib/printf-args.c: Likewise.
102616         * lib/printf-parse.c: Likewise.
102617         * lib/vasnprintf.c: Likewise.
102619 2007-01-29  Eric Blake  <ebb9@byu.net>
102621         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
102622         declaration.
102624 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
102626         * lib/strptime.h (strptime): Use 'restrict' for args where
102627         POSIX requires this.
102628         * lib/strptime.c (strptime): Likewise.
102629         Change license notice from LGPL to GPL, since gnulib-tool will
102630         change this as needed.
102631         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
102632         defined.
102633         Include "strptime.h" first, to check interface.
102634         Do not #undef _LIBC and _NL_CURRENT.
102635         Do not include <stdlib.h>; no longer needed.
102636         Include "time_r.h" and declare ptime_locale_status
102637         only if _LIBC is not defined.
102638         (__P): Remove unused macro.
102639         (match_string): Bring back glibc version, but use it only if _LIBC
102640         is defined.
102641         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
102642         Remove unnecessary assertion and abort() call.
102643         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
102644         * m4/strptime.m4: Fix serial number comment.
102645         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
102646         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
102647         (Depends-on): Add time_r.
102649 2007-01-29  Bruno Haible  <bruno@clisp.org>
102651         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
102652         strptime.
102653         * modules/strptime (Depends-on): Add stdbool.
102654         * lib/strptime.h: Include <time.h> always. Add comments.
102656 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102658         * modules/strptime: New file.
102659         * lib/strptime.h: New file.
102660         * lib/strptime.c: New file.
102661         * m4/strptime.m4: New file.
102663 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
102665         * MODULES.html.sh: New module mpsort.
102666         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
102668         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
102669         a circularity problem with HP-UX ia64 reported by Bob Proulx in
102670         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
102671         All uses changed.
102672         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
102673         All uses changed.
102674         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
102675         to _Restrict_.
102676         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
102677         the parameter matches the prototype.
102679 2007-01-28  Jim Meyering  <jim@meyering.net>
102681         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
102682         sys/time.h here, reverting that part of the previous patch:
102683         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
102685 2007-01-28  Bruno Haible  <bruno@clisp.org>
102687         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
102688         value of $(SYS_TIME_H).
102689         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
102690         remove it conditionally, too. [added by Jim Meyering]
102691         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
102692         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
102693         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
102694         GETTIMEOFDAY_REPLACEMENT to 1.
102696 2007-01-28  Bruno Haible  <bruno@clisp.org>
102698         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
102699         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
102700         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
102701         Set UNISTD_H instead of UNISTD_H2.
102702         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
102704 2007-01-28  Bruno Haible  <bruno@clisp.org>
102706         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
102707         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
102709 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102711         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
102712         (func_create_testdir): Ensure C locale for `grep' and `tr'
102713         character ranges.
102714         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
102715         ACLOCAL_AMFLAGS parsing state machine.
102717 2007-01-27  Bruno Haible  <bruno@clisp.org>
102719         * modules/unistr/base: Update.
102721 2007-01-27  Bruno Haible  <bruno@clisp.org>
102723         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
102724         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
102725         * modules/unistr/u32-mbtouc-unsafe: Renamed from
102726         modules/unistr/u32-mbtouc.
102727         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
102728         * lib/unistr.h: Update.
102729         * lib/linebreak.c: Update.
102730         * modules/unistr/u32-mbtouc: Renamed from
102731         modules/unistr/u32-mbtouc-safe.
102732         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
102733         * lib/unistr.h: Update.
102734         * lib/unistr/u32-to-u8.c: Update.
102735         * lib/unistr/u32-to-u16.c: Update.
102737 2007-01-27  Bruno Haible  <bruno@clisp.org>
102739         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
102740         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
102741         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
102742         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
102743         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
102744         * modules/unistr/u16-mbtouc-unsafe: Renamed from
102745         modules/unistr/u16-mbtouc.
102746         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
102747         * lib/unistr.h: Update.
102748         * lib/linebreak.c: Update.
102749         * modules/linebreak: Update.
102750         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
102751         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
102752         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
102753         * modules/unistr/u16-mbtouc: Renamed from
102754         modules/unistr/u16-mbtouc-safe.
102755         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
102756         * lib/unistr.h: Update.
102757         * lib/unistr/u16-to-u8.c: Update.
102758         * modules/unistr/u16-to-u8: Update.
102759         * lib/unistr/u16-to-u32.c: Update.
102760         * modules/unistr/u16-to-u32: Update.
102762 2007-01-27  Bruno Haible  <bruno@clisp.org>
102764         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
102765         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
102766         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
102767         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
102768         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
102769         * modules/unistr/u8-mbtouc-unsafe: Renamed from
102770         modules/unistr/u8-mbtouc.
102771         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
102772         * lib/unistr.h: Update.
102773         * lib/striconveh.c: Update.
102774         * modules/striconveh: Update.
102775         * lib/linebreak.c: Update.
102776         * modules/linebreak: Update.
102777         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
102778         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
102779         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
102780         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
102781         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
102782         * lib/unistr.h: Update.
102783         * lib/striconveh.c: Update.
102784         * modules/striconveh: Update.
102785         * lib/unistr/u8-to-u16.c: Update.
102786         * modules/unistr/u8-to-u16: Update.
102787         * lib/unistr/u8-to-u32.c: Update.
102788         * modules/unistr/u8-to-u32: Update.
102790 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102792         Sync from Libtool.
102793         * lib/argz.c: Do not include strings.h nor memory.h, include
102794         string.h unconditionally.  Patch by Simon Josefsson.
102796 2007-01-27  Bruno Haible  <bruno@clisp.org>
102798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
102799         from gl_HEADER_STRING_H_BODY.
102800         (gl_HEADER_STRING_H_BODY): Require it.
102801         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
102802         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
102803         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
102804         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
102805         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
102806         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
102807         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
102808         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
102809         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
102810         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
102811         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
102812         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
102813         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
102814         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
102815         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
102817 2007-01-27  Bruno Haible  <bruno@clisp.org>
102819         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
102820         check_PROGRAMS into noinst_PROGRAMS.
102821         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
102822         check_PROGRAMS in this case.
102823         (func_import): Set for_test to false.
102824         (func_create_testdir): Set for_test to true.
102826 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102827             Bruno Haible  <bruno@clisp.org>
102829         * modules/strcasestr (Files): Remove lib/strcasestr.h.
102830         (Depends-on): Add string.
102831         (Includes): Use <string.h> instead of strcasestr.h.
102832         * modules/string (Makefile.am): Also substitute the value of
102833         REPLACE_STRCASESTR.
102834         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
102835         assume strcasestr is declared in <string.h> not <strings.h>. Also
102836         set REPLACE_STRCASESTR.
102837         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
102838         REPLACE_STRCASESTR.
102839         * lib/strcasestr.h: Remove file.
102840         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
102841         * lib/string_.h (strcasestr): New declaration.
102843 2007-01-27  Bruno Haible  <bruno@clisp.org>
102845         * lib/string_.h: Use 'extern'.
102847 2007-01-27  Jim Meyering  <jim@meyering.net>
102849         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
102850         of set-but-not-used local, "q".
102852         * lib/mempcpy.c: Include <config.h> before <string.h>.
102853         This fixes a compilation error on HP-UX, due to the system's
102854         "restrict"-using mempcpy prototype.
102856 2007-01-26  Bruno Haible  <bruno@clisp.org>
102858         Small optimization.
102859         * lib/javacomp.c: Include c-strstr.h.
102860          (is_envjavac_gcj): Use c_strstr instead of strstr.
102861         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
102863 2007-01-26  Bruno Haible  <bruno@clisp.org>
102865         * MODULES.html.sh (Unicode string functions): Add the new modules.
102867         * modules/uniconv/u32-strconv-to-locale: New file.
102868         * lib/uniconv/u32-strconv-to-locale.c: New file.
102870         * modules/uniconv/u16-strconv-to-locale: New file.
102871         * lib/uniconv/u16-strconv-to-locale.c: New file.
102873         * modules/uniconv/u8-strconv-to-locale: New file.
102874         * lib/uniconv/u8-strconv-to-locale.c: New file.
102876         * modules/uniconv/u32-strconv-from-locale: New file.
102877         * lib/uniconv/u32-strconv-from-locale.c: New file.
102879         * modules/uniconv/u16-strconv-from-locale: New file.
102880         * lib/uniconv/u16-strconv-from-locale.c: New file.
102882         * modules/uniconv/u8-strconv-from-locale: New file.
102883         * lib/uniconv/u8-strconv-from-locale.c: New file.
102885         * modules/uniconv/u32-strconv-to-enc: New file.
102886         * lib/uniconv/u32-strconv-to-enc.c: New file.
102887         * modules/uniconv/u32-strconv-to-enc-tests: New file.
102888         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
102890         * modules/uniconv/u16-strconv-to-enc: New file.
102891         * lib/uniconv/u16-strconv-to-enc.c: New file.
102892         * lib/uniconv/u-strconv-to-enc.h: New file.
102893         * modules/uniconv/u16-strconv-to-enc-tests: New file.
102894         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
102896         * modules/uniconv/u8-strconv-to-enc: New file.
102897         * lib/uniconv/u8-strconv-to-enc.c: New file.
102898         * modules/uniconv/u8-strconv-to-enc-tests: New file.
102899         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
102901         * modules/uniconv/u32-strconv-from-enc: New file.
102902         * lib/uniconv/u32-strconv-from-enc.c: New file.
102903         * modules/uniconv/u32-strconv-from-enc-tests: New file.
102904         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
102906         * modules/uniconv/u16-strconv-from-enc: New file.
102907         * lib/uniconv/u16-strconv-from-enc.c: New file.
102908         * modules/uniconv/u16-strconv-from-enc-tests: New file.
102909         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
102911         * modules/uniconv/u8-strconv-from-enc: New file.
102912         * lib/uniconv/u8-strconv-from-enc.c: New file.
102913         * lib/uniconv/u-strconv-from-enc.h: New file.
102914         * modules/uniconv/u8-strconv-from-enc-tests: New file.
102915         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
102917         * modules/uniconv/u32-conv-from-enc: New file.
102918         * lib/uniconv/u32-conv-from-enc.c: New file.
102919         * modules/uniconv/u32-conv-from-enc-tests: New file.
102920         * tests/uniconv/test-u32-conv-from-enc.c: New file.
102922         * modules/uniconv/u16-conv-from-enc: New file.
102923         * lib/uniconv/u16-conv-from-enc.c: New file.
102924         * lib/uniconv/u-conv-from-enc.h: New file.
102925         * modules/uniconv/u16-conv-from-enc-tests: New file.
102926         * tests/uniconv/test-u16-conv-from-enc.c: New file.
102928         * modules/uniconv/u8-conv-from-enc: New file.
102929         * lib/uniconv/u8-conv-from-enc.c: New file.
102930         * modules/uniconv/u8-conv-from-enc-tests: New file.
102931         * tests/uniconv/test-u8-conv-from-enc.c: New file.
102933         * modules/uniconv/base: New file.
102934         * lib/uniconv.h: New file.
102936 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
102938         * doc/gnulib-tool.texi (Initial import): Update to match current
102939         behavior with strdup module.
102940         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
102941         * lib/memmem.h: Remove; all uses removed.  This is now done
102942         by <string.h>.
102943         * lib/mempcpy.h: Likewise.
102944         * lib/memrchr.h: Likewise.
102945         * lib/stpcpy.h: Likewise.
102946         * lib/stpncpy.h: Likewise.
102947         * lib/strcase.h: Likewise.
102948         * lib/strchrnul.h: Likewise.
102949         * lib/strdup.h: Likewise.
102950         * lib/strndup.h: Likewise.
102951         * lib/strnlen.h: Likewise.
102952         * lib/strpbrk.h: Likewise.
102953         * lib/strsep.h: Likewise.
102954         * lib/strstr.h: Likewise.
102955         * lib/strtok_r.h: Likewise.
102956         * lib/string_.h: New file.
102957         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
102958         Rely on <string.h> instead.
102959         * lib/canon-host.c: Likewise.
102960         * lib/chdir-long.c: Likewise.
102961         * lib/concatpath.c: Likewise.
102962         * lib/exclude.c: Likewise.
102963         * lib/fchdir.c: Likewise.
102964         * lib/getaddrinfo.c: Likewise.
102965         * lib/getcwd.c: Likewise.
102966         * lib/getsubopt.c: Likewise.
102967         * lib/glob.c: Likewise.
102968         * lib/hard-locale.c: Likewise.
102969         * lib/iconvme.c: Likewise.
102970         * lib/javacomp.c: Likewise.
102971         * lib/mempcpy.c: Likewise.
102972         * lib/memrchr.c: Likewise.
102973         * lib/regex_internal.h: Likewise.
102974         * lib/stpncpy.c: Likewise.
102975         * lib/strcasecmp.c: Likewise.
102976         * lib/strchrnul.c: Likewise.
102977         * lib/strdup.c: Likewise.
102978         * lib/striconv.c: Likewise.
102979         * lib/striconveh.c: Likewise.
102980         * lib/striconveha.c: Likewise.
102981         * lib/strncasecmp.c: Likewise.
102982         * lib/strndup.c: Likewise.
102983         * lib/strnlen.c: Likewise.
102984         * lib/strsep.c: Likewise.
102985         * lib/strstr.c: Likewise.
102986         * lib/strtok_r.c: Likewise.
102987         * lib/userspec.c: Likewise.
102988         * lib/w32spawn.h: Likewise.
102989         * lib/xstrndup.c: Likewise.
102990         * lib/mountlist.c (strstr): Remove decl.
102991         * m4/string_h.m4: New file.
102992         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
102993         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
102994         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
102995         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
102996         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
102997         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
102998         Set REPLACE_STRCASECMP if necessary.
102999         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
103000         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
103001         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
103002         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
103003         HAVE_DECL_STRDUP if necessary.
103004         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
103005         since gl_FUNC_STRNDUP does that now.
103006         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
103007         Check for decl here...
103008         (gl_PREREQ_STRNLEN): ... not here.
103009         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
103010         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
103011         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
103012         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
103013         necessary.
103014         * modules/string: New file.
103015         * modules/memmem (Files): Remove special-purpose include file.
103016         (Depends-on): Add string.
103017         (Include): Include <string.h>, not the removed file.
103018         * modules/mempcpy: Likewise.
103019         * modules/memrchr: Likewise.
103020         * modules/stpcpy: Likewise.
103021         * modules/stpncpy: Likewise.
103022         * modules/strcase: Likewise.
103023         * modules/strchrnul: Likewise.
103024         * modules/strdup: Likewise.
103025         * modules/strndup: Likewise.
103026         * modules/strnlen: Likewise.
103027         * modules/strpbrk: Likewise.
103028         * modules/strsep: Likewise.
103029         * modules/strstr: Likewise.
103030         * modules/strtok_r: Likewise.
103031         * tests/test-dirname.c: Don't include "strdup.h", since
103032         <string.h> now suffices.
103033         * tests/test-memmem.c: Don't include "memmem.h", since
103034         <string.h> now suffices.
103036 2007-01-25  Bruno Haible  <bruno@clisp.org>
103038         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
103039         *resultp is 0.
103041         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
103042         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
103043         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
103044         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
103046         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
103047         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
103048         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
103049         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
103050         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
103051         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
103053 2007-01-24  Bruno Haible  <bruno@clisp.org>
103055         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
103056         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
103057         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
103058         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
103059         gl_FUNC_FTS_CORE.
103060         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
103061         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
103062         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
103063         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
103064         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
103065         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
103066         gl_FUNC_FCHOWNAT.
103067         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
103068         gl_FUNC_STRFTIME.
103069         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
103070         Reported by Ralf Wildenhues.
103072 2007-01-24  Bruno Haible  <bruno@clisp.org>
103074         Drop AC_REQUIRE calls that are redundant with the module dependencies.
103075         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
103076         gl_GETADDRINFO.
103077         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
103078         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
103079         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
103081 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
103083         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
103084         Don't use 'exit'; just return from 'main'.
103085         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
103087         * lib/fnmatch_.h: Readjust white space and comments to match
103088         glibc, to avoid spurious diffs.
103090 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
103092         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
103093         2004-12-01 change by Jakub Jelinek, since this code won't compile
103094         if !LIBC.  Problem reported by Bob Proulx.
103096 2007-01-23  Bruno Haible  <bruno@clisp.org>
103098         * lib/striconveh.c: Include c-strcaseeq.h.
103099         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
103100         * modules/striconveh (Depends-on): Add c-strcaseeq.
103102 2007-01-23  Bruno Haible  <bruno@clisp.org>
103104         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
103106         * modules/c-strcaseeq: New file.
103107         * lib/c-strcaseeq.h: New file.
103109         * modules/streq: New file.
103110         * lib/streq.h: New file.
103112 2007-01-23  Bruno Haible  <bruno@clisp.org>
103114         * modules/striconveha-tests: New file.
103115         * tests/test-striconveha.c: New file.
103117         * lib/striconveha.h: Include <stdbool.h>.
103118         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
103119         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
103120         (mem_iconveha_notranslit): Renamed from mem_iconveha.
103121         (mem_iconveha): New function.
103122         (str_iconveha_notranslit): Renamed from str_iconveha.
103123         (str_iconveha): New function.
103124         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
103125         c-strcase.
103127 2007-01-23  Bruno Haible  <bruno@clisp.org>
103129         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
103130         encodings without forgiving before trying any encoding with handler.
103131         (str_iconveha): Try all encodings without forgiving before trying any
103132         encoding with handler.
103134 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
103136         Import the following changes from libc.
103138         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
103140         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
103142         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
103144         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
103145         normal_bracket label.
103147         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
103149         [BZ #361]
103150         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
103151         to normal_bracket after fetching the next character.
103153 2007-01-22  Bruno Haible  <bruno@clisp.org>
103155         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
103156         argument.
103157         * lib/striconveh.c (iconv_carefully_1): New function.
103158         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
103159         argument.
103160         (str_cd_iconveh): Update.
103161         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
103162         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
103163         * tests/test-striconveh.c (MAGIC): New macro.
103164         (new_offsets): New function.
103165         (main): Test call with and without offsets.
103167 2007-01-22  Bruno Haible  <bruno@clisp.org>
103169         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
103170         * modules/sys_select (Makefile.am): Likewise.
103171         * modules/sys_socket (Makefile.am): Likewise.
103172         * modules/sys_time (Makefile.am): Likewise.
103174 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
103176         * modules/gettimeofday (License): Change from GPL to LGPL, since
103177         gettimeofday is a library function.
103179 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103181         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
103183 2007-01-21  Bruno Haible  <bruno@clisp.org>
103185         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
103187 2007-01-21  Bruno Haible  <bruno@clisp.org>
103189         * modules/striconveha: New file.
103190         * lib/striconveha.h: New file.
103191         * lib/striconveha.c: New file.
103192         * MODULES.html.sh (Internationalization functions): Add striconveha.
103193         * lib/striconv.c (str_iconv): Optimize the case of an empty input
103194         string.
103195         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
103197 2007-01-21  Bruno Haible  <bruno@clisp.org>
103199         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
103200         * lib/striconveh.c (str_iconveh): Likewise.
103202 2007-01-21  Bruno Haible  <bruno@clisp.org>
103204         * lib/striconveh.h (mem_iconveh): New declaration.
103205         * lib/striconveh.c (mem_iconveh): New function.
103206         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
103208 2007-01-21  Bruno Haible  <bruno@clisp.org>
103210         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
103212         * lib/striconveh.h (mem_cd_iconveh): Change specification.
103213         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
103214         original result buffer.
103215         (str_cd_iconveh): Update.
103216         * tests/test-striconveh.c (main): Update.
103218         * lib/striconv.h (mem_cd_iconv): Change specification.
103219         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
103220         result buffer.
103221         (str_cd_iconv): Update.
103222         * tests/test-striconv.c (main): Update.
103224 2007-01-21  Bruno Haible  <bruno@clisp.org>
103226         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
103228 2007-01-20  Jim Meyering  <jim@meyering.net>
103230         * lib/userspec.c (parse_with_separator): If a user or group string
103231         starts with "+", skip the corresponding name-to-ID look-up, since
103232         such a look-up must fail: user and group names may not include "+".
103234 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
103236         * lib/poll.c: Include sys/time.h and time.h unconditionally,
103237         since we now assume the sys_time module.
103238         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
103239         check for sys/time.h; no longer needed.
103240         * modules/poll (Depends-on): Depend on sys_time.
103242 2007-01-18  Bruno Haible  <bruno@clisp.org>
103244         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
103245         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
103247         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
103248         gettimeofday.
103250         * tests/test-gettimeofday.c: Include <time.h>.
103251         (dummy): Remove variable.
103253         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
103254         gl_HEADER_SYS_TIME_H.
103255         (gl_HEADER_SYS_TIME_H): New macro.
103257         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
103258         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103259         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
103260         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
103261         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103262         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
103263         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
103264         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103265         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
103266         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
103267         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103269         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
103270         last change; it caused a compilation error when cross-compiling to
103271         Cygwin.
103273 2007-01-18  Jim Meyering  <jim@meyering.net>
103275         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
103276         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
103277         than the race-prone "test -d sys || mkdir sys".
103278         (configure.ac): Use AC_PROG_MKDIR_P.
103279         * modules/sys_select: Likewise.
103280         * modules/sys_socket: Likewise.
103281         * modules/sys_time: Likewise.
103283 2007-01-18  Eric Blake  <ebb9@byu.net>
103285         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
103286         replace gettimeofday.
103287         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
103288         name, to avoid infinite recursion.
103290 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
103292         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
103293         module sys_time.
103294         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
103295         assume timespec.h defines struct timeval.
103296         * lib/settime.c: Likewise.
103297         * lib/utimens.c: Likewise.
103298         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
103299         since we now assume the gettimeofday module.
103300         * lib/tempname.c (__gen_tempname): Likewise.
103301         * lib/gettimeofday.h: Remove.
103302         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
103303         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
103304         Include <time.h>, for 'time()'.
103305         (localtime_buffer_addr): Also use this workaround if
103306         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
103307         to simplify the uses.  All uses changed.
103308         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
103309         that #undef is inside {}, and 'const' follows type name consistently.
103310         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
103311         (gettimeofday): Do not use the maximum possible value for
103312         tv->tv_usec, since that might break usages other than ls.c.
103313         Instead, we'll leave ls.c alone.  This undoes today's patch
103314         by Bruno.  Add a compile-time warning for 1s-clock resolution;
103315         we've never observed the problem but might as well keep the
103316         canary.
103317         * lib/nanosleep.c: Include timespec.h first, for interface check.
103318         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
103319         now assume the sys_time module.
103320         * lib/tempname.c: Likewise.
103321         * lib/timespec.h: Likewise.
103322         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
103323         needed.
103324         * lib/strftime.c: Likewise.
103325         * lib/timespec.h: Likewise.
103326         * lib/posixtm.c: Include posixtm.h first, for interface check.
103327         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
103328         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
103329         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
103330         * lib/sys_time_.h: New file.
103331         * lib/timespec.h (struct timespec): Use long int, not long.
103332         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
103333         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
103334         Remove obsolescent call to AC_HEADER_TIME.
103335         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
103336         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
103337         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
103338         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
103339         Likewise.
103340         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
103341         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
103342         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
103343         into the sys_time module.  Check for gettimeofday just once.
103344         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
103345         for gettimeofday signature to just check the signature.  Merely
103346         compile it, since linking doesn't test signature.  Improve test for
103347         whether gettimeofday.o is actually needed.
103348         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
103349         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
103350         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
103351         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103352         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
103353         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
103354         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
103355         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
103356         than worrying about sys/time.h.
103357         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
103358         Don't bother worrying about TIME_WITH_SYS_TIME.
103359         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
103360         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
103361         * m4/sys_time_h.m4: New file.
103362         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
103363         Don't include sys/time.h.  Return from main rather than exiting.
103364         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
103365         all uses changed.
103366         * modules/gethrxtime (Depends-on): Add sys_time.
103367         * modules/gettime (Depends-on): Likewise.
103368         * modules/gettimeofday (Depends-on): Likewise.
103369         * modules/nanosleep (Depends-on): Likewise.
103370         * modules/settime (Depends-on): Likewise.
103371         * modules/tempname (Depends-on): Likewise.
103372         * modules/utimens (Depends-on): Likewise.
103373         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
103374         (Include): Change back to <sys/time.h>.
103375         (Maintainer): Add self.
103376         * modules/sys_time: New file.
103377         * modules/tempname (Depends-on): Add gettimeofday.
103378         * tests/test-gettimeofday.c: Include <sys/time.h>
103379         rather than gettimeofday.h.
103381 2007-01-17  Bruno Haible  <bruno@clisp.org>
103383         * gnulib-tool (func_get_license): Revert last patch. Instead, let
103384         the license default to GPL.
103385         (func_create_testdir): Don't complain if a module is LGPL and its
103386         tests module depends on GPLed modules.
103388 2007-01-17  Bruno Haible  <bruno@clisp.org>
103390         * lib/gettimeofday.c (gettimeofday): Add code for the case
103391         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
103392         maximum possible value for tv->tv_usec, rather than the minimum one.
103394 2005-10-08  Martin Lambers  <marlam@marlam.de>
103395 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
103396 2007-01-16  Bruno Haible  <bruno@clisp.org>
103398         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
103399         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
103400         gl_FUNC_GETTIMEOFDAY.
103401         (Include): Add gettimeofday.h.
103402         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
103403         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
103404         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
103405         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
103406         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
103407         * lib/gettimeofday.h: New file.
103408         * lib/gettimeofday.c: Include <sys/timeb.h>.
103409         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
103410         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
103411         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
103412         fall back on time().
103414         * tests/test-gettimeofday.c: New file.
103415         * modules/gettimeofday-tests: New file.
103417 2007-01-16  Eric Blake  <ebb9@byu.net>
103419         * modules/fnmatch (Depends-on): Depend on wchar.
103420         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
103421         * m4/fnmatch.m4: Likewise.
103422         * modules/mbchar (Makefile.am): Assume <wchar.h>.
103423         * m4/mbchar.m4: Likewise.
103424         * modules/mbswidth (Depends-on): Depend on wchar.
103425         * lib/mbswidth.c: Assume <wchar.h>.
103426         * m4/mbswidth.m4: Likewise.
103427         * modules/quotearg (Depends-on): Depend on wchar.
103428         * lib/quotearg.c: Assume <wchar.h>.
103429         * m4/quotearg.m4: Likewise.
103430         * modules/regex (Depends-on): Depend on wchar.
103431         * lib/regex_internal.h: Assume <wchar.h>.
103432         * m4/regex.m4: Likewise.
103433         * modules/stdint (Depends-on): Depend on wchar.
103434         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
103435         * m4/stdint.m4: Likewise.
103436         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
103437         * modules/strftime (Depends-on): Depend on wchar.
103438         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
103439         * modules/strtol (Depends-on): Depend on wchar.
103440         * lib/strtol.c: Assume <wchar.h>.
103441         * modules/wcwidth (Depends-on): Depend on wchar.
103442         * lib/wcwidth.h: Assume <wchar.h>.
103443         * m4/wcwidth.m4: Likewise.
103445 2007-01-16  Bruno Haible  <bruno@clisp.org>
103447         * modules/csharpexec-script: New, created from...
103448         * modules/csharpexec: ... this.
103450 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
103452         * modules/javaexec-script: New, created from...
103453         * modules/javaexec: ... this.
103455 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103457         * modules/poll (Dependencies): Add sys_select.
103459 2007-01-15  Jim Meyering  <jim@meyering.net>
103461         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
103462         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
103463         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
103464         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
103466 2007-01-15  Bruno Haible  <bruno@clisp.org>
103468         * modules/striconveh: New file.
103469         * lib/striconveh.h: New file.
103470         * lib/striconveh.c: New file.
103471         * MODULES.html.sh (Internationalization functions): Add striconveh.
103473         * modules/striconveh-tests: New file.
103474         * tests/test-striconveh.c: New file.
103476 2007-01-15  Bruno Haible  <bruno@clisp.org>
103478         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
103479         not from GNU libiconv or GNU libc.
103481 2007-01-15  Bruno Haible  <bruno@clisp.org>
103483         * doc/gnulib-intro.texi (Copyright): Explain the different license
103484         terms for module descriptions, autoconf macros, tests, documentation.
103486 2007-01-14  Bruno Haible  <bruno@clisp.org>
103488         * modules/striconv-tests: New file.
103489         * tests/test-striconv.c: New file.
103491 2007-01-14  Bruno Haible  <bruno@clisp.org>
103493         * modules/iconv-tests: New file.
103494         * tests/test-iconv.c: New file.
103496 2007-01-14  Bruno Haible  <bruno@clisp.org>
103498         * gnulib-tool (func_get_license): For test modules, use the license of
103499         the main module.
103501 2007-01-14  Bruno Haible  <bruno@clisp.org>
103503         * modules/iconv (Include): Clarify that <iconv.h> can only be included
103504         if iconv is found to exist.
103506 2007-01-14  Bruno Haible  <bruno@clisp.org>
103508         * modules/c-ctype-tests: New file.
103509         * tests/test-c-ctype.c: New file.
103511 2007-01-14  Bruno Haible  <bruno@clisp.org>
103513         * modules/binary-io-tests: New file.
103514         * tests/test-binary-io.sh: New file.
103515         * tests/test-binary-io.c: New file.
103517 2007-01-14  Bruno Haible  <bruno@clisp.org>
103519         * modules/array-oset-tests: New file.
103520         * tests/test-array_oset.c: New file.
103522 2007-01-14  Bruno Haible  <bruno@clisp.org>
103524         * modules/array-list-tests: New file.
103525         * tests/test-array_list.c: New file.
103527 2007-01-14  Bruno Haible  <bruno@clisp.org>
103529         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
103530         and make.
103531         Reported by Simon Josefsson in
103532         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
103534 2007-01-14  Bruno Haible  <bruno@clisp.org>
103536         * modules/allocsa-tests: New file.
103537         * tests/test-allocsa.c: New file.
103539 2007-01-14  Bruno Haible  <bruno@clisp.org>
103541         * modules/fchdir (Depends-on): Add absolute-header.
103542         * modules/unistd (Depends-on): Likewise.
103544 2006-12-30  Bruno Haible  <bruno@clisp.org>
103546         * modules/fchdir: New file.
103547         * modules/unistd (Files): Add lib/unistd_.h.
103548         (Makefile.am): Generate unistd.h from unistd_.h.
103549         * lib/fchdir.c: New file.
103550         * lib/dirent_.h: New file.
103551         * lib/unistd_.h: New file.
103552         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
103553         * m4/fchdir.m4: New file.
103554         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
103555         (gl_HEADER_UNISTD): Invoke it.
103556         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
103557         function.
103558         * lib/backupfile.c (opendir, closedir): Undefine.
103559         * lib/chown.c (open, close): Undefine.
103560         * lib/clean-temp.c (open, close): Undefine.
103561         * lib/copy-file.c (open, close): Undefine.
103562         * lib/execute.c (open, close): Undefine.
103563         * lib/fsusage.c (open, close): Undefine.
103564         * lib/gc-gnulib.c (open, close): Undefine.
103565         * lib/getcwd.c (opendir, closedir): Undefine.
103566         * lib/glob.c (opendir, closedir): Undefine.
103567         * lib/javacomp.c (open, close): Undefine.
103568         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
103569         * lib/openat-proc.c (open, close): Undefine.
103570         * lib/pagealign_alloc.c (open, close): Undefine.
103571         * lib/pipe.c (open, close): Undefine.
103572         * lib/progreloc.c (open, close): Undefine.
103573         * lib/savedir.c (opendir, closedir): Undefine.
103574         * lib/utime.c (open, close): Undefine.
103575         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
103577 2007-01-10  Bruno Haible  <bruno@clisp.org>
103579         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
103581 2007-01-12  Eric Blake  <ebb9@byu.net>
103583         Provide a robust <wchar.h>.  Further simplifications are now
103584         possible in other modules, but not included here.
103585         * modules/wchar: New module.
103586         * m4/wchar.m4: New file.
103587         * lib/wchar_.h: Likewise.
103588         * modules/mbchar (Depends-on): Depend on wchar, as the first use
103589         of the new module.
103590         * MODULES.html.sh (Extended multibyte and wide character utilities):
103591         New section.
103593 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
103595         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
103596         to a reasonable default for memory allocation.
103597         (xreadlink): Don't allocate a huge buffer, to work around a buggy
103598         file system that reports garbage st_size values for symlinks.
103599         Problem reported by Liyang Hu.
103601 2007-01-11  Simon Josefsson  <simon@josefsson.org>
103603         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
103604         Emacs .#* auto-save files).
103606 2007-01-11  Bruno Haible  <bruno@clisp.org>
103608         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
103609         directory.
103611 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
103613         Use @...@ consistently in lib/wctype_.h.
103614         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
103615         on it being set to 1 or 0.
103616         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
103617         go back to AC_SUBSTing it.
103618         * modules/wctype (Makefile.am): Undo previous change.
103620 2007-01-10  Eric Blake  <ebb9@byu.net>
103622         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
103623         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
103624         * modules/wctype (Makefile.am): Likewise.
103625         Reported by Chris McGuire.
103627 2007-01-10  Jim Meyering  <jim@meyering.net>
103629         fts.c: a small readability/maintainability improvement
103630         * lib/fts.c (fts_read): Make this code slightly more readable and
103631         maintainable by hoisting the "sp->fts_cur = p" assignments to
103632         immediately follow the statements that set P.  Derived from
103633         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
103635 2007-01-10  Eric Blake  <ebb9@byu.net>
103637         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
103638         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
103639         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
103640         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
103641         Reported by Chris McGuire.
103643 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103645         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
103646         in sed script.
103648 2007-01-09  Bruno Haible  <bruno@clisp.org>
103650         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
103651         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
103652         variables.
103653         (func_module): Use them.
103655 2007-01-09  Bruno Haible  <bruno@clisp.org>
103657         * modules/unistr/base: New file.
103658         * lib/unistr.h: New file.
103660         * modules/unistr/u8-to-u16: New file.
103661         * lib/unistr/u8-to-u16.c: New file.
103663         * modules/unistr/u8-to-u32: New file.
103664         * lib/unistr/u8-to-u32.c: New file.
103666         * modules/unistr/u16-to-u8: New file.
103667         * lib/unistr/u16-to-u8.c: New file.
103669         * modules/unistr/u16-to-u32: New file.
103670         * lib/unistr/u16-to-u32.c: New file.
103672         * modules/unistr/u32-to-u8: New file.
103673         * lib/unistr/u32-to-u8.c: New file.
103675         * modules/unistr/u32-to-u16: New file.
103676         * lib/unistr/u32-to-u16.c: New file.
103678         * modules/unistr/u8-check: New file.
103679         * modules/unistr/u16-check: New file.
103680         * modules/unistr/u32-check: New file.
103681         * lib/unistr/u8-check.c: New file.
103682         * lib/unistr/u16-check.c: New file.
103683         * lib/unistr/u32-check.c: New file.
103685         * modules/unistr/u8-chr: New file.
103686         * modules/unistr/u16-chr: New file.
103687         * modules/unistr/u32-chr: New file.
103688         * lib/unistr/u8-chr.c: New file.
103689         * lib/unistr/u16-chr.c: New file.
103690         * lib/unistr/u32-chr.c: New file.
103692         * modules/unistr/u8-cmp: New file.
103693         * modules/unistr/u16-cmp: New file.
103694         * modules/unistr/u32-cmp: New file.
103695         * lib/unistr/u8-cmp.c: New file.
103696         * lib/unistr/u16-cmp.c: New file.
103697         * lib/unistr/u32-cmp.c: New file.
103699         * modules/unistr/u8-cpy: New file.
103700         * modules/unistr/u16-cpy: New file.
103701         * modules/unistr/u32-cpy: New file.
103702         * lib/unistr/u8-cpy.c: New file.
103703         * lib/unistr/u16-cpy.c: New file.
103704         * lib/unistr/u32-cpy.c: New file.
103705         * lib/unistr/u-cpy.h: New file.
103707         * modules/unistr/u8-cpy-alloc: New file.
103708         * modules/unistr/u16-cpy-alloc: New file.
103709         * modules/unistr/u32-cpy-alloc: New file.
103710         * lib/unistr/u8-cpy-alloc.c: New file.
103711         * lib/unistr/u16-cpy-alloc.c: New file.
103712         * lib/unistr/u32-cpy-alloc.c: New file.
103713         * lib/unistr/u-cpy-alloc.h: New file.
103715         * modules/unistr/u8-endswith: New file.
103716         * modules/unistr/u16-endswith: New file.
103717         * modules/unistr/u32-endswith: New file.
103718         * lib/unistr/u8-endswith.c: New file.
103719         * lib/unistr/u16-endswith.c: New file.
103720         * lib/unistr/u32-endswith.c: New file.
103721         * lib/unistr/u-endswith.h: New file.
103723         * modules/unistr/u8-mblen: New file.
103724         * modules/unistr/u16-mblen: New file.
103725         * modules/unistr/u32-mblen: New file.
103726         * lib/unistr/u8-mblen.c: New file.
103727         * lib/unistr/u16-mblen.c: New file.
103728         * lib/unistr/u32-mblen.c: New file.
103730         * modules/unistr/u8-mbtouc: New file.
103731         * modules/unistr/u16-mbtouc: New file.
103732         * modules/unistr/u32-mbtouc: New file.
103733         * lib/unistr/u8-mbtouc.c: New file.
103734         * lib/unistr/u16-mbtouc.c: New file.
103735         * lib/unistr/u32-mbtouc.c: New file.
103737         * modules/unistr/u8-mbtouc-safe: New file.
103738         * modules/unistr/u16-mbtouc-safe: New file.
103739         * modules/unistr/u32-mbtouc-safe: New file.
103740         * lib/unistr/u8-mbtouc-safe.c: New file.
103741         * lib/unistr/u16-mbtouc-safe.c: New file.
103742         * lib/unistr/u32-mbtouc-safe.c: New file.
103744         * modules/unistr/u8-move: New file.
103745         * modules/unistr/u16-move: New file.
103746         * modules/unistr/u32-move: New file.
103747         * lib/unistr/u8-move.c: New file.
103748         * lib/unistr/u16-move.c: New file.
103749         * lib/unistr/u32-move.c: New file.
103750         * lib/unistr/u-move.h: New file.
103752         * modules/unistr/u8-next: New file.
103753         * modules/unistr/u16-next: New file.
103754         * modules/unistr/u32-next: New file.
103755         * lib/unistr/u8-next.c: New file.
103756         * lib/unistr/u16-next.c: New file.
103757         * lib/unistr/u32-next.c: New file.
103759         * modules/unistr/u8-prev: New file.
103760         * modules/unistr/u16-prev: New file.
103761         * modules/unistr/u32-prev: New file.
103762         * lib/unistr/u8-prev.c: New file.
103763         * lib/unistr/u16-prev.c: New file.
103764         * lib/unistr/u32-prev.c: New file.
103766         * modules/unistr/u8-set: New file.
103767         * modules/unistr/u16-set: New file.
103768         * modules/unistr/u32-set: New file.
103769         * lib/unistr/u8-set.c: New file.
103770         * lib/unistr/u16-set.c: New file.
103771         * lib/unistr/u32-set.c: New file.
103772         * lib/unistr/u-set.h: New file.
103774         * modules/unistr/u8-startswith: New file.
103775         * modules/unistr/u16-startswith: New file.
103776         * modules/unistr/u32-startswith: New file.
103777         * lib/unistr/u8-startswith.c: New file.
103778         * lib/unistr/u16-startswith.c: New file.
103779         * lib/unistr/u32-startswith.c: New file.
103780         * lib/unistr/u-startswith.h: New file.
103782         * modules/unistr/u8-stpcpy: New file.
103783         * modules/unistr/u16-stpcpy: New file.
103784         * modules/unistr/u32-stpcpy: New file.
103785         * lib/unistr/u8-stpcpy.c: New file.
103786         * lib/unistr/u16-stpcpy.c: New file.
103787         * lib/unistr/u32-stpcpy.c: New file.
103788         * lib/unistr/u-stpcpy.h: New file.
103790         * modules/unistr/u8-stpncpy: New file.
103791         * modules/unistr/u16-stpncpy: New file.
103792         * modules/unistr/u32-stpncpy: New file.
103793         * lib/unistr/u8-stpncpy.c: New file.
103794         * lib/unistr/u16-stpncpy.c: New file.
103795         * lib/unistr/u32-stpncpy.c: New file.
103796         * lib/unistr/u-stpncpy.h: New file.
103798         * modules/unistr/u8-strcat: New file.
103799         * modules/unistr/u16-strcat: New file.
103800         * modules/unistr/u32-strcat: New file.
103801         * lib/unistr/u8-strcat.c: New file.
103802         * lib/unistr/u16-strcat.c: New file.
103803         * lib/unistr/u32-strcat.c: New file.
103804         * lib/unistr/u-strcat.h: New file.
103806         * modules/unistr/u8-strchr: New file.
103807         * modules/unistr/u16-strchr: New file.
103808         * modules/unistr/u32-strchr: New file.
103809         * lib/unistr/u8-strchr.c: New file.
103810         * lib/unistr/u16-strchr.c: New file.
103811         * lib/unistr/u32-strchr.c: New file.
103813         * modules/unistr/u8-strcmp: New file.
103814         * modules/unistr/u16-strcmp: New file.
103815         * modules/unistr/u32-strcmp: New file.
103816         * lib/unistr/u8-strcmp.c: New file.
103817         * lib/unistr/u16-strcmp.c: New file.
103818         * lib/unistr/u32-strcmp.c: New file.
103820         * modules/unistr/u8-strcpy: New file.
103821         * modules/unistr/u16-strcpy: New file.
103822         * modules/unistr/u32-strcpy: New file.
103823         * lib/unistr/u8-strcpy.c: New file.
103824         * lib/unistr/u16-strcpy.c: New file.
103825         * lib/unistr/u32-strcpy.c: New file.
103826         * lib/unistr/u-strcpy.h: New file.
103828         * modules/unistr/u8-strcspn: New file.
103829         * modules/unistr/u16-strcspn: New file.
103830         * modules/unistr/u32-strcspn: New file.
103831         * lib/unistr/u8-strcspn.c: New file.
103832         * lib/unistr/u16-strcspn.c: New file.
103833         * lib/unistr/u32-strcspn.c: New file.
103834         * lib/unistr/u-strcspn.h: New file.
103836         * modules/unistr/u8-strdup: New file.
103837         * modules/unistr/u16-strdup: New file.
103838         * modules/unistr/u32-strdup: New file.
103839         * lib/unistr/u8-strdup.c: New file.
103840         * lib/unistr/u16-strdup.c: New file.
103841         * lib/unistr/u32-strdup.c: New file.
103842         * lib/unistr/u-strdup.h: New file.
103844         * modules/unistr/u8-strlen: New file.
103845         * modules/unistr/u16-strlen: New file.
103846         * modules/unistr/u32-strlen: New file.
103847         * lib/unistr/u8-strlen.c: New file.
103848         * lib/unistr/u16-strlen.c: New file.
103849         * lib/unistr/u32-strlen.c: New file.
103850         * lib/unistr/u-strlen.h: New file.
103852         * modules/unistr/u8-strmblen: New file.
103853         * modules/unistr/u16-strmblen: New file.
103854         * modules/unistr/u32-strmblen: New file.
103855         * lib/unistr/u8-strmblen.c: New file.
103856         * lib/unistr/u16-strmblen.c: New file.
103857         * lib/unistr/u32-strmblen.c: New file.
103859         * modules/unistr/u8-strmbtouc: New file.
103860         * modules/unistr/u16-strmbtouc: New file.
103861         * modules/unistr/u32-strmbtouc: New file.
103862         * lib/unistr/u8-strmbtouc.c: New file.
103863         * lib/unistr/u16-strmbtouc.c: New file.
103864         * lib/unistr/u32-strmbtouc.c: New file.
103866         * modules/unistr/u8-strncat: New file.
103867         * modules/unistr/u16-strncat: New file.
103868         * modules/unistr/u32-strncat: New file.
103869         * lib/unistr/u8-strncat.c: New file.
103870         * lib/unistr/u16-strncat.c: New file.
103871         * lib/unistr/u32-strncat.c: New file.
103872         * lib/unistr/u-strncat.h: New file.
103874         * modules/unistr/u8-strncmp: New file.
103875         * modules/unistr/u16-strncmp: New file.
103876         * modules/unistr/u32-strncmp: New file.
103877         * lib/unistr/u8-strncmp.c: New file.
103878         * lib/unistr/u16-strncmp.c: New file.
103879         * lib/unistr/u32-strncmp.c: New file.
103881         * modules/unistr/u8-strncpy: New file.
103882         * modules/unistr/u16-strncpy: New file.
103883         * modules/unistr/u32-strncpy: New file.
103884         * lib/unistr/u8-strncpy.c: New file.
103885         * lib/unistr/u16-strncpy.c: New file.
103886         * lib/unistr/u32-strncpy.c: New file.
103887         * lib/unistr/u-strncpy.h: New file.
103889         * modules/unistr/u8-strnlen: New file.
103890         * modules/unistr/u16-strnlen: New file.
103891         * modules/unistr/u32-strnlen: New file.
103892         * lib/unistr/u8-strnlen.c: New file.
103893         * lib/unistr/u16-strnlen.c: New file.
103894         * lib/unistr/u32-strnlen.c: New file.
103895         * lib/unistr/u-strnlen.h: New file.
103897         * modules/unistr/u8-strpbrk: New file.
103898         * modules/unistr/u16-strpbrk: New file.
103899         * modules/unistr/u32-strpbrk: New file.
103900         * lib/unistr/u8-strpbrk.c: New file.
103901         * lib/unistr/u16-strpbrk.c: New file.
103902         * lib/unistr/u32-strpbrk.c: New file.
103903         * lib/unistr/u-strpbrk.h: New file.
103905         * modules/unistr/u8-strrchr: New file.
103906         * modules/unistr/u16-strrchr: New file.
103907         * modules/unistr/u32-strrchr: New file.
103908         * lib/unistr/u8-strrchr.c: New file.
103909         * lib/unistr/u16-strrchr.c: New file.
103910         * lib/unistr/u32-strrchr.c: New file.
103912         * modules/unistr/u8-strspn: New file.
103913         * modules/unistr/u16-strspn: New file.
103914         * modules/unistr/u32-strspn: New file.
103915         * lib/unistr/u8-strspn.c: New file.
103916         * lib/unistr/u16-strspn.c: New file.
103917         * lib/unistr/u32-strspn.c: New file.
103918         * lib/unistr/u-strspn.h: New file.
103920         * modules/unistr/u8-strstr: New file.
103921         * modules/unistr/u16-strstr: New file.
103922         * modules/unistr/u32-strstr: New file.
103923         * lib/unistr/u8-strstr.c: New file.
103924         * lib/unistr/u16-strstr.c: New file.
103925         * lib/unistr/u32-strstr.c: New file.
103926         * lib/unistr/u-strstr.h: New file.
103928         * modules/unistr/u8-strtok: New file.
103929         * modules/unistr/u16-strtok: New file.
103930         * modules/unistr/u32-strtok: New file.
103931         * lib/unistr/u8-strtok.c: New file.
103932         * lib/unistr/u16-strtok.c: New file.
103933         * lib/unistr/u32-strtok.c: New file.
103934         * lib/unistr/u-strtok.h: New file.
103936         * modules/unistr/u8-uctomb: New file.
103937         * modules/unistr/u16-uctomb: New file.
103938         * modules/unistr/u32-uctomb: New file.
103939         * lib/unistr/u8-uctomb.c: New file.
103940         * lib/unistr/u16-uctomb.c: New file.
103941         * lib/unistr/u32-uctomb.c: New file.
103943         * MODULES.html.sh (Unicode string functions): Add the new modules.
103945 2007-01-08  Bruno Haible  <bruno@clisp.org>
103947         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
103948         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
103949         subdirectories.
103951 2007-01-08  Karl Berry  <karl@gnu.org>
103953         * doc/error.texi: mention that main() fns must set program_name
103954         when progname is used.
103956 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
103958         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
103959         WCTYPE_H is empty, for the benefit of builds from non-distclean
103960         directories.  Problem reported by Eric Blake in
103961         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
103963 2007-01-08  Bruno Haible  <bruno@clisp.org>
103965         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
103966         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
103967         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
103968         PROVIDE_CANONICALIZE_FILENAME_MODE.
103969         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
103971 2007-01-08  Bruno Haible  <bruno@clisp.org>
103973         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
103974         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
103975         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
103976         * lib/fts.c: Likewise.
103977         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
103979 2006-12-25  Bruno Haible  <bruno@clisp.org>
103981         * modules/utf8-ucs4-safe: New file.
103982         * lib/utf8-ucs4-safe.h: New file.
103983         * lib/unistr/utf8-ucs4-safe.c: New file.
103985         * modules/utf16-ucs4-safe: New file.
103986         * lib/utf16-ucs4-safe.h: New file.
103987         * lib/unistr/utf16-ucs4-safe.c: New file.
103989         * MODULES.html.sh (Unicode string functions): Add the new modules.
103991 2007-01-08  Bruno Haible  <bruno@clisp.org>
103993         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
103994         (Depends-on): Add unitypes.
103995         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
103996         (u8_mbtouc_aux): Move out to separate file.
103997         (u8_mbtouc): Use ucs4_t, uint8_t types.
103998         * lib/unistr/utf8-ucs4.c: New file.
104000         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
104001         (Depends-on): Add unitypes.
104002         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
104003         (u16_mbtouc_aux): Move out to separate file.
104004         (u16_mbtouc): Use ucs4_t, uint16_t types.
104005         * lib/unistr/utf16-ucs4.c: New file.
104007         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
104008         (Depends-on): Add unitypes.
104009         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
104010         (u8_uctomb_aux): Move out to separate file.
104011         (u8_uctomb): Use ucs4_t, uint8_t types.
104012         * lib/unistr/ucs4-utf8.c: New file.
104014         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
104015         (Depends-on): Add unitypes.
104016         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
104017         (u16_uctomb_aux): Move out to separate file.
104018         (u16_uctomb): Use ucs4_t, uint16_t types.
104019         * lib/unistr/ucs4-utf16.c: New file.
104021 2006-12-25  Bruno Haible  <bruno@clisp.org>
104023         * modules/unitypes: New file.
104024         * lib/unitypes.h: New file.
104025         * MODULES.html.sh (func_all_modules): New section "Unicode string
104026         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
104027         this section. Add unitypes.
104029 2007-01-08  Bruno Haible  <bruno@clisp.org>
104031         Avoid variable names that conflict with those from libtool.
104032         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
104033         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
104034         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
104035         library_names_spec to acl_library_names_spec, hardcode_* to
104036         acl_hardcode_*.
104037         Reported by Ralf Wildenhues.
104039 2007-01-08  Bruno Haible  <bruno@clisp.org>
104041         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
104042         definition.
104043         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
104044         definition.
104045         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
104046         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
104047         definition.
104048         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
104049         definition.
104050         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
104051         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
104052         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
104053         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
104054         definition.
104055         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
104056         definition.
104057         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
104058         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
104059         GC_USE_<algorithm>.
104060         * lib/gc-libgcrypt.c: Likewise.
104061         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
104062         * modules/gc-arctwo (configure.ac): Likewise.
104063         * modules/gc-des (configure.ac): Likewise.
104064         * modules/gc-hmac-md5 (configure.ac): Likewise.
104065         * modules/gc-hmac-sha1 (configure.ac): Likewise.
104066         * modules/gc-md2 (configure.ac): Likewise.
104067         * modules/gc-md4 (configure.ac): Likewise.
104068         * modules/gc-md5 (configure.ac): Likewise.
104069         * modules/gc-random (configure.ac): Likewise.
104070         * modules/gc-rijndael (configure.ac): Likewise.
104071         * modules/gc-sha1 (configure.ac): Likewise.
104073 2007-01-08  Bruno Haible  <bruno@clisp.org>
104075         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
104076         macro definition.
104077         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
104078         definition.
104079         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
104080         definition.
104081         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
104082         * modules/fcntl-safer (configure.ac): Likewise.
104083         * modules/fopen-safer (configure.ac): Likewise.
104084         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
104085         GNULIB_FWRITEERROR macro definition.
104087 2007-01-08  Bruno Haible  <bruno@clisp.org>
104089         * m4/gnulib-common.m4: New file.
104090         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
104091         (func_get_filelist): Add m4/gnulib-common.m4.
104093 2007-01-08  Bruno Haible  <bruno@clisp.org>
104095         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
104096         command.
104098 2007-01-08  Jim Meyering  <jim@meyering.net>
104100         Use a more robust test for a "can't happen" condition.
104101         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
104102         narrowed the st_size value.  Presuming the "can't happen" condition
104103         is true, that narrowing could conceivably convert an invalid st_size
104104         value into a valid one.  Instead, use a change based on Matthew
104105         Woehlke's original patch.
104107         Slight readability improvement: use an assert-like macro
104108         in place of literal "abort ()" uses.
104109         * lib/fts.c (fts_assert): Define.
104110         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
104111         Use this macro instead of a bare 'abort'.
104113 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
104115         Don't worry about using IRIX 5.3's wctype.h broken definitions;
104116         simply work around them.
104117         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
104118         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
104119         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
104120         declaring.
104121         Don't bother to define as macros, since the standard doesn't require it.
104122         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
104123         longer worry about IRIX 5.3.
104124         (HAVE_WCTYPE_CTMP_BUG): Remove.
104126 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
104128         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
104129         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
104130         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
104131         Problems reported by Georg Schwarz for IRIX 5.3.
104133         * gnulib-tool (autoconf_minversion): Take the maximum version number
104134         found, not the minimum.  Problem reported by James Youngman.
104136 2007-01-03  Karl Berry  <karl@gnu.org>
104138         * doc/error.texi: new file, explaining interaction with progname.
104139         * doc/gnulib.texi: include it.  Update copyright.
104141 2007-01-03  Simon Josefsson  <simon@josefsson.org>
104143         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
104144         AC_CANONICAL_HOST, to improve autobuild outputs.
104146 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
104147             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
104149         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
104150         sockets, server sockets, and other file descriptors.  Count errors
104151         to compute the return value.  Reorder the code a bit to be easier
104152         to follow.  Don't set event bits that were not requested (except
104153         POLLERR and POLLHUP).
104155 2007-01-01  Bruno Haible  <bruno@clisp.org>
104157         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
104159 2007-01-03  Jim Meyering  <jim@meyering.net>
104161         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
104163 2007-01-02  Bruno Haible  <bruno@clisp.org>
104165         * modules/settime (Include): Require timespec.h.
104166         * modules/nanosleep (Include): Likewise.
104168 2007-01-01  Bruno Haible  <bruno@clisp.org>
104170         * gnulib-tool (func_emit_copyright_notice): Bump year.
104171         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
104173 2007-01-01  Bruno Haible  <bruno@clisp.org>
104175         Improve support for OpenBSD.
104176         * build-aux/config.rpath (libname_spec): Export.
104177         (library_names_spec): New variable. Export.
104178         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
104179         library_names_spec from the config.rpath output. Locate shared library
104180         through the name pattern in library_names_spec.
104182 2007-01-01  Eric Blake  <ebb9@byu.net>
104184         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
104186 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
104188         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
104189         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
104190         assume the C locale, and avoid an "eval" that could cause trouble.
104191         Problem with SORT reported by Bob Proulx.
104193         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
104194         Define.  Trivial patch from Henning Nielsen Lund, originally
104195         sent to bug-grep@gnu.org today.
104197 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
104199         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
104200         struct stat.  Problem reported by Henning Nielsen Lund.
104201         * lib/acl.c: Include acl.h first, to check interface.  Don't
104202         bother to include sys/types.h and sys/stat.h again.
104204 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
104206         Import the following change from libc; problem reported by
104207         Sven Verdoolaege.
104209         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
104211         [BZ #1373]
104212         * lib/argp.h: Remove __NTH for __argp_usage inline function.
104214 2006-12-28  Jim Meyering  <jim@meyering.net>
104216         * build-aux/announce-gen: Do not assume that the package
104217         builds any of tar.gz, tar.bz2, and .xdelta files.
104218         Suggestion from Simon Josefsson.
104220 2006-12-28  Simon Josefsson  <simon@josefsson.org>
104222         * modules/announce-gen: New file.
104224 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
104226         * lib/mbchar.h: Just include <wctype.h>; the wctype module
104227         handles its gotchas now.
104228         * lib/mbswidth.c: Likewise.
104229         * lib/wcwidth.h: Likewise.
104230         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
104231         and iswcntrl; the wctype module does this stuff now.
104232         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
104233         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
104234         * modules/mbchar (Depends-on): Add wctype.
104235         * modules/mbswidth (Depends-on): Likewise.
104236         * modules/wcwidth (Depends-on): Likewise.
104238 2006-12-27  Eric Blake  <ebb9@byu.net>
104240         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
104241         module uses more than what <wctype.h> is required to provide.
104243 2006-12-26  Eric Blake  <ebb9@byu.net>
104245         * gnulib-tool (sed_extract_prog): Avoid space-tab.
104247 2006-12-26  Eric Blake  <ebb9@byu.net>
104249         * modules/absolute-header: New module.
104250         * modules/fcntl (Depends-on): Depend on it.
104251         * modules/inttypes (Depends-on): Likewise.
104252         * modules/stdint (Depends-on): Likewise.
104253         * modules/sys_stat (Depends-on): Likewise.
104254         * modules/wctype (Depends-on): Likewise.
104255         * MODULES.html.sh (Support for building libraries and
104256         executables): Document it.
104258 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
104260         * gnulib-tool (SED): Remove, undoing previous change.
104261         The problem was that it broke coreutils on Solaris, because
104262         "sed --posix" leaked into a makefile.
104263         (sed): New alias, if 'alias' and GNU sed.
104265 2006-12-24  Jim Meyering  <jim@meyering.net>
104267         Work around an fchownat bug in glibc-2.4:
104268         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
104269         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
104270         in spite of the -P option.
104271         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
104272         New macros.
104273         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
104274         * modules/openat (Files): Add lib/fchownat.c.
104275         * lib/openat.c (fchownat): Don't define here.  Move to...
104276         * lib/fchownat.c: ...this new file.
104278 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
104280         Fix bug reported by Bruno Haible in
104281         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
104282         where quotearg.c didn't compile on Mac OS X 10.2 because it
104283         lacks <wchar.h> and wint_t.
104284         * lib/wctype_.h (__wctype_wint_t): New type.
104285         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
104286         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
104287         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
104288         Arg is now of type __wctype_wint_t, not wint_t.
104289         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
104290         substitute HAVE_WINT_T.
104291         * modules/wctype (Files): Add m4/wint_t.m4.
104292         (wctype.h): Substitute HAVE_WINT_T.
104294 2006-12-23  Bruno Haible  <bruno@clisp.org>
104296         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
104298 2006-12-23  Bruno Haible  <bruno@clisp.org>
104300         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
104301         S_ISLNK.
104302         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
104303         mingw.
104305 2006-12-22  Bruno Haible  <bruno@clisp.org>
104307         * lib/copy-file.c: Include acl.h.
104308         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
104309         Close the file descriptors only after being done with copy_acl.
104310         * modules/copy-file (Depends-on): Add acl.
104312 2006-12-22  Bruno Haible  <bruno@clisp.org>
104314         * gnulib-tool (SED): New variable.
104315         Use $SED instead of sed everywhere.
104317 2006-12-22  Bruno Haible  <bruno@clisp.org>
104319         * modules/no-c++: New file.
104320         * m4/no-c++.m4: New file.
104321         * MODULES.html.sh (Support for building libraries and executables):
104322         Add no-c++.
104324 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
104326         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
104327         Include <limits.h>, and use its INT_MAX to rewrite the
104328         j loop so that it does not overflow 'int'.  Problem reported by
104329         Ralf Wildenhues in
104330         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
104331         Play it safe by shifting left by 1 rather than multiplying by 2,
104332         as GCC is less likely to optimize this away when the value
104333         is signed (when it assumes overflow leads to undefined behavior).
104334         Also, don't assume time_t uses two's complement.
104336 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
104338         * MODULES.html.sh: New module wctype.
104339         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
104340         * lib/fnmatch.c: Don't bother to include <wchar.h> before
104341         <wctype.h>, since the new wctype module should fix this.
104342         * lib/quotearg.c: Include <wctype.h> unconditionally, since
104343         the wctype module should arrange for it.
104344         * lib/regex_internal.h: Likewise.
104345         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
104346         since the wctype module should handle this now.
104347         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
104348         * modules/fnmatch (Depends-on): Add wctype.
104349         * modules/quotearg (Depends-on): Likewise.
104350         * modules/regex (Depends-on): Likewise.
104352 2006-12-19  Bruno Haible  <bruno@clisp.org>
104354         * lib/strdup.h [C++]: Wrap definitions in extern "C".
104355         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
104357 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104359         * modules/savewd (Depends-on): Fix dependency on fcntl.
104361 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
104363         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
104364         conforms to C99, rather than relying on the user's environment
104365         setting of STDINT_H.
104367 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
104368         and Eric Blake  <ebb9@byu.net>
104370         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
104371         This is more consistent with the other defines here.
104372         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
104373         Port to z/OS.  Problem reported by Paul Gilmartin.
104374         Change local vars to use gl_ prefix rather than ac_.
104375         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
104376         with other defines.
104377         * modules/double-slash-root: New module.
104378         * modules/dirname (Files): Remove m4/double-slash-root.m4.
104379         (Depends-on): Add double-slash-root.
104380         * MODULES.html.sh (File system functions): Mention new module.
104382 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
104384         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
104385         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
104386         This is for the benefit of gzip, which doesn't do i18n.
104388 2006-12-12  Jim Meyering  <jim@meyering.net>
104390         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
104391         Reported by Andreas Schwab <schwab@suse.de>.
104393 2006-12-12  Bruno Haible  <bruno@clisp.org>
104395         Merge these changes.
104396         2006-09-05  Bruno Haible  <bruno@clisp.org>
104397         * lib/iconvme.c (iconv_string): No need to save and restore errno when
104398         iconv_alloc succeeded.
104399         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
104400         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
104401         test for " && dest " at the end - dest is always != NULL there. Call
104402         iconv with 4xNULL arguments initially, to reset the state. Call iconv
104403         with 2xNULL arguments, also to flush the state storage. Handle the
104404         IRIX iconv behaviour. Realloc the final result, to throw away unused
104405         memory.
104407 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
104409         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
104410         and fchmodat unconditionally, since glibc 2.4 has them.
104411         Problem reported by Arkadiusz Miskiewicz.
104413 2006-12-10  Bruno Haible  <bruno@clisp.org>
104415         * gnulib-tool (func_import): Show the include files only for those
104416         modules that are copied and specified.
104417         Reported by Karl Berry.
104419 2006-12-08  Jim Meyering  <jim@meyering.net>
104421         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
104422         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
104424         * build-aux/announce-gen: Add two new options, both optional:
104425         --bootstrap-tools=TOOL_LIST
104426               a comma-separated list of tools, e.g.,
104427               autoconf,automake,bison,gnulib
104428         --gnulib-snapshot-date=DATE
104429               if gnulib is in the bootstrap tool list,
104430               then report this as the snapshot date.
104431               If not specified, use the current date/time.
104432               If you specify a date here, be sure it's UTC.
104434 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104436         * tests/test-argp-2.sh: Fix test to match actual output.
104437         (func_compare): Fix sed script to be portable.
104439 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
104441         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
104442         workaround for this case.  It is not autoconfigured now; offhand
104443         it's hard to see how to autoconfigure it.
104445 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
104447         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
104448         a directory that is about to be chowned.  Such a directory's
104449         initial file permissions should permit the owner only and this
104450         should not be changed until after the chown, since the group and
104451         other bits would be incorrect if they granted permission before
104452         the chown.
104454         Fix porting problem for iswctype reported by Georg Schwarz in:
104455         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
104456         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
104457         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
104458         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
104459         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
104461 2006-12-03  Jim Meyering  <jim@meyering.net>
104463         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
104464         p->fts_statp may not yet be defined.
104465         (fts_read): Instead, set it in the caller, once p->fts_statp is
104466         sure to be defined, and corresponds to a top-level directory.
104467         This bug made du -x fail.  Here's the coreutils test case:
104468         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
104469         Reported by Mike Frysinger.
104471 2006-12-01  Jim Meyering  <jim@meyering.net>
104473         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
104474         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
104475         Reported by Simon Josefsson.
104477 2006-11-30  Jim Meyering  <jim@meyering.net>
104479         * m4/warning.m4: Use the all-permissive copyright notice
104480         recommended by RMS (rather than LGPL).
104481         * m4/vararrays.m4: Likewise.
104482         * m4/flexmember.m4: Likewise.
104484 2006-11-29  Bruno Haible  <bruno@clisp.org>
104486         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
104487         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
104488         using +=.
104489         Reported by Simon Josefsson <simon@josefsson.org>.
104491 2006-11-28  James Youngman  <jay@gnu.org>
104493         * README: Advise users that they might find the bug-gnulib@gnu.org
104494         and autotools-announce@gnu.org mailing lists useful.
104496 2006-11-28  Bruno Haible  <bruno@clisp.org>
104498         * m4/ptrdiff_max.m4: Remove file.
104500 2006-11-21  Bruno Haible  <bruno@clisp.org>
104502         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
104503         _AC_COMPUTE_INT.
104504         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
104505         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
104506         _AC_COMPUTE_INT.
104507         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
104508         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
104509         _AC_COMPUTE_INT.
104510         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
104512 2006-11-28  Jim Meyering  <jim@meyering.net>
104514         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
104515         warning from "gcc -Wshadow" about shadowing the builtin.
104517 2006-11-27  Bruno Haible  <bruno@clisp.org>
104519         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
104520         _AC_COMPUTE_INT.
104521         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
104523 2006-11-27  Bruno Haible  <bruno@clisp.org>
104524             Paul Eggert  <eggert@cs.ucla.edu>
104526         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
104528 2006-11-26  Bruno Haible  <bruno@clisp.org>
104530         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
104531         noinst_LTLIBRARIES.
104533 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
104534             Bruno Haible  <bruno@clisp.org>
104536         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
104537         if compiling with "gcc -ansi".
104539 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
104541         Fix some incompatibilities with gcc -ansi -pedantic.
104542         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
104543         if compiling pedantically with GCC, unless it's C99 or later.
104544         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
104545         it mishandles gcc -ansi -pedantic as well.
104546         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
104547         if gcc -pedantic.
104548         * lib/regexec.c (check_node_accept_bytes): Don't use auto
104549         initializers for struct if -pedantic, unless it's C99 or later.
104551 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
104553         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
104554         Don't close an fd more than once. Identical atimes indicate
104555         success, not failure.
104557 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
104559         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
104561 2006-11-23  Jim Meyering  <jim@meyering.net>
104563         * build-aux/announce-gen: New file.  From coreutils.
104565 2006-11-22  Jim Meyering  <jim@meyering.net>
104567         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
104568         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
104569         (fts_read): Use a temporary to narrow the overused st_size member
104570         before using it in a switch statement.  Reported by Matthew Woehlke.
104572         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
104573         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
104575 2006-11-20  Bruno Haible  <bruno@clisp.org>
104577         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
104578         changequote instead of pairs of brackets.
104579         Reported by Andreas Schwab <schwab@suse.de>.
104581 2006-11-21  Jim Meyering  <jim@meyering.net>
104583         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
104584         so as to remain compatible with older compilers.
104585         Patch from Michael Deutschmann.
104587 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
104589         * MODULES.html.sh (File system functions): Add openat.
104591         * lib/openat.h (rpl_fstatat): New macro, if
104592         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
104593         (fstatat): Define to rpl_fstatat under the same conditions,
104594         unless COMPILING_FSTATAT.
104595         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
104596         seems to have the bug.
104597         * lib/fstatat.c: New file.
104598         * modules/openat (Files): Add it.
104600 2006-11-20  Bruno Haible  <bruno@clisp.org>
104602         * Makefile: New file.
104604 2006-11-20  Jim Meyering  <jim@meyering.net>
104606         The beginnings of syntax-related checks for gnulib.
104607         * lib/Makefile: New file.
104608         * lib/t-idcache: New script.  Ensure that the two halves of
104609         idcache.c stay in sync.
104611         * lib/idcache.c: Adjust comments in user- and group- portions to
104612         be more accurate, and to be consistent with one another.
104614 2006-11-20  Jim Meyering  <jim@meyering.net>
104616         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
104617         continue using the flexible array member (thus, this module performs
104618         half as many malloc calls), with the addition that...
104619         (getgroup, getuser): Consistently record a non-match via an empty
104620         "name" string, and map an empty string match to a NULL return value.
104621         * modules/idcache (Depends-on): Re-add flexmember.
104623         * lib/idcache.c (getuser): Remove all uses of the register keyword.
104624         (getuidbyname, getgroup, getgidbyname): Likewise.
104626         Use cleaner syntax: NULL rather than 0.
104627         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
104629 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
104631         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
104632         It mishandled the case where the group was missing.
104633         Problem reported by Greg Schafer.
104634         * modules/idcache: Likewise.
104636 2006-11-18  Jim Meyering  <jim@meyering.net>
104638         * check-module (%exempt_header): Add exception for some
104639         conditionally-included headers.
104641         * modules/i-ring (Depends-on): Add verify.
104642         (License): Change to LGPL.
104644 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
104646         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
104647         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
104648         and inttostr.h.  Use snprintf rather than uinttostr, so that
104649         LGPLed code doesn't depend on GPLed.
104651 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
104653         * modules/inline (License): Change from GPL to LGPL.
104655 2006-11-17  Jim Meyering  <jim@meyering.net>
104657         * modules/d-type (License): Switch to LGPL.
104659 2006-11-15  Bruno Haible  <bruno@clisp.org>
104661         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
104663 2006-11-15  Eric Blake  <ebb9@byu.net>
104665         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
104666         the module dependency.
104668 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104669             Bruno Haible  <bruno@clisp.org>
104671         * gnulib-tool (func_create_testdir): Add license consistency check.
104673 2006-11-15  Eric Blake  <ebb9@byu.net>
104675         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
104676         random "(cached)" in configure output.
104678 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104680         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
104681         test for conforming inttypes.h is both announced and cached.
104683         * MODULES.html.sh (seen_modules, seen_files): New variables.
104684         (func_module): Rewrite to use a few less gnulib-tool and sed
104685         invocations.  Avoid a couple of quadratic algorithms for ...
104686         (missed_modules, missed_files): ... these, with ...
104687         (func_append, func_tmpdir): ... these new functions, from
104688         gnulib-tool.  Analogously, install traps for cleanup.
104690         * tests/test-gc.c (main): Remove unused variables.
104691         * tests/test-read-file.c: Include stdlib.h, for 'free'.
104693 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
104695         * modules/inttostr (License): Change to LGPL.
104697 2006-11-14  Eric Blake  <ebb9@byu.net>
104699         * modules/tempname (License): Change to LGPL.
104701 2006-11-14  Eric Blake  <ebb9@byu.net>
104703         * doc/functions.texi (Function Portability): *printf functions on
104704         Cygwin now understand all POSIX size specifiers.
104706 2006-11-14  Bruno Haible  <bruno@clisp.org>
104708         * modules/c-ctype (License): Change to LGPL.
104710 2006-11-12  Bruno Haible  <bruno@clisp.org>
104712         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
104713         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
104714         for GNOME libraries, for which the include files are installed in
104715         subdirectories of $prefix/include.
104717 2006-11-12  Bruno Haible  <bruno@clisp.org>
104719         * m4/lib-link.m4: Require at least autoconf-2.54.
104720         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
104721         name to underscores for the --with option.
104723 2006-11-13  Bruno Haible  <bruno@clisp.org>
104725         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
104726         the tests directory.
104727         Reported by Ralf Wildenhues.
104729 2006-11-13  Bruno Haible  <bruno@clisp.org>
104731         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
104732         (func_emit_initmacro_end): Undo the override here.
104733         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
104734         Works around the famous automake error in coreutils.
104736 2006-11-13  Eric Blake  <ebb9@byu.net>
104738         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
104739         element, not its node.
104741 2006-11-12  Bruno Haible  <bruno@clisp.org>
104743         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
104744         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
104746 2006-11-12  Bruno Haible  <bruno@clisp.org>
104748         * gnulib-tool: New option --local-symlink.
104749         (func_usage): Document it.
104750         (lsymbolic): New variable.
104751         (func_import, func_create_testdir): If --symlink was not specified,
104752         test whether --local-symlink was specified and the file comes from
104753         the local_gnulib_dir.
104755 2006-11-12  Bruno Haible  <bruno@clisp.org>
104757         * gnulib-tool (func_ln): New function.
104758         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
104760 2006-11-12  Bruno Haible  <bruno@clisp.org>
104762         Finish support for source files in subdirectories.
104763         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
104764         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
104765         AUTOMAKE_OPTIONS.
104766         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
104768 2006-11-12  Bruno Haible  <bruno@clisp.org>
104770         * gnulib-tool (func_get_automake_snippet): Synthesize also an
104771         EXTRA_lib_SOURCES augmentation.
104772         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
104774 2006-11-12  Jim Meyering  <jim@meyering.net>
104776         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
104777         file descriptors.  This also averts a failure on systems with
104778         native openat support when a traversed directory lacks "x" access.
104779         * lib/fts_.h: Include "i-ring.h"
104780         (struct FTS) [fts_fd_ring]: New member.
104781         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
104782         (FCHDIR): Add parentheses.
104783         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
104784         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
104785         When descending, rather than simply closing the previous
104786         fts_cwd_fd value, push that file descriptor onto the ring.
104787         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
104788         (fts_open): Initialize the new fd_ring member.
104789         (fts_close): Clear the ring.
104790         (fts_safe_changedir): When possible, use our new fd_ring to skip
104791         the diropen and fstat and dev/ino comparison that would normally
104792         accompany a virtual `chdir ("..")'.
104794         * modules/fts (Depends-on): Add i-ring.
104795         * modules/i-ring: New module.
104796         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
104797         * m4/i-ring.m4: New file.
104799 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104801         * gnulib-tool (func_create_testdir): Fix replacement of
104802         `build-aux' in configure.ac.  Run autotools in gltests
104803         subdirectory.
104804         (func_create_testdir, func_create_megatestdir, test): There is
104805         no need for '--force' in most autotool invocations in a new
104806         tree.  Actually fail the whole test if any of the tools, or the
104807         configure or make stages fail.
104809         Sync from Automake.
104810         * build-aux/gnupload: Revert last change.  Add pointer to upload
104811         instructions of the GNU Maintenance Instructions.
104812         Suggestion by Karl Berry.
104814 2006-11-10  Jim Meyering  <jim@meyering.net>
104816         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
104818 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
104820         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
104821         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
104822         (bind_textdomain_codeset) [! ENABLE_NLS]:
104823         Evaluate all the arguments.  That way, callers get compatible behavior
104824         if the arguments have side effects.  Also, it avoids some GCC
104825         diagnostics in some cases; Joel E. Denny reported problems when Bison
104826         was configured with --enable-gcc-warnigs.
104828 2006-11-10  Jim Meyering  <jim@meyering.net>
104830         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
104831         relevant options in CFLAGS (like -O, -fno-inline) are taken into
104832         account.
104834 2006-11-10  Jim Meyering  <jim@meyering.net>
104836         * modules/inline: New file/module.
104837         * modules/xalloc (Files): Remove m4/inline.m4.
104838         (Depends-on): Add inline, instead.
104839         * modules/oset: Likewise.
104840         * modules/list: Likewise.
104842 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
104844         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
104845         Problem reported by Matthew Woehlke.
104847 2006-11-09  Bruno Haible  <bruno@clisp.org>
104849         * lib/tempname.c (gen_tempname): Remove variant that invokes
104850         __gen_tempname.
104851         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
104852         __gen_tempname.
104854 2006-11-08  Bruno Haible  <bruno@clisp.org>
104856         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
104857         to 'yes' instead of 'cross-compiling'.
104859 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
104861         * lib/quotearg.h (quotearg_free): New decl.
104862         * lib/quotearg.c (quotearg_free): New function.
104863         (slot0, nslots, slotvec0, slotvec):
104864         Now file-scope so that quotearg_free can get at them.
104866 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104868         Sync from Automake.
104869         * build-aux/gnupload: Add missing 'gnu' to example URL.
104870         Report by Karl Berry.
104872 2006-11-08  Bruno Haible  <bruno@clisp.org>
104874         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
104875         Suggested by Paul Eggert.
104877 2006-11-08  Jim Meyering  <jim@meyering.net>
104879         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
104880         It's already included if !_LIBC.
104881         (fts_safe_changedir): Add a comment.
104883 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
104885         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
104886         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
104887         Matthew Woehlke.
104889         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
104890         definitions up, to avoid colliding with change below.
104891         (static_inline) [HAVE_INLINE]: New macro.
104892         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
104893         Provide extern decls when !HAVE_INLINE.  Do not define unless
104894         static_inline is defined, either by us or by xmalloc.c.  Use
104895         static_inline rather than static inline.
104896         (XCALLOC): Optimize sizeof(T) = 1 case.
104897         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
104899 2006-11-07  Bruno Haible  <bruno@clisp.org>
104901         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
104902         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
104903         AC_C_INLINE.
104904         * modules/xalloc (Files): Add m4/inline.m4.
104906 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104908         * README: Fix typo.
104909         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
104910         (Miscellanous Notes): ...from this.
104912 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
104914         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
104915         Mention that offsetof should be used instead of sizeof.
104916         From Bruno Haible.
104918 2006-11-07  Bruno Haible  <bruno@clisp.org>
104920         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
104922 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
104924         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
104925         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
104926         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
104927         (gl_tree_add_before, gl_tree_add_after):
104928         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
104929         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
104930         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
104931         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
104932         (gl_linked_add_after, gl_linked_add_at): Likewise.
104933         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
104934         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
104935         (gl_tree_add_before, gl_tree_add_after): Likewise.
104936         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
104937         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
104938         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
104940 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104942         * lib/gl_oset.h: Use C comment style, not C++ comment style.
104944 2006-11-06  Bruno Haible  <bruno@clisp.org>
104946         * m4/inline.m4: New file.
104947         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
104948         * modules/list (Files): Add m4/inline.m4.
104949         * modules/oset (Files): Likewise.
104951 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
104953         * lib/idcache.c: Include <stddef.h>, for offsetof.
104954         (struct userid.name): Change from char * to a flexible array member.
104955         All uses changed.
104956         * modules/idcache (Depends-on): Add flexmember.
104958         * MODULES.html.sh (Core language properties): New module flexmember.
104959         * modules/flexmember, m4/flexmember.m4: New files.
104961         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
104962         inline functions that are identical with the old xnmalloc_inline,
104963         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
104964         that we can avoid some unnecessary integer multiplications and
104965         divisions in the common case where the element size is known at
104966         compile time.
104967         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
104968         needed.
104969         (xnboundedmalloc): Remove.
104970         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
104971         arguments, for consistency with rest of this header.
104972         (xcharalloc): Rewrite using XNMALLOC.
104973         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
104974         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
104975         versions have been moved to lib/xalloc.h and renamed to be the
104976         non-*_inline versions.
104977         (xmalloc, xrealloc): Implement without reference to the xnmalloc
104978         and xnrealloc functions, since those functions are now inline and
104979         now call us.
104980         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
104981         renaming described above.
104982         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
104983         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
104984         captures the dependency in AC_C_INLINE.
104986         New module canonicalize-lgpl, proposed by Charles Wilson in
104987         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
104988         with a few small changes afterwards.
104989         * MODULES.html.sh (File system functions): New module
104990         canonicalize-lgpl.
104991         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
104992         and canonicalize_file_name.
104993         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
104994         * modules/canonicalize-lgpl: New files.
104996 2006-11-05  Bruno Haible  <bruno@clisp.org>
104998         * gnulib-tool (func_import, func_create_testdir): Create directories
104999         also for files in subdirectories of lib/.
105001 2006-11-05  Bruno Haible  <bruno@clisp.org>
105003         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
105004         ANSI C compliant.
105006 2006-11-03  Bruno Haible  <bruno@clisp.org>
105008         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
105009         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
105010         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
105011         (xnboundedmalloc): New inline function.
105012         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
105013         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
105014         xmalloc.
105015         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
105016         xmalloc.
105017         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
105018         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
105019         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
105020         xmalloc.
105021         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
105022         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
105023         xmalloc.
105024         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
105025         gl_tree_add_after): Use XMALLOC instead of xmalloc.
105026         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
105027         xmalloc.
105028         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
105029         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
105030         gl_tree_add_after): Use XMALLOC instead of xmalloc.
105031         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
105032         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
105033         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
105034         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
105036 2006-11-03  Bruno Haible  <bruno@clisp.org>
105038         * lib/c-ctype.h [C++]: Define functions without name mangling.
105039         * lib/fwriteerror.h [C++]: Likewise.
105040         * lib/gcd.h [C++]: Likewise.
105041         * lib/linebreak.h [C++]: Likewise.
105043 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
105045         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
105046         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
105047         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
105048         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
105049         Check for functions and headers just once.
105050         Check for declaration of canonicalize_file_name.
105051         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
105053 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
105055         * gnulib-tool (func_import): Fix typo in actioncmd.
105057 2006-11-02  Bruno Haible  <bruno@clisp.org>
105059         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
105060         newline sequence in the Makefile.am snippet as a space, like "make"
105061         does.
105062         Reported by Roger Persson <perrog@gmail.com>.
105064 2006-11-01  Bruno Haible  <bruno@clisp.org>
105066         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
105067         already declared in <string.h>.
105068         * lib/strcase.h (strncasecmp): Don't declare it if yes.
105070 2006-11-01  Bruno Haible  <bruno@clisp.org>
105072         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
105073         * lib/strcase.h: Include <string.h>.
105074         (strcasecmp): Define to rpl_strcasecmp here.
105076 2006-11-01  Bruno Haible  <bruno@clisp.org>
105078         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
105080 2006-11-01  Eric Blake  <ebb9@byu.net>
105082         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
105084         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
105086 2006-10-29  Bruno Haible  <bruno@clisp.org>
105088         Make it compile in C++ mode.
105089         * lib/full-write.c (full_rw): Add a cast.
105091 2006-11-01  Bruno Haible  <bruno@clisp.org>
105093         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
105094         be POSIX compliant.
105095         Reported by Roger Persson <perrog@gmail.com>.
105097 2006-11-01  Eric Blake  <ebb9@byu.net>
105099         * lib/getopt_.h: Fix comments.
105101 2006-10-31  Eric Blake  <ebb9@byu.net>
105103         * modules/tmpdir (Depends-on): Add sys_stat.
105104         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
105105         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
105106         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
105107         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
105108         tempname.
105110 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
105112         Avoid some C++ diagnostics reported by Bruno Haible.
105113         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
105114         xmalloc.
105115         (quotearg_alloc): Use xcharalloc rather than xmalloc.
105116         (struct slotvec): Move to top level.
105117         (quotearg_n_options): Rewrite to avoid xmalloc.
105118         * lib/xalloc.h (xcharalloc): New function.
105119         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
105120         [defined __cplusplus]: Add function template that provides result
105121         type propagation.  This part of the change is from Bruno Haible.
105123 2006-10-29  Bruno Haible  <bruno@clisp.org>
105125         Make it compile in C++ mode.
105126         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
105127         * lib/strnlen1.c (strnlen1): Cast memchr result.
105128         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
105129         * lib/clean-temp.c (string_equals, string_hash): Add casts.
105130         (create_temp_dir): Rename local variable 'template'.
105131         (compile_csharp_using_sscli): Add cast.
105132         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
105133         * lib/findprog.c (find_in_path): Likewise.
105134         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
105135         * lib/wait-process.c (register_slave_subprocess): Likewise.
105137 2006-10-22  Bruno Haible  <bruno@clisp.org>
105139         * modules/tsearch: New file.
105140         * lib/tsearch.h: New file.
105141         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
105142         * m4/tsearch.m4: New file.
105143         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
105145 2006-10-29  Eric Blake  <ebb9@byu.net>
105147         * lib/arcfour.c: Assume config.h.
105148         * lib/arctwo.c: Likewise.
105149         * lib/base64.c: Likewise.
105150         * lib/check-version.c: Likewise.
105151         * lib/crc.c: Likewise.
105152         * lib/des.c: Likewise.
105153         * lib/gc-gnulib.c: Likewise.
105154         * lib/gc-libgcrypt.c: Likewise.
105155         * lib/gc-pbkdf2-sha1.c: Likewise.
105156         * lib/getaddrinfo.c: Likewise.
105157         * lib/getdelim.c: Likewise.
105158         * lib/getline.c: Likewise.
105159         * lib/hmac-md5.c: Likewise.
105160         * lib/hmac-sha1.c: Likewise.
105161         * lib/iconvme.c: Likewise.
105162         * lib/md2.c: Likewise.
105163         * lib/md4.c: Likewise.
105164         * lib/memxor.c: Likewise.
105165         * lib/read-file.c: Likewise.
105166         * lib/readline.c: Likewise.
105167         * lib/rijndael-alg-fst.c: Likewise.
105168         * lib/rijndael-api-fst.c: Likewise.
105169         * lib/xgetdomainname.c: Likewise.
105171 2006-10-28  Eric Blake  <ebb9@byu.net>
105173         * lib/xstrndup.c: Assume config.h.
105175 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
105177         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
105178         stat-macros.h is now for our own macros, whereas stat_h is for
105179         macros in the <sys/stat.h> name space.
105180         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
105181         (STAT_MACROS_H): Remove.
105182         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
105183         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
105184         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
105185         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
105186         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
105187         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
105188         Move these macros to ...
105189         * lib/stat_.h: here.  Don't include stat-macros.h.
105190         * lib/canonicalize.c: Don't include stat-macros.h.
105191         * lib/chown.c: Likewise.
105192         * lib/euidaccess.c: Likewise.
105193         * lib/file-type.c: Likewise.
105194         * lib/filemode.c: Likewise.
105195         * lib/glob.c: Likewise.
105196         * lib/isapipe.c: Likewise.
105197         * lib/lchown.c: Likewise.
105198         * lib/lstat.c: Likewise.
105199         * lib/mkdir-p.c: Likewise.
105200         * lib/rmdir.c: Likewise.
105201         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
105202         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
105203         unless mkdir isn't declared, to speed up 'configure'.
105204         Always create sys/stat.h, since it's unlikely any real sys/stat.h
105205         would define all the S_* symbols.
105206         * modules/canonicalize (Depends-on):
105207         Depend on sys_stat, not stat-macros.
105208         * modules/chown: Likewise.
105209         * modules/euidaccess: Likewise.
105210         * modules/filemode: Likewise.
105211         * modules/file-type: Likewise.
105212         * modules/glob: Likewise.
105213         * modules/isapipe: Likewise.
105214         * modules/lchown: Likewise.
105215         * modules/lstat: Likewise.
105216         * modules/mkancesdirs: Likewise.
105217         * modules/rmdir: Likewise.
105218         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
105219         * modules/modechange: Likewise.
105220         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
105221         (configure.ac): Remove gl_STAT_MACROS.
105222         * modules/sys_stat (Depends-on): Remove stat-macros.
105224 2006-10-27  Bruno Haible  <bruno@clisp.org>
105226         * m4/signed.m4: Remove file.
105227         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
105228         invocation.
105229         * modules/vasnprintf (Files): Remove m4/signed.m4.
105231 2006-10-27  Bruno Haible  <bruno@clisp.org>
105233         Update to GNU gettext 0.16.
105234         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
105235         m4/inttypes-h.m4, m4/signed.m4.
105236         * m4/gettext.m4: Update to GNU gettext 0.16.
105237         * m4/intl.m4: New file, from GNU gettext.
105238         * m4/intldir.m4: New file, from GNU gettext.
105239         * config/srclist.txt: Update
105241 2006-10-27  Eric Blake  <ebb9@byu.net>
105243         * MODULES.html.sh: Document tempname.
105244         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
105245         dependencies.
105246         (Files): Move lib/tempname.c...
105247         * modules/tempname: ...to this new module.
105248         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
105249         (gl_PREREQ_TEMPNAME): Move...
105250         * m4/tempname.m4: ...to this new file.
105251         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
105252         * modules/sys_stat (Depends-on): Add stat-macros.
105253         * lib/stat_.h (includes): Pick up stat macros.
105254         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
105255         if stat macros are broken.
105256         * lib/tempname.c (includes): No need to include "stat-macros.h".
105257         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
105258         (direxists, __path_search) [!_LIBC]: Don't compile these in
105259         gnulib; the tmpdir module covers that.
105260         * lib/tempname.h: New file.
105262 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
105264         * COPYING: Explain how gnulib-tool converts licence headers.
105265         Almost all wording by Eric Blake.
105267 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
105269         * lib/mbchar.h (is_basic_table): Make read-only.
105270         * lib/mbchar.c (is_basic_table): Likewise.
105271         Reported by John Darrington.
105273 2006-10-25  Bruno Haible  <bruno@clisp.org>
105275         * lib/progname.h (set_program_name): Undefine before defining.
105277 2006-10-25  Bruno Haible  <bruno@clisp.org>
105279         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
105280         false for non-gcc C++ compilers.
105281         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
105283 2006-10-24  Bruno Haible  <bruno@clisp.org>
105285         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
105286         iconv implementations like Irix iconv.
105288 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
105290         * modules/vararrays: New file.
105291         * m4/vararrays.m4: New file, taken from diffutils.
105292         * MODULES.html.sh: New module vararrays.
105294 2006-10-24  Karl Berry  <karl@gnu.org>
105296         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
105297         Don't call GNU Unix.
105299 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105301         * users.txt: Add Libtool.
105303         Sync from Libtool:
105305         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
105307         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
105308         to gnulib's policy of including config.h unconditionally.
105310 2006-10-24  Bruno Haible  <bruno@clisp.org>
105312         * modules/wcwidth (Files): Add m4/wint_t.m4.
105313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
105314         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
105316 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
105318         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
105319         to pacify GCC with some -W flags enabled.  Problem reported by
105320         Bruno Haible.
105322 2006-10-24  Jim Meyering  <jim@meyering.net>
105324         * MODULES.html.sh: Remove uinttostr.  It's not a module.
105325         Reported by Karl Berry.
105327 2006-10-23  Bruno Haible  <bruno@clisp.org>
105329         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
105331 2006-10-24  Bruno Haible  <bruno@clisp.org>
105333         * lib/gl_list.h: Use C comment style, not C++ comment style.
105335 2006-10-23  Eric Blake  <ebb9@byu.net>
105337         * lib/getaddrinfo.c (includes): Add missing include.
105339 2006-10-23  Bruno Haible  <bruno@clisp.org>
105340             Paul Eggert  <eggert@cs.ucla.edu>
105342         Ability to rename obstack_free.
105343         * lib/obstack.h (__obstack_free): New macro. Declare instead of
105344         obstack_free.
105345         (obstack_free): Invoke the __obstack_free macro.
105346         * lib/obstack.c (obstack_free): Use __obstack_free macro.
105348 2006-10-23  Bruno Haible  <bruno@clisp.org>
105349             Paul Eggert  <eggert@cs.ucla.edu>
105351         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
105352         __argc, __argv from the declaration. (They are defined as macros on
105353         mingw.)
105355 2006-10-22  Bruno Haible  <bruno@clisp.org>
105357         * doc/gnulib-intro.texi: New file.
105358         * doc/gnulib.texi: Include it.
105360 2006-10-21  Bruno Haible  <bruno@clisp.org>
105362         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
105363         "Introduction", "Miscellanous Notes", "Particular Modules".
105365 2006-10-21  Bruno Haible  <bruno@clisp.org>
105367         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
105368         Change mostlyclean-local rule to avoid sh syntax error from bash
105369         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
105371 2006-10-23  Jim Meyering  <jim@meyering.net>
105373         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
105374         in place of snprintf.
105376         * modules/inttostr (Files): Add lib/uinttostr.c.
105377         * lib/uinttostr.c (inttostr): New file/function.
105378         * lib/inttostr.h (uinttostr): Declare.
105379         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
105380         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
105381         Add uinttostr.
105382         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
105384 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
105386         * lib/canonicalize.c (ELOOP): Define if not already defined.
105387         Problem reported by Bruno Haible in
105388         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
105390 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
105392         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
105393         Problem reported by Perry Smith and Ville Laurikari.
105395         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
105396         uses.
105398 2006-10-19  Bruno Haible  <bruno@clisp.org>
105400         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
105401         for mingw.
105403 2006-10-19  Bruno Haible  <bruno@clisp.org>
105405         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
105406         Needed for mingw.
105408 2006-10-19  Bruno Haible  <bruno@clisp.org>
105410         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
105412 2006-10-19  Bruno Haible  <bruno@clisp.org>
105414         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
105415         it.
105417 2006-10-19  Bruno Haible  <bruno@clisp.org>
105419         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
105420         invocation.
105422 2006-10-19  Bruno Haible  <bruno@clisp.org>
105424         * gnulib-tool (func_create_testdir): Don't include ftruncate and
105425         mountlist by default.
105427 2006-10-16  Bruno Haible  <bruno@clisp.org>
105429         * lib/c-strstr.c: Include c-strstr.h.
105431 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
105433         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
105434         in a slash.
105436 2006-10-18  Bruno Haible  <bruno@clisp.org>
105438         * lib/lock.h [C++]: Wrap definitions in extern "C".
105440 2006-10-18  Bruno Haible  <bruno@clisp.org>
105442         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
105443         gl_LIBOBJS list.
105445 2006-10-18  Bruno Haible  <bruno@clisp.org>
105447         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
105449 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
105451         * lib/xstrtol.h: Include gettext.h.
105452         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
105453         Problem reported by Eric Blake.
105454         * modules/xstrtol (Depends-on): Add gettext-h.
105456 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
105458         * lib/strftime.c (advance): New macro.
105459         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
105460         incomplete type, so you can't add 0 to it.  Problem and patch
105461         reported by Eelco Dolstra for dietlibc.
105463 2006-10-18  Jim Meyering  <jim@meyering.net>
105465         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
105466         type for a local, and rename it: s/up/user_proc/.
105468 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
105470         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
105471         READ_UTMP_USER_PROCESS.
105472         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
105474 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
105476         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
105477         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
105479 2006-10-17  Eric Blake  <ebb9@byu.net>
105481         * lib/sigprocmask.c (sigprocmask): Fix typo.
105483         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
105485         * modules/clean-temp (Makefile.am): Don't add to make output...
105486         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
105487         config.h.
105489 2006-10-17  Bruno Haible  <bruno@clisp.org>
105491         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
105492         differently if DEFAULT_TEXT_DOMAIN is set.
105494 2006-10-16  Bruno Haible  <bruno@clisp.org>
105496         * lib/clean-temp.c: Include fwriteerror.h.
105498 2006-10-16  Bruno Haible  <bruno@clisp.org>
105500         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
105502 2006-10-16  Bruno Haible  <bruno@clisp.org>
105504         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
105505         * lib/sigprocmask.h: Include <sys/types.h>.
105506         (sigset_t): Use the system's definition if present.
105508 2006-10-17  Eric Blake  <ebb9@byu.net>
105510         * lib/xvasprintf.c (includes): Assume config.h.
105511         * lib/xasprintf.c (includes): Likewise.
105513 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
105515         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
105516         at least as wide as intmax_t.
105518 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
105520         (Imported from Automake.)
105521         * build-aux/gnupload: Update to version 1.1 of directive file.
105523 2006-10-16  Eric Blake  <ebb9@byu.net>
105525         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
105526         match Automake 1.10a.
105528 2006-10-14  Bruno Haible  <bruno@clisp.org>
105530         * modules/sigprocmask: New file.
105531         * lib/sigprocmask.h: New file.
105532         * lib/sigprocmask.c: New file.
105533         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
105534         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
105535         request sigprocmask.o.
105536         (gl_PREREQ_SIGPROCMASK): New macro.
105537         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
105538         (Depends-on): Add sigprocmask.
105539         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
105540         gt_SIGNALBLOCKING. Test for 'raise' only once.
105541         * lib/fatal-signal.c: Include sigprocmask.h.
105542         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
105543         unblock_fatal_signals): Define always.
105544         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105545         sigprocmask.
105547 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
105549         Sync from Automake.
105550         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
105551         which incorrectly sets the mode of an existing destination
105552         directory.  In some cases the unpatched install-sh could do the
105553         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
105554         system.  We hope this is rare in practice, but it's clearly worth
105555         fixing.  Problem reported by Alex Unleashed in
105556         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
105557         Also, don't bother to check for -m bugs unless we're using -m;
105558         suggested by Stepan Kasal.
105560 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
105562         Sync from Automake.
105563         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
105564         `-c' flag, so they appear at the same position as in %FASTDEP%
105565         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
105566         which ignores unknown options only after the first non-option.
105567         Bug report against M4 by Nelson H. F. Beebe.
105569 2006-10-13  Jim Meyering  <jim@meyering.net>
105571         Fix a bug in yesterday's change.
105572         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
105573         p->fts_statp->st_dev would be used uninitialized.
105574         Ensures that we always call fts_stat on the very first entry.
105575         Miklos Szeredi reported that find -xdev stopped working.
105577 2006-10-12  Bruno Haible  <bruno@clisp.org>
105579         * gnulib-tool (func_get_automake_snippet): Append an automatically
105580         computed EXTRA_DIST augmentation.
105581         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
105582         * modules/alloca-opt (Makefile.am): Likewise.
105583         * modules/allocsa (Makefile.am): Likewise.
105584         * modules/arcfour (Makefile.am): Likewise.
105585         * modules/arctwo (Makefile.am): Likewise.
105586         * modules/argmatch (Makefile.am): Likewise.
105587         * modules/argz (Makefile.am): Likewise.
105588         * modules/atexit (Makefile.am): Likewise.
105589         * modules/backupfile (Makefile.am): Likewise.
105590         * modules/byteswap (Makefile.am): Likewise.
105591         * modules/c-strtod (Makefile.am): Likewise.
105592         * modules/c-strtold (Makefile.am): Likewise.
105593         * modules/calloc (Makefile.am): Likewise.
105594         * modules/canon-host (Makefile.am): Likewise.
105595         * modules/canonicalize (Makefile.am): Likewise.
105596         * modules/chdir-long (Makefile.am): Likewise.
105597         * modules/chdir-safer (Makefile.am): Likewise.
105598         * modules/check-version (Makefile.am): Likewise.
105599         * modules/chown (Makefile.am): Likewise.
105600         * modules/cloexec (Makefile.am): Likewise.
105601         * modules/close-stream (Makefile.am): Likewise.
105602         * modules/closeout (Makefile.am): Likewise.
105603         * modules/crc (Makefile.am): Likewise.
105604         * modules/csharpexec (Makefile.am): Likewise.
105605         * modules/cycle-check (Makefile.am): Likewise.
105606         * modules/des (Makefile.am): Likewise.
105607         * modules/dev-ino (Makefile.am): Likewise.
105608         * modules/dirfd (Makefile.am): Likewise.
105609         * modules/dirname (Makefile.am): Likewise.
105610         * modules/dup2 (Makefile.am): Likewise.
105611         * modules/eealloc (Makefile.am): Likewise.
105612         * modules/error (Makefile.am): Likewise.
105613         * modules/euidaccess (Makefile.am): Likewise.
105614         * modules/exclude (Makefile.am): Likewise.
105615         * modules/exitfail (Makefile.am): Likewise.
105616         * modules/fcntl-safer (Makefile.am): Likewise.
105617         * modules/fcntl (Makefile.am): Likewise.
105618         * modules/file-type (Makefile.am): Likewise.
105619         * modules/fileblocks (Makefile.am): Likewise.
105620         * modules/filemode (Makefile.am): Likewise.
105621         * modules/filenamecat (Makefile.am): Likewise.
105622         * modules/fnmatch (Makefile.am): Likewise.
105623         * modules/fopen-safer (Makefile.am): Likewise.
105624         * modules/fpending (Makefile.am): Likewise.
105625         * modules/fprintftime (Makefile.am): Likewise.
105626         * modules/free (Makefile.am): Likewise.
105627         * modules/fsusage (Makefile.am): Likewise.
105628         * modules/ftruncate (Makefile.am): Likewise.
105629         * modules/fts (Makefile.am): Likewise.
105630         * modules/gc-arcfour (Makefile.am): Likewise.
105631         * modules/gc-des (Makefile.am): Likewise.
105632         * modules/gc-hmac-md5 (Makefile.am): Likewise.
105633         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
105634         * modules/gc-md4 (Makefile.am): Likewise.
105635         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
105636         * modules/gc-sha1 (Makefile.am): Likewise.
105637         * modules/gc (Makefile.am): Likewise.
105638         * modules/getaddrinfo (Makefile.am): Likewise.
105639         * modules/getcwd (Makefile.am): Likewise.
105640         * modules/getdelim (Makefile.am): Likewise.
105641         * modules/getdomainname (Makefile.am): Likewise.
105642         * modules/getgroups (Makefile.am): Likewise.
105643         * modules/gethostname (Makefile.am): Likewise.
105644         * modules/gethrxtime (Makefile.am): Likewise.
105645         * modules/getline (Makefile.am): Likewise.
105646         * modules/getloadavg (Makefile.am): Likewise.
105647         * modules/getlogin_r (Makefile.am): Likewise.
105648         * modules/getndelim2 (Makefile.am): Likewise.
105649         * modules/getopt (Makefile.am): Likewise.
105650         * modules/getpagesize (Makefile.am): Likewise.
105651         * modules/getpass-gnu (Makefile.am): Likewise.
105652         * modules/getpass (Makefile.am): Likewise.
105653         * modules/getsubopt (Makefile.am): Likewise.
105654         * modules/gettime (Makefile.am): Likewise.
105655         * modules/gettimeofday (Makefile.am): Likewise.
105656         * modules/getugroups (Makefile.am): Likewise.
105657         * modules/getusershell (Makefile.am): Likewise.
105658         * modules/glob (Makefile.am): Likewise.
105659         * modules/group-member (Makefile.am): Likewise.
105660         * modules/hard-locale (Makefile.am): Likewise.
105661         * modules/hash (Makefile.am): Likewise.
105662         * modules/hmac-md5 (Makefile.am): Likewise.
105663         * modules/hmac-sha1 (Makefile.am): Likewise.
105664         * modules/human (Makefile.am): Likewise.
105665         * modules/idcache (Makefile.am): Likewise.
105666         * modules/imaxabs (Makefile.am): Likewise.
105667         * modules/imaxdiv (Makefile.am): Likewise.
105668         * modules/inet_ntop (Makefile.am): Likewise.
105669         * modules/inet_pton (Makefile.am): Likewise.
105670         * modules/intprops (Makefile.am): Likewise.
105671         * modules/inttostr (Makefile.am): Likewise.
105672         * modules/inttypes (Makefile.am): Likewise.
105673         * modules/isapipe (Makefile.am): Likewise.
105674         * modules/javaversion (Makefile.am): Likewise.
105675         * modules/lchmod (Makefile.am): Likewise.
105676         * modules/lchown (Makefile.am): Likewise.
105677         * modules/localcharset (Makefile.am): Likewise.
105678         * modules/long-options (Makefile.am): Likewise.
105679         * modules/lstat (Makefile.am): Likewise.
105680         * modules/malloc (Makefile.am): Likewise.
105681         * modules/mathl (Makefile.am): Likewise.
105682         * modules/mbchar (Makefile.am): Likewise.
105683         * modules/md2 (Makefile.am): Likewise.
105684         * modules/md4 (Makefile.am): Likewise.
105685         * modules/md5 (Makefile.am): Likewise.
105686         * modules/memcasecmp (Makefile.am): Likewise.
105687         * modules/memchr (Makefile.am): Likewise.
105688         * modules/memcmp (Makefile.am): Likewise.
105689         * modules/memcoll (Makefile.am): Likewise.
105690         * modules/memcpy (Makefile.am): Likewise.
105691         * modules/memmem (Makefile.am): Likewise.
105692         * modules/memmove (Makefile.am): Likewise.
105693         * modules/mempcpy (Makefile.am): Likewise.
105694         * modules/memrchr (Makefile.am): Likewise.
105695         * modules/memset (Makefile.am): Likewise.
105696         * modules/memxor (Makefile.am): Likewise.
105697         * modules/mkancesdirs (Makefile.am): Likewise.
105698         * modules/mkdir-p (Makefile.am): Likewise.
105699         * modules/mkdir (Makefile.am): Likewise.
105700         * modules/mkdtemp (Makefile.am): Likewise.
105701         * modules/mkstemp (Makefile.am): Likewise.
105702         * modules/mktime (Makefile.am): Likewise.
105703         * modules/modechange (Makefile.am): Likewise.
105704         * modules/mountlist (Makefile.am): Likewise.
105705         * modules/nanosleep (Makefile.am): Likewise.
105706         * modules/obstack (Makefile.am): Likewise.
105707         * modules/openat (Makefile.am): Likewise.
105708         * modules/pagealign_alloc (Makefile.am): Likewise.
105709         * modules/pathmax (Makefile.am): Likewise.
105710         * modules/physmem (Makefile.am): Likewise.
105711         * modules/poll (Makefile.am): Likewise.
105712         * modules/posixtm (Makefile.am): Likewise.
105713         * modules/posixver (Makefile.am): Likewise.
105714         * modules/putenv (Makefile.am): Likewise.
105715         * modules/quote (Makefile.am): Likewise.
105716         * modules/quotearg (Makefile.am): Likewise.
105717         * modules/raise (Makefile.am): Likewise.
105718         * modules/read-file (Makefile.am): Likewise.
105719         * modules/readline (Makefile.am): Likewise.
105720         * modules/readlink (Makefile.am): Likewise.
105721         * modules/readtokens (Makefile.am): Likewise.
105722         * modules/readutmp (Makefile.am): Likewise.
105723         * modules/realloc (Makefile.am): Likewise.
105724         * modules/regex (Makefile.am): Likewise.
105725         * modules/rename-dest-slash (Makefile.am): Likewise.
105726         * modules/rename (Makefile.am): Likewise.
105727         * modules/rijndael (Makefile.am): Likewise.
105728         * modules/rmdir (Makefile.am): Likewise.
105729         * modules/rpmatch (Makefile.am): Likewise.
105730         * modules/safe-read (Makefile.am): Likewise.
105731         * modules/safe-write (Makefile.am): Likewise.
105732         * modules/same-inode (Makefile.am): Likewise.
105733         * modules/same (Makefile.am): Likewise.
105734         * modules/save-cwd (Makefile.am): Likewise.
105735         * modules/savedir (Makefile.am): Likewise.
105736         * modules/setenv (Makefile.am): Likewise.
105737         * modules/settime (Makefile.am): Likewise.
105738         * modules/sha1 (Makefile.am): Likewise.
105739         * modules/sig2str (Makefile.am): Likewise.
105740         * modules/snprintf (Makefile.am): Likewise.
105741         * modules/stat-macros (Makefile.am): Likewise.
105742         * modules/stat-time (Makefile.am): Likewise.
105743         * modules/stdbool (Makefile.am): Likewise.
105744         * modules/stdint (Makefile.am): Likewise.
105745         * modules/stdlib-safer (Makefile.am): Likewise.
105746         * modules/stpcpy (Makefile.am): Likewise.
105747         * modules/stpncpy (Makefile.am): Likewise.
105748         * modules/strcase (Makefile.am): Likewise.
105749         * modules/strcasestr (Makefile.am): Likewise.
105750         * modules/strchrnul (Makefile.am): Likewise.
105751         * modules/strcspn (Makefile.am): Likewise.
105752         * modules/strdup (Makefile.am): Likewise.
105753         * modules/strerror (Makefile.am): Likewise.
105754         * modules/strftime (Makefile.am): Likewise.
105755         * modules/strndup (Makefile.am): Likewise.
105756         * modules/strnlen (Makefile.am): Likewise.
105757         * modules/strpbrk (Makefile.am): Likewise.
105758         * modules/strsep (Makefile.am): Likewise.
105759         * modules/strstr (Makefile.am): Likewise.
105760         * modules/strtod (Makefile.am): Likewise.
105761         * modules/strtoimax (Makefile.am): Likewise.
105762         * modules/strtok_r (Makefile.am): Likewise.
105763         * modules/strtol (Makefile.am): Likewise.
105764         * modules/strtoll (Makefile.am): Likewise.
105765         * modules/strtoul (Makefile.am): Likewise.
105766         * modules/strtoull (Makefile.am): Likewise.
105767         * modules/strtoumax (Makefile.am): Likewise.
105768         * modules/strverscmp (Makefile.am): Likewise.
105769         * modules/sys_socket (Makefile.am): Likewise.
105770         * modules/sys_stat (Makefile.am): Likewise.
105771         * modules/sysexits (Makefile.am): Likewise.
105772         * modules/time_r (Makefile.am): Likewise.
105773         * modules/timegm (Makefile.am): Likewise.
105774         * modules/timespec (Makefile.am): Likewise.
105775         * modules/tmpfile-safer (Makefile.am): Likewise.
105776         * modules/trim (Makefile.am): Likewise.
105777         * modules/unistd-safer (Makefile.am): Likewise.
105778         * modules/unlinkdir (Makefile.am): Likewise.
105779         * modules/unlocked-io (Makefile.am): Likewise.
105780         * modules/userspec (Makefile.am): Likewise.
105781         * modules/utime (Makefile.am): Likewise.
105782         * modules/utimecmp (Makefile.am): Likewise.
105783         * modules/utimens (Makefile.am): Likewise.
105784         * modules/vasnprintf (Makefile.am): Likewise.
105785         * modules/vasprintf (Makefile.am): Likewise.
105786         * modules/vsnprintf (Makefile.am): Likewise.
105787         * modules/xalloc (Makefile.am): Likewise.
105788         * modules/xgetcwd (Makefile.am): Likewise.
105789         * modules/xnanosleep (Makefile.am): Likewise.
105790         * modules/xreadlink (Makefile.am): Likewise.
105791         * modules/xstrtod (Makefile.am): Likewise.
105792         * modules/xstrtol (Makefile.am): Likewise.
105793         * modules/xstrtold (Makefile.am): Likewise.
105794         * modules/yesno (Makefile.am): Likewise.
105795         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
105797 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
105799         * modules/error (Makefile.am): Distribute files through
105800         EXTRA_DIST, not lib_SOURCES.
105802 2006-10-12  Eric Blake  <ebb9@byu.net>
105804         * modules/error (Makefile.am): Distribute files in /lib.
105805         * modules/obstack (Makefile.am): Likewise.
105807 2006-10-12  Bruno Haible  <bruno@clisp.org>
105809         * modules/acl (Makefile.am): Distribute all files in lib/ through
105810         EXTRA_DIST.
105811         * modules/arcfour (Makefile.am): Likewise.
105812         * modules/arctwo (Makefile.am): Likewise.
105813         * modules/argmatch (Makefile.am): Likewise.
105814         * modules/argz (Makefile.am): Likewise.
105815         * modules/atexit (Makefile.am): Likewise.
105816         * modules/backupfile (Makefile.am): Likewise.
105817         * modules/c-strtod (Makefile.am): Likewise.
105818         * modules/c-strtold (Makefile.am): Likewise.
105819         * modules/calloc (Makefile.am): Likewise.
105820         * modules/canon-host (Makefile.am): Likewise.
105821         * modules/canonicalize (Makefile.am): Likewise.
105822         * modules/chdir-long (Makefile.am): Likewise.
105823         * modules/chdir-safer (Makefile.am): Likewise.
105824         * modules/check-version (Makefile.am): Likewise.
105825         * modules/chown (Makefile.am): Likewise.
105826         * modules/cloexec (Makefile.am): Likewise.
105827         * modules/close-stream (Makefile.am): Likewise.
105828         * modules/closeout (Makefile.am): Likewise.
105829         * modules/crc (Makefile.am): Likewise.
105830         * modules/cycle-check (Makefile.am): Likewise.
105831         * modules/des (Makefile.am): Likewise.
105832         * modules/dirfd (Makefile.am): Likewise.
105833         * modules/dirname (Makefile.am): Likewise.
105834         * modules/dup2 (Makefile.am): Likewise.
105835         * modules/euidaccess (Makefile.am): Likewise.
105836         * modules/exclude (Makefile.am): Likewise.
105837         * modules/exitfail (Makefile.am): Likewise.
105838         * modules/fcntl-safer (Makefile.am): Likewise.
105839         * modules/file-type (Makefile.am): Likewise.
105840         * modules/fileblocks (Makefile.am): Likewise.
105841         * modules/filemode (Makefile.am): Likewise.
105842         * modules/filenamecat (Makefile.am): Likewise.
105843         * modules/fnmatch (Makefile.am): Likewise.
105844         * modules/fopen-safer (Makefile.am): Likewise.
105845         * modules/fpending (Makefile.am): Likewise.
105846         * modules/fprintftime (Makefile.am): Likewise.
105847         * modules/free (Makefile.am): Likewise.
105848         * modules/fsusage (Makefile.am): Likewise.
105849         * modules/ftruncate (Makefile.am): Likewise.
105850         * modules/fts (Makefile.am): Likewise.
105851         * modules/gc (Makefile.am): Likewise.
105852         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
105853         * modules/getaddrinfo (Makefile.am): Likewise.
105854         * modules/getcwd (Makefile.am): Likewise.
105855         * modules/getdelim (Makefile.am): Likewise.
105856         * modules/getdomainname (Makefile.am): Likewise.
105857         * modules/getgroups (Makefile.am): Likewise.
105858         * modules/gethostname (Makefile.am): Likewise.
105859         * modules/gethrxtime (Makefile.am): Likewise.
105860         * modules/getline (Makefile.am): Likewise.
105861         * modules/getloadavg (Makefile.am): Likewise.
105862         * modules/getlogin_r (Makefile.am): Likewise.
105863         * modules/getopt (Makefile.am): Likewise.
105864         * modules/getpass (Makefile.am): Likewise.
105865         * modules/getpass-gnu (Makefile.am): Likewise.
105866         * modules/getsubopt (Makefile.am): Likewise.
105867         * modules/gettime (Makefile.am): Likewise.
105868         * modules/gettimeofday (Makefile.am): Likewise.
105869         * modules/getugroups (Makefile.am): Likewise.
105870         * modules/getusershell (Makefile.am): Likewise.
105871         * modules/glob (Makefile.am): Likewise.
105872         * modules/group-member (Makefile.am): Likewise.
105873         * modules/hard-locale (Makefile.am): Likewise.
105874         * modules/hash (Makefile.am): Likewise.
105875         * modules/hmac-md5 (Makefile.am): Likewise.
105876         * modules/hmac-sha1 (Makefile.am): Likewise.
105877         * modules/human (Makefile.am): Likewise.
105878         * modules/idcache (Makefile.am): Likewise.
105879         * modules/imaxabs (Makefile.am): Likewise.
105880         * modules/imaxdiv (Makefile.am): Likewise.
105881         * modules/inet_ntop (Makefile.am): Likewise.
105882         * modules/inet_pton (Makefile.am): Likewise.
105883         * modules/inttostr (Makefile.am): Likewise.
105884         * modules/isapipe (Makefile.am): Likewise.
105885         * modules/lchown (Makefile.am): Likewise.
105886         * modules/long-options (Makefile.am): Likewise.
105887         * modules/lstat (Makefile.am): Likewise.
105888         * modules/malloc (Makefile.am): Likewise.
105889         * modules/mathl (Makefile.am): Likewise.
105890         * modules/mbchar (Makefile.am): Likewise.
105891         * modules/md2 (Makefile.am): Likewise.
105892         * modules/md4 (Makefile.am): Likewise.
105893         * modules/md5 (Makefile.am): Likewise.
105894         * modules/memcasecmp (Makefile.am): Likewise.
105895         * modules/memchr (Makefile.am): Likewise.
105896         * modules/memcmp (Makefile.am): Likewise.
105897         * modules/memcoll (Makefile.am): Likewise.
105898         * modules/memcpy (Makefile.am): Likewise.
105899         * modules/memmem (Makefile.am): Likewise.
105900         * modules/memmove (Makefile.am): Likewise.
105901         * modules/mempcpy (Makefile.am): Likewise.
105902         * modules/memrchr (Makefile.am): Likewise.
105903         * modules/memset (Makefile.am): Likewise.
105904         * modules/memxor (Makefile.am): Likewise.
105905         * modules/mkancesdirs (Makefile.am): Likewise.
105906         * modules/mkdir (Makefile.am): Likewise.
105907         * modules/mkdir-p (Makefile.am): Likewise.
105908         * modules/mkdtemp (Makefile.am): Likewise.
105909         * modules/mkstemp (Makefile.am): Likewise.
105910         * modules/mktime (Makefile.am): Likewise.
105911         * modules/modechange (Makefile.am): Likewise.
105912         * modules/mountlist (Makefile.am): Likewise.
105913         * modules/nanosleep (Makefile.am): Likewise.
105914         * modules/openat (Makefile.am): Likewise.
105915         * modules/pagealign_alloc (Makefile.am): Likewise.
105916         * modules/physmem (Makefile.am): Likewise.
105917         * modules/poll (Makefile.am): Likewise.
105918         * modules/posixtm (Makefile.am): Likewise.
105919         * modules/posixver (Makefile.am): Likewise.
105920         * modules/putenv (Makefile.am): Likewise.
105921         * modules/quote (Makefile.am): Likewise.
105922         * modules/quotearg (Makefile.am): Likewise.
105923         * modules/raise (Makefile.am): Likewise.
105924         * modules/read-file (Makefile.am): Likewise.
105925         * modules/readline (Makefile.am): Likewise.
105926         * modules/readlink (Makefile.am): Likewise.
105927         * modules/readtokens (Makefile.am): Likewise.
105928         * modules/readutmp (Makefile.am): Likewise.
105929         * modules/realloc (Makefile.am): Likewise.
105930         * modules/regex (Makefile.am): Likewise.
105931         * modules/rename (Makefile.am): Likewise.
105932         * modules/rename-dest-slash (Makefile.am): Likewise.
105933         * modules/rijndael (Makefile.am): Likewise.
105934         * modules/rmdir (Makefile.am): Likewise.
105935         * modules/rpmatch (Makefile.am): Likewise.
105936         * modules/safe-read (Makefile.am): Likewise.
105937         * modules/safe-write (Makefile.am): Likewise.
105938         * modules/same (Makefile.am): Likewise.
105939         * modules/save-cwd (Makefile.am): Likewise.
105940         * modules/savedir (Makefile.am): Likewise.
105941         * modules/setenv (Makefile.am): Likewise.
105942         * modules/settime (Makefile.am): Likewise.
105943         * modules/sha1 (Makefile.am): Likewise.
105944         * modules/sig2str (Makefile.am): Likewise.
105945         * modules/snprintf (Makefile.am): Likewise.
105946         * modules/stdlib-safer (Makefile.am): Likewise.
105947         * modules/stpcpy (Makefile.am): Likewise.
105948         * modules/stpncpy (Makefile.am): Likewise.
105949         * modules/strcase (Makefile.am): Likewise.
105950         * modules/strcasestr (Makefile.am): Likewise.
105951         * modules/strchrnul (Makefile.am): Likewise.
105952         * modules/strcspn (Makefile.am): Likewise.
105953         * modules/strdup (Makefile.am): Likewise.
105954         * modules/strerror (Makefile.am): Likewise.
105955         * modules/strftime (Makefile.am): Likewise.
105956         * modules/strndup (Makefile.am): Likewise.
105957         * modules/strnlen (Makefile.am): Likewise.
105958         * modules/strpbrk (Makefile.am): Likewise.
105959         * modules/strsep (Makefile.am): Likewise.
105960         * modules/strstr (Makefile.am): Likewise.
105961         * modules/strtod (Makefile.am): Likewise.
105962         * modules/strtoimax (Makefile.am): Likewise.
105963         * modules/strtok_r (Makefile.am): Likewise.
105964         * modules/strtol (Makefile.am): Likewise.
105965         * modules/strtoll (Makefile.am): Likewise.
105966         * modules/strtoul (Makefile.am): Likewise.
105967         * modules/strtoull (Makefile.am): Likewise.
105968         * modules/strtoumax (Makefile.am): Likewise.
105969         * modules/strverscmp (Makefile.am): Likewise.
105970         * modules/time_r (Makefile.am): Likewise.
105971         * modules/timegm (Makefile.am): Likewise.
105972         * modules/tmpfile-safer (Makefile.am): Likewise.
105973         * modules/unistd-safer (Makefile.am): Likewise.
105974         * modules/unlinkdir (Makefile.am): Likewise.
105975         * modules/userspec (Makefile.am): Likewise.
105976         * modules/utime (Makefile.am): Likewise.
105977         * modules/utimecmp (Makefile.am): Likewise.
105978         * modules/utimens (Makefile.am): Likewise.
105979         * modules/vasnprintf (Makefile.am): Likewise.
105980         * modules/vasprintf (Makefile.am): Likewise.
105981         * modules/vsnprintf (Makefile.am): Likewise.
105982         * modules/xalloc (Makefile.am): Likewise.
105983         * modules/xgetcwd (Makefile.am): Likewise.
105984         * modules/xnanosleep (Makefile.am): Likewise.
105985         * modules/xreadlink (Makefile.am): Likewise.
105986         * modules/xstrtod (Makefile.am): Likewise.
105987         * modules/xstrtol (Makefile.am): Likewise.
105988         * modules/xstrtold (Makefile.am): Likewise.
105989         * modules/yesno (Makefile.am): Likewise.
105991 2006-10-12  Jim Meyering  <jim@meyering.net>
105993         * m4/getloadavg.m4: Revert the change below.
105995         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
105996         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
105997         fail with a symlink, which is what coreutils' ./bootstrap now
105998         creates by default.
106000 2006-10-12  Bruno Haible  <bruno@clisp.org>
106002         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
106003         mingw.
106004         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
106005         MSVC and mingw explicitly.
106007 2006-10-11  Simon Josefsson  <jas@extundo.com>
106008             Bruno Haible  <bruno@clisp.org>
106010         Add support for multiple gnulib-tool invocations in the scope of a
106011         single configure.ac file.
106012         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
106013         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
106014         with the same contents as the _LIBADD variable.
106015         (func_emit_initmacro_start, func_emit_initmacro_end,
106016         func_emit_initmacro_done): New functions.
106017         (func_import, func_create_testdir): Invoke them. Allow the identifiers
106018         gl_LIBOBJS and gl_LTLIBOBJS.
106020 2006-10-11  Bruno Haible  <bruno@clisp.org>
106022         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
106023         (func_create_testdir): Don't create po/Makefile.am, don't invoke
106024         autoreconf. Instead, invoke autopoint explicitly but move back the
106025         *.m4 files from gnulib.
106027 2006-10-11  Bruno Haible  <bruno@clisp.org>
106029         * gnulib-tool (func_usage): Make module names after --create-testdir
106030         optional.
106031         (func_create_testdir): If no module was specified, use nearly all
106032         modules.
106034 2006-10-12  Jim Meyering  <jim@meyering.net>
106036         Big performance improvement for fts-based tools that use FTS_NOSTAT.
106037         Avoid spurious inode-mismatch problems on non-POSIX file systems.
106038         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
106039         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
106040         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
106041         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
106042         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
106043         (fts_set_stat_required): New function.
106044         (fts_open): Defer the calls to fts_stat, if possible or requested.
106045         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
106046         into fts_stat itself.
106047         (fts_read): Perform any required (deferred) fts_stat call.
106048         (fts_build): Likewise, for the directory we're about to open and read.
106049         In the readdir loop, carefully decide whether each entry will require
106050         an eventual call to fts_stat, using dirent.d_type info if available.
106051         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
106052         a command line argument into this function.  Update all callers.
106053         Map a return value of FTS_DOT to FTS_D for a command line argument.
106054         * modules/fts (Depends-on): Add d-type.  Alphabetize.
106055         Thanks to Miklos Szeredi for his tenacity and for the initial
106056         bug report about "find" failing on a FUSE-based file system.
106058         * lib/fts.c (fts_open): Use consistent indentation.
106060 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
106062         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
106063         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
106064         reported by Jim Meyering.  All uses of cache variables renamed
106065         to match Autoconf's.
106066         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
106067         the other one.
106069         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
106070         Fix misspelling in diagnostic.
106072 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
106074         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
106075         defined.  Problem reported by Matthew Woehlke.
106077         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
106078         Add support for Tandem NonStop R series.
106079         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
106080         Use new macro.
106082         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
106083         (has_trailing_slash): Omit size arg; all callers changed.
106084         Omit 'inline', since it doesn't help performance and we'd
106085         need to configure it.
106086         Don't count //, ///, etc. as having a trailing slash.
106087         As a side effect, this removes a C99ism reported by Matthew Woehlke.
106088         (rpl_rename_dest_slash): On failure, use rename's errno rather
106089         than (in some cases) an incorrect or junk errno.
106090         Simplify code by removing need to compute length; this does
106091         cause it to make two passes instead of one over the file name,
106092         but it's worth it.
106094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
106095         change, since Autoconf's version may no longer be appropriate now
106096         that we are using CVS Autoconf's version.  Add support for Tandem.
106098 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
106099             Bruno Haible  <bruno@clisp.org>
106101         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
106102         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
106103         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
106104         gl_AC_TYPE_LONG_LONG.
106106         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
106107         instead of HAVE_LONG_LONG.
106108         * lib/printf-args.c (printf_fetchargs): Likewise.
106109         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
106110         * lib/vasnprintf.c (VASNPRINTF): Likewise.
106111         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
106112         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
106113         gl_AC_TYPE_LONG_LONG.
106115 2006-10-11  Bruno Haible  <bruno@clisp.org>
106117         * m4/longlong.m4: Add comments.
106118         * m4/ulonglong.m4: Likewise.
106120 2006-10-10  Bruno Haible  <bruno@clisp.org>
106122         Make it possible to #define stpcpy, strdup to aliases.
106123         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
106124         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
106126 2006-10-10  Bruno Haible  <bruno@clisp.org>
106128         Make it possible to #define gcd to an alias.
106129         * lib/gcd.c: Include config.h.
106131 2006-10-10  Bruno Haible  <bruno@clisp.org>
106133         Make it possible to #define c_isascii to an alias.
106134         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
106135         defined. Undefine the macros before defining them, to avoid gcc
106136         warnings.
106137         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
106138         define NO_C_CTYPE_MACROS early.
106140 2006-10-10  Bruno Haible  <bruno@clisp.org>
106142         Make it possible to #define set_program_name to an alias.
106143         * lib/progname.c: Don't undefine set_program_name; instead, undefine
106144         ENABLE_RELOCATABLE early.
106146 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
106148         Port to Tandem NSK OSS, which has 64-bit signed int but at most
106149         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
106150         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
106151         More generally, don't assume that 64-bit signed int is available
106152         if unsigned int is, and vice versa.
106153         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
106154         unsigned symbols, not on their signed counterparts.
106155         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
106156         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
106157         (UINT64_C, UINTMAX_C):
106158         Likewise.
106159         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
106160         unsigned counterparts.
106161         (Have_long_long, Unsigned): New macros.
106162         (Int): Renamed from INT.
106163         (strtoimax): Use the new macros.
106164         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
106165         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
106166         * modules/inttypes (inttypes.h): Substitute
106167         HAVE_UNSIGNED_LONG_LONG_INT.
106168         * modules/stdint (stdint.h): Likewise.
106169         (Files): Add m4/ulonglong.m4.
106171 2006-10-10  Bruno Haible  <bruno@clisp.org>
106173         Fix a gcc -Wshadow warning.
106174         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
106175         to 'bucket'.
106176         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
106177         gl_linked_indexof_from_to): Likewise.
106178         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
106179         Likewise.
106180         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
106181         Likewise.
106182         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
106183         Reported by Eric Blake.
106185 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
106187         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
106188         for NetBSD.  Problem reported by Bruno Haible.
106190 2006-10-09  Jim Meyering  <jim@meyering.net>
106192         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
106193         Patch from Bruno Haible.
106195 2006-10-09  Jim Meyering  <jim@meyering.net>
106197         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
106198         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
106199         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
106201 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
106203         Don't include <config.h> twice; this doesn't work in some cases,
106204         e.g., when config.h has "#define intmax_t long long int" and
106205         we include <config.h>, <inttypes.h>, <config.h> in that order.
106206         Problem reported by Matthew Woehlke in:
106207         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
106208         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
106209         * lib/fts-cycle.c: Don't include config.h.
106210         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
106211         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
106212         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
106213         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
106214         inttypes.h.
106215         * lib/xstrtoumax.c: Likewise.
106216         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
106217         __strtol and the like, so that this module is more like its siblings.
106218         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
106219         Remove; no longer needed now that we assume gnulib inttypes.h.
106221 2006-10-08  Bruno Haible  <bruno@clisp.org>
106223         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
106224         option.
106226 2006-10-07  Jim Meyering  <jim@meyering.net>
106228         * modules/inttypes (inttypes.h): Revert what seems to have been
106229         an inadvertent part of today's change: use "|", not "/" in the
106230         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
106232 2006-10-07  Bruno Haible  <bruno@clisp.org>
106234         * modules/sublist: New file.
106236 2006-10-07  Bruno Haible  <bruno@clisp.org>
106238         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
106239         * modules/argz (argz.h): Likewise.
106240         * modules/arpa_inet (arpa/inet.h): Likewise.
106241         * modules/byteswap (byteswap.h): Likewise.
106242         * modules/configmake (configmake.h): Likewise.
106243         * modules/fcntl (fcntl.h): Likewise.
106244         * modules/fnmatch (fnmatch.h): Likewise.
106245         * modules/getopt (getopt.h): Likewise.
106246         * modules/glob (glob.h): Likewise.
106247         * modules/inttypes (inttypes.h): Likewise.
106248         * modules/netinet_in (netinet/in.h): Likewise.
106249         * modules/poll (poll.h): Likewise.
106250         * modules/stdbool (stdbool.h): Likewise.
106251         * modules/stdint (stdint.h): Likewise.
106252         * modules/sys_select (sys/select.h): Likewise.
106253         * modules/sys_socket (sys/socket.h): Likewise.
106254         * modules/sys_stat (sys/stat.h): Likewise.
106255         * modules/sysexits (sysexits.h): Likewise.
106256         * modules/unistd (unistd.h): Likewise.
106257         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
106258         Add a "DO NOT EDIT" comment to the generated file.
106259         (func_import): Likewise for gnulib-comp.m4.
106261 2006-10-07  Bruno Haible  <bruno@clisp.org>
106263         * lib/gl_sublist.h: New file.
106264         * lib/gl_sublist.c: New file.
106266 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
106268         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
106269         name (relative to the original working directory) and the file
106270         name component (relative to the temporary working directory).  All
106271         callers changed.
106272         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
106273         * lib/mkdir-p.c (make_dir_parents): Likewise.
106274         * lib/mkdir-p.h (make_dir_parents): Likewise.
106276 2006-10-06  Eric Blake  <ebb9@byu.net>
106278         Define several macros for use by the clean-temp module.
106279         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
106280         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
106281         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
106283         * lib/clean-temp.h (close_stream_temp): New declaration.
106284         * lib/clean-temp.c (includes): Pull in headers according to what
106285         other modules are in use.
106286         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
106288 2006-10-06  Bruno Haible  <bruno@clisp.org>
106290         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
106291         instead of fopen, fwriteerror.
106293 2006-10-06  Bruno Haible  <bruno@clisp.org>
106295         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
106296         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
106297         int.
106298         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
106299         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
106300         Return an error indicator.
106301         Suggested by Eric Blake.
106303 2006-10-06  Bruno Haible  <bruno@clisp.org>
106305         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
106306         Reported by Eric Blake.
106308 2006-10-06  Bruno Haible  <bruno@clisp.org>
106310         * modules/closeout (Description): Mention stderr too.
106312 2006-10-06  Bruno Haible  <bruno@clisp.org>
106313         and Paul Eggert  <eggert@cs.ucla.edu>
106315         * lib/closeout.c (close_stdout): Also close stderr.
106316         * lib/closeout.h: Update comment.
106318 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
106320         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
106321         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
106322         * lib/dirchownmod.c: Include lchown.h.
106323         * lib/lchown.c: Don't include files that lchown.h now includes.
106324         Don't declare chown, since lchown.h now does that.
106325         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
106326         (lchown): Define to rpl_chown if lchown is declared but
106327         does not exist.  Declare using a prototype if lchown is not
106328         declared.  Add a copyright notice.
106329         * lib/mkstemp.h: Include <unistd.h>.
106330         * lib/openat.c: Include lchown.h.
106332         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
106333         we now test for that separately.
106334         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
106335         rather than O_NOFOLLOW, when testing whether it's possible to
106336         avoid a race condition reliably.
106337         * lib/savewd.c (savewd_chdir): Likewise.
106339         Remove macros that are no longer needed now that stdint.h is
106340         reliable.
106341         * lib/fsusage.c (UINTMAX_MAX): Remove.
106342         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
106343         * lib/utimecmp.c (SIZE_MAX): Remove.
106345         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
106347         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
106348         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
106349         O_NOATIME works.
106351 2006-10-05  Bruno Haible  <bruno@clisp.org>
106353         * lib/gl_list.h (gl_sortedlist_search_from_to,
106354         gl_sortedlist_indexof_from_to): New declarations.
106355         (gl_list_implementation): New fields sortedlist_search_from_to,
106356         sortedlist_indexof_from_to.
106357         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
106358         inline functions.
106359         * lib/gl_list.c (gl_sortedlist_search_from_to,
106360         gl_sortedlist_indexof_from_to): New functions.
106361         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
106362         function.
106363         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
106364         (gl_array_sortedlist_search_from_to): New function.
106365         (gl_array_list_implementation): Update.
106366         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
106367         function.
106368         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
106369         (gl_carray_sortedlist_search_from_to): New function.
106370         (gl_carray_list_implementation): Update.
106371         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
106372         gl_linked_sortedlist_indexof_from_to): New functions.
106373         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
106374         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
106375         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
106376         gl_tree_sortedlist_indexof_from_to): New functions.
106377         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
106378         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
106379         Update.
106380         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
106381         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
106382         Update.
106384 2006-10-05  Bruno Haible  <bruno@clisp.org>
106386         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
106387         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
106388         (struct gl_list_implementation): Add fields search_from_to,
106389         indexof_from_to. Remove fields search, indexof.
106390         (gl_list_search): Use the search_from_to method.
106391         (gl_list_search_from, gl_list_search_from_to): New functions.
106392         (gl_list_indexof): Use the indexof_from_to method.
106393         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
106394         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
106395         (gl_list_search_from, gl_list_search_from_to): New functions.
106396         (gl_list_indexof): Use the indexof_from_to method.
106397         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
106398         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
106399         gl_array_indexof. Add start_index, end_index arguments.
106400         (gl_array_search_from_to): Renamed from gl_array_search. Add
106401         start_index, end_index arguments.
106402         (gl_array_remove, gl_array_list_implementation): Update.
106403         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
106404         gl_carray_indexof. Add start_index, end_index arguments.
106405         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
106406         start_index, end_index arguments.
106407         (gl_carray_remove, gl_carray_list_implementation): Update.
106408         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
106409         gl_linked_search. Add start_index, end_index arguments.
106410         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
106411         start_index, end_index arguments.
106412         (gl_linked_remove): Update.
106413         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
106414         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
106415         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
106416         field to 'size_t'.
106417         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
106418         gl_tree_search. Add start_index, end_index arguments.
106419         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
106420         start_index, end_index arguments.
106421         (gl_tree_remove): Update.
106422         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
106423         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
106424         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
106425         function.
106426         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
106427         gl_tree_search. Add start_index, end_index arguments.
106428         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
106429         start_index, end_index arguments.
106430         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
106431         Update.
106432         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
106434 2006-10-05  Bruno Haible  <bruno@clisp.org>
106436         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
106438         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
106439         fwriteerror_temp): New declarations.
106440         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
106441         (descriptors): New variable.
106442         (cleanup): First, close the descriptors.
106443         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
106444         fclose_temp, fwriteerror_temp): New functions.
106446 2006-10-04  Jim Meyering  <jim@meyering.net>
106448         * lib/fts.c (fts_open): Tiny comment change.
106450 2006-10-04  Bruno Haible  <bruno@clisp.org>
106452         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
106453         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
106454         gl_LOCK_BODY.
106455         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
106456         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
106457         gl_LOCK_EARLY_BODY.
106458         (gl_LOCK): Require gl_LOCK_BODY.
106460 2006-10-04  Bruno Haible  <bruno@clisp.org>
106462         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
106463         (gl_oset_search_atleast): New declaration.
106464         (struct gl_oset_implementation): Add field 'search_atleast'.
106465         (gl_oset_search_atleast): New inline function.
106466         * lib/gl_oset.c (gl_oset_search_atleast): New function.
106467         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
106468         (gl_array_oset_implementation): Update.
106469         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
106470         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
106471         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
106473 2006-10-04  Bruno Haible  <bruno@clisp.org>
106475         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
106477 2006-10-03  Bruno Haible  <bruno@clisp.org>
106479         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
106480         from gl_avltreehash_list_implementation.
106482 2006-10-03  Bruno Haible  <bruno@clisp.org>
106484         * lib/gl_oset.c (gl_oset_add): Fix return type.
106486 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
106488         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
106490 2006-10-02  Eric Blake  <ebb9@byu.net>
106492         * modules/strnlen (Depends-on): Add extensions.
106494 2006-10-02  Eric Blake  <ebb9@byu.net>
106496         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
106497         definition in 2.60+.
106499 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
106501         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
106502         checks.
106504 2006-10-02  Bruno Haible  <bruno@clisp.org>
106506         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
106507         to the AUTOMAKE_OPTIONS.
106508         Reported by Jim Meyering.
106510 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
106512         Work around bug in Solaris 10 /proc file system:
106513         /proc/self/fd/NNN/.. isn't the parent directory of
106514         the directory whose file descriptor is NNN.  This needs to
106515         be worked around at run time, not compile time, since a
106516         program might be built on Solaris 8, where things work, and
106517         run on Solaris 10.
106518         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
106519         to use the following interface instead:
106520         (OPENAT_BUFFER_SIZE): New macro.
106521         (openat_proc_name): New function.
106522         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
106523         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
106524         Likewise.
106525         * lib/openat-proc.c: New file.
106526         * modules/openat (Files): Add lib/openat-proc.c.
106527         (Depends-on): Add same-inode, stdbool.
106528         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
106530 2006-09-29  Bruno Haible  <bruno@clisp.org>
106532         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
106533         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
106534         argument. Set stdout_closed before testing for ferror, not after.
106535         (fwriteerror, fwriteerror_no_ebadf): New functions.
106537 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106539         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
106541 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
106543         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
106544         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
106546 2006-09-28  Jim Meyering  <jim@meyering.net>
106548         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
106549         Include <unistd.h>.
106551 2006-09-28  Bruno Haible  <bruno@clisp.org>
106553         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
106554         * modules/linkedhash-list (Depends-on): Likewise.
106555         * modules/rbtreehash-list (Depends-on): Likewise.
106557 2006-09-28  Bruno Haible  <bruno@clisp.org>
106559         * lib/strndup.h: Simplify the redefinition of strndup.
106560         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
106561         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
106563 2006-09-28  Bruno Haible  <bruno@clisp.org>
106565         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
106566         * lib/gl_linkedhash_list.c: Likewise.
106567         * lib/gl_rbtreehash_list.c: Likewise.
106569 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
106571         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
106572         getaddrinfo.
106574         * lib/__fpending.h: Don't include <stdio_ext.h> unless
106575         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
106576         it causes <stdio_ext.h> to cause a compile-time error.
106577         Problem reported by Nelson H. F. Beebe.
106578         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
106579         of HAVE_DECL___PENDING.
106581         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
106582         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
106583         declaration.
106585 2006-09-27  Jim Meyering  <jim@meyering.net>
106587         This file could end up with a definition for a function
106588         named __strndup, rather than rpl_strndup on a system with
106589         incomplete weak_alias support.
106590         * lib/strndup.c (strndup): Rename from __strndup.
106591         Remove #defines that used to map __strndup to strndup.
106592         Don't use K&R prototypes.
106593         Remove LIBC-related code, since this file is not sync'd with glibc.
106594         * lib/strndup.h: Revamp, accordingly.
106595         * m4/strndup.m4: Modernize.
106597 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
106599         * modules/savewd (Depends-on): Add 'raise'.
106600         * lib/savewd.c: Include <signal.h>, for 'raise'.
106602 2006-09-26  Jim Meyering  <jim@meyering.net>
106604         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
106605         when we detect Darwin 8.7.0's acl_get_file bug.
106606         Rearrange to perform the new (below) run-test while $LIBS
106607         contains any acl-related library.  Set USE_ACL at the end.
106608         (gl_ACL_GET_FILE): New function.
106610 2006-09-26  Eric Blake  <ebb9@byu.net>
106612         * lib/verror.c: Include <config.h> unconditionally.
106614 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
106616         * modules/clock-time (Maintainer): Add self.
106617         * modules/getlogin_r (Depends-on): Add extensions.
106619 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106621         * modules/clock-time: New module.
106622         * modules/nanosleep (Depends-on): Add clock-time.
106623         * modules/gethrxtime (Depends-on): Likewise.
106624         * modules/gettime (Depends-on): Likewise.
106625         * modules/settime (Depends-on): Likewise.
106627         * modules/fts-lgpl: Depend on openat.
106628         * modules/mkancesdirs: Depend on savewd.
106629         * modules/mkdir-p: Likewise.
106631 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106633         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
106635         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
106636         `gl_have_arbitrary_file_name_length_limit' to
106637         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
106638         actually works between configure runs.
106640 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106641             Bruno Haible  <bruno@clisp.org>
106643         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
106645 2006-09-25  Jim Meyering  <jim@meyering.net>
106647         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
106648         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
106650 2006-09-25  Eric Blake  <ebb9@byu.net>
106652         * gnulib-tool (func_import, func_create_testdir): Fix typos in
106653         exec's in 2006-09-18 patch when shuffling fds.
106655 2006-09-25  Bruno Haible  <bruno@clisp.org>
106657         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
106658         Reported by Jim Meyering.
106660 2006-09-24  Jim Meyering  <jim@meyering.net>
106662         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
106663         compare a pointer against a literal "0".  That caused failures with
106664         at least HP-UX's hpcc.
106666 2006-09-22  Simon Josefsson  <jas@extundo.com>
106668         * modules/gc-sha1:
106669         * modules/gc-md4:
106670         * modules/gc-hmac-sha1:
106671         * modules/gc-hmac-md5:
106672         * modules/gc-des:
106673         * modules/gc-arcfour: Distribute more files.
106675 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106677         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
106678         (gl_linked_iterator_from_to): Initialize struct completely.
106679         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
106680         (gl_tree_iterator_from_to): Likewise
106681         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
106682         * lib/gl_array_list.c [lint] (gl_array_iterator)
106683         (gl_array_iterator_from_to): Likewise.
106684         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
106685         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
106686         (gl_carray_iterator_from_to): Likewise.
106688         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
106689         * lib/md4.c (md4_process_block): Remove unused variable.
106690         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
106691         parentheses for clarity.
106693 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106695         * modules/bison-i18n (Depends-on): Add gettext.
106697 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106699         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
106700         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
106701         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
106702         also add missing comma that caused broken test.
106703         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
106704         stdlib.h, for `abort'.
106705         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
106706         variables.
106707         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
106708         include unistd.h if present, for `rmdir'.
106709         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
106710         variables.
106711         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
106712         in the process include standard headers for prototypes.
106713         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
106714         gets declared on GNU/Linux.
106715         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
106716         unistd.h, for `rmdir'.
106717         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
106719         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
106720         always true.
106721         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
106723         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
106725 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106727         * gnulib-tool (func_version): Create output all at once.  This
106728         may help avoid triggering unnecessary SIGPIPEs, and at any
106729         rate it doesn't hurt.
106731 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106732             Bruno Haible  <bruno@clisp.org>
106734         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
106735         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
106736         * m4/signed.m4 (bh_C_SIGNED): Likewise.
106738         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
106739         (gl_FUNC_VASPRINTF): Invoke it.
106741 2006-09-22  Bruno Haible  <bruno@clisp.org>
106743         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
106744         getloadavg.c as first argument.
106746 2006-09-22  Bruno Haible  <bruno@clisp.org>
106748         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
106749         at the beginning of the gl_INIT macro.
106750         * modules/getloadavg (configure.ac): Pass $gl_source_base to
106751         gl_GETLOADAVG.
106753 2006-09-22  Bruno Haible  <bruno@clisp.org>
106755         * gnulib-tool (func_create_megatestdir): Don't include the config-h
106756         module.
106757         Suggested by Ralf Wildenhues.
106759 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
106761         Import this patch from libc:
106763         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
106765         * lib/regex_internal.c (re_string_reconstruct): Handle
106766         offset < pstr->valid_raw_len && pstr->offsets_needed case.
106767         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
106768         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
106769         re_string_context_at.
106771         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
106772         now requires it.
106773         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
106774         gl_REGEX now does it for us.
106775         (gl_REGEX): Add test taken from
106776         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
106778         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
106779         Check that large offsets work.  Modernize Autoconf usages.
106780         Prefer "yes" to mean a good thing rather than a bad.
106781         Don't put "#define mkstemp" in config.h, as this might interfere
106782         with standard system headers that "#define mkstemp mkstemp64".
106784         * modules/mkstemp (Depends-on): Add extensions, so that
106785         mkstemp is visible on some platforms.
106786         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
106787         (Include): Change to "mkstemp.h" from <stdlib.h>.
106788         (Files): Add mkstemp.h.
106790         * lib/mkstemp.h: New file, since some standard headers
106791         #define mkstemp.
106792         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
106793         Include "mkstemp.h".
106794         Make the _LIBC code resemble glibc original more,
106795         e.g., use K&R style.
106796         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
106797         (mkstemp): Remove, since mkstemp.h does this for us.
106798         * lib/stdlib--.h: Include mkstemp.h.
106800         Import this patch from libc:
106802         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
106804         * lib/tempname.c (__gen_tempname): Change attempts_min
106805         into a macro.  Use preprocessor to decide how to initialize
106806         attempts [Coverity CID 67].
106808 2006-09-20  Bruno Haible  <bruno@clisp.org>
106810         * lib/mkdtemp.c: Import from libc.
106811         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
106812                 * sysdeps/posix/tempname.c (__gen_tempname): Change
106813                 attempts_min into a macro.  Use preprocessor to decide how to
106814                 initialize attempts [Coverity CID 67].
106815         2001-11-27  Paul Eggert  <eggert@twinsun.com>
106816                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
106817                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
106819 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106821         * gnulib-tool (func_exit): New function, to allow to pass the
106822         exit status portably through the trap.  Use everywhere.
106823         (--help, --version): Signal a write error.
106824         (trap): catch SIGPIPE, for write errors.
106825         Exit at the end of the trap, with the correct exit status.
106827 2006-09-19  Karl Berry  <karl@gnu.org>
106829         * doc/gnulib.texi: note about the license texinfo files.
106831 2006-09-19  Eric Blake  <ebb9@byu.net>
106833         * gnulib-tool: Avoid space-tab.
106835 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
106837         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
106838         that prevented coreutils 6.1 from building.  Problem reported
106839         by Petter Reinholdtsen.
106841 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
106843         * gnulib-tool (avoidlist): Fix typo that broke options like
106844         --avoid=lock that are used by coreutils bootstrap.
106846 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
106848         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
106849         more systematically.
106851 2006-09-18  Jim Meyering  <jim@meyering.net>
106853         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
106855 2006-09-18  Bruno Haible  <bruno@clisp.org>
106857         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
106859 2006-09-18  Bruno Haible  <bruno@clisp.org>
106861         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
106862         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
106863         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
106864         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
106865         * m4/gettext.m4: Require autoconf >= 2.52.
106866         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
106867         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
106868         of gl_cv_header_inttypes_h.
106870 2006-09-18  Bruno Haible  <bruno@clisp.org>
106872         * lib/javaversion.c: Include configmake.h.
106874 2006-09-18  Bruno Haible  <bruno@clisp.org>
106876         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
106877         avoid that the while loops be executed in a subshell.
106879 2006-09-18  Bruno Haible  <bruno@clisp.org>
106881         * MODULES.html.sh (func_module): Break long lines.
106882         Suggested by Bruce Korb <bkorb@gnu.org>.
106884 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106886         Speed up by a factor of 1.12.
106887         * gnulib-tool (nl): New variable.
106888         (func_import): Rewrite include directive extraction to only read each
106889         directive once.
106891 2006-09-17  Bruno Haible  <bruno@clisp.org>
106893         * modules/javaversion (Makefile.am): Remove DEFS setting.
106894         (Depends-on): Add configmake, for PKGDATADIR definition.
106896 2006-09-17  Bruno Haible  <bruno@clisp.org>
106898         * gnulib-tool (func_create_testdir): Rewrite all files at once.
106900 2006-09-17  Bruno Haible  <bruno@clisp.org>
106902         * gnulib-tool (func_append): New function, stolen from libtool.m4.
106903         (func_modules_transitive_closure, func_modules_add_dummy,
106904         func_modules_to_filelist, func_import, func_create_testdir,
106905         func_create_megatestdir, ...): Use it wherever possible.
106906         Suggested by Ralf Wildenhues.
106908 2006-09-16  Karl Berry  <karl@gnu.org>
106910         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
106911         to avoid sectioning errors.
106912         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
106913         [ifinfo]: blank line after @center-ed titles.
106914         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
106915         Spell FSF address consistently with others.
106916         (These changes approved by rms.)
106918 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106920         Speed up by a factor of 1.61.
106921         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
106922         already checked module names again.
106924 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106926         Speed up by a factor of 1.13.
106927         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
106928         for new_files, and the input to func_add_or_update.
106930 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
106932         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
106933         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
106935 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
106937         * modules/mkancesdirs (Depends-on): Add fcntl.
106938         * modules/savewd: New file.
106939         * MODULES.html.sh (File system functions): Add savewd.
106941         * modules/configmake (Makefile.am): Add support for the
106942         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
106944 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
106946         * m4/savewd.m4: New file.
106948 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
106950         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
106951         (dirchownmod): New arg FD.  All callers changed.
106952         Use FD rather than opening the directory ourself, as opening is
106953         now the caller's responsibility.
106954         * lib/dirchownmod.h: Likewise.
106955         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
106956         hosts that require <sys/types.h> before <sys/stat.h>.  Include
106957         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
106958         (test_dir): Remove.
106959         (mkancesdirs): Return length of prefix of FILE that has already
106960         been made, or -2 if there is a child doing the work.  Redo
106961         algorithm so that it is O(N) rather than O(N**2).  Optimize away
106962         ".", and treat ".." specially since it might stray back into
106963         already-created areas.  Use a subprocess if necessary.  New arg
106964         WD; all users changed.  MAKE_DIR function should now return 1
106965         if it creates a directory that is not readable.  Return -2 if
106966         a child process is spun off.
106967         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
106968         Adjust signature to match code.
106969         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
106970         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
106971         all users changed.
106972         * lib/savewd.c, lib/savewd.h: New files.
106974 2006-09-15  Jim Meyering  <jim@meyering.net>
106976         * modules/rename-dest-slash: New module.
106977         * MODULES.html.sh (posix_compat): Add it here.
106979         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
106981 2006-09-15  Jim Meyering  <jim@meyering.net>
106983         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
106984         file.
106986         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
106988 2006-09-15  Jim Meyering  <jim@meyering.net>
106990         * lib/rename-dest-slash.c (has_trailing_slash): Use
106991         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
106992         (rpl_rename_dest_slash): Perform the cheaper trailing slash
106993         test before testing whether SRC is a directory.
106994         Suggestions from Bruno Haible.
106996         Avoid a warning about an unused variable.
106997         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
106998         into the #ifdef block where it's used.
107000         * lib/rename-dest-slash.c: New file.
107002 2006-09-14  Bruno Haible  <bruno@clisp.org>
107004         * lib/allocsa.c: Include <config.h> unconditionally.
107005         * lib/asnprintf.c: Likewise.
107006         * lib/asprintf.c: Likewise.
107007         * lib/c-strcasecmp.c: Likewise.
107008         * lib/c-strcasestr.c: Likewise.
107009         * lib/c-strncasecmp.c: Likewise.
107010         * lib/c-strstr.c: Likewise.
107011         * lib/classpath.c: Likewise.
107012         * lib/clean-temp.c: Likewise.
107013         * lib/concatpath.c: Likewise.
107014         * lib/copy-file.c: Likewise.
107015         * lib/csharpcomp.c: Likewise.
107016         * lib/csharpexec.c: Likewise.
107017         * lib/execute.c: Likewise.
107018         * lib/fatal-signal.c: Likewise.
107019         * lib/findprog.c: Likewise.
107020         * lib/fwriteerror.c: Likewise.
107021         * lib/gl_array_list.c: Likewise.
107022         * lib/gl_array_oset.c: Likewise.
107023         * lib/gl_avltree_list.c: Likewise.
107024         * lib/gl_avltree_oset.c: Likewise.
107025         * lib/gl_avltreehash_list.c: Likewise.
107026         * lib/gl_carray_list.c: Likewise.
107027         * lib/gl_linked_list.c: Likewise.
107028         * lib/gl_linkedhash_list.c: Likewise.
107029         * lib/gl_list.c: Likewise.
107030         * lib/gl_oset.c: Likewise.
107031         * lib/gl_rbtree_list.c: Likewise.
107032         * lib/gl_rbtree_oset.c: Likewise.
107033         * lib/gl_rbtreehash_list.c: Likewise.
107034         * lib/imaxabs.c: Likewise.
107035         * lib/imaxdiv.c: Likewise.
107036         * lib/javacomp.c: Likewise.
107037         * lib/javaexec.c: Likewise.
107038         * lib/javaversion.c: Likewise.
107039         * lib/linebreak.c: Likewise.
107040         * lib/localcharset.c: Likewise.
107041         * lib/lock.c: Likewise.
107042         * lib/mbchar.c: Likewise.
107043         * lib/mbswidth.c: Likewise.
107044         * lib/mkdtemp.c: Likewise.
107045         * lib/pipe.c: Likewise.
107046         * lib/printf-args.c: Likewise.
107047         * lib/printf-parse.c: Likewise.
107048         * lib/progname.c: Likewise.
107049         * lib/progreloc.c: Likewise.
107050         * lib/readlink.c: Likewise.
107051         * lib/sh-quote.c: Likewise.
107052         * lib/stpcpy.c: Likewise.
107053         * lib/stpncpy.c: Likewise.
107054         * lib/strcasecmp.c: Likewise.
107055         * lib/strcasestr.c: Likewise.
107056         * lib/strcspn.c: Likewise.
107057         * lib/striconv.c: Likewise.
107058         * lib/strncasecmp.c: Likewise.
107059         * lib/strnlen1.c: Likewise.
107060         * lib/strstr.c: Likewise.
107061         * lib/strtok_r.c: Likewise.
107062         * lib/tls.c: Likewise.
107063         * lib/tmpdir.c: Likewise.
107064         * lib/unicodeio.c: Likewise.
107065         * lib/unsetenv.c: Likewise.
107066         * lib/vasnprintf.c: Likewise.
107067         * lib/vasprintf.c: Likewise.
107068         * lib/wait-process.c: Likewise.
107069         * lib/xallocsa.c: Likewise.
107070         * lib/xsetenv.c: Likewise.
107071         * lib/xstriconv.c: Likewise.
107073 2006-09-13  Simon Josefsson  <jas@extundo.com>
107075         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
107076         that internally, suggested by Ralf Wildenhues
107077         <Ralf.Wildenhues@gmx.de>.
107079 2006-09-13  Simon Josefsson  <jas@extundo.com>
107081         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
107082         @LIBOBJS@.
107083         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107085 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107087         * lib/_fpending.c: Include <config.h> unconditionally, since we no
107088         longer worry about uses that don't define HAVE_CONFIG_H.
107089         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
107090         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
107091         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
107092         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
107093         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
107094         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
107095         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
107096         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
107097         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
107098         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
107099         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
107100         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
107101         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
107102         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
107103         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
107104         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
107105         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
107106         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
107107         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
107108         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
107109         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
107110         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
107111         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
107112         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
107113         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
107114         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
107115         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
107116         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
107117         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
107118         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
107119         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
107120         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
107121         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
107122         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
107123         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
107124         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
107125         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
107126         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
107127         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
107128         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
107129         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
107130         Likewise.
107132 2006-09-13  Eric Blake  <ebb9@byu.net>
107134         * lib/getopt.c: Fix typo in last commit.
107136 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
107138         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
107139         dgettext.
107141 2006-09-12  Jim Meyering  <jim@meyering.net>
107143         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
107144         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
107145         Reported by Nelson H. F. Beebe.
107147 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
107149         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
107150         program_invocation_name and program_invocation_short_name are
107151         initialized.
107152         * lib/argp-namefrob.h: Move declarations of program_invocation_name
107153         and program_invocation_short_name to argp.h, so they are visible
107154         to user programs.
107155         * lib/argp.h: Likewise
107157 2006-09-10  Bruno Haible  <bruno@clisp.org>
107159         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
107160         m4/inttypes_h.m4, m4/uintmax_t.m4.
107162 2006-09-10  Bruno Haible  <bruno@clisp.org>
107164         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
107165         gl_AC_TYPE_UINTMAX_T.
107167 2006-09-10  Bruno Haible  <bruno@clisp.org>
107169         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
107171 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
107173         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
107174         convention.  Text proposed by Bruno Haible.
107175         (struct argp_option): Document the use of N_() wrappers.
107177         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
107178         '\v', and translate the two parts separately, instead of feeding
107179         the whole string to gettext.  This allows to exclude
107180         '\v' from the strings visible to the translator by writing doc
107181         strings as N_("..") "\v" N_("..").
107183 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
107185         * config/srclist.txt: Undo latest change; the bug was fixed.
107187 2006-09-09  Bruno Haible  <bruno@clisp.org>
107189         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
107190         assignments if building a library without libtool.
107191         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
107192         in func_emit_lib_Makefile_am.
107193         (func_import): When building a static library libfoo.a, arrange to
107194         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
107195         (func_create_testdir): Likewise.
107196         * modules/gc (configure.ac, Makefile.am): If building statically,
107197         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
107198         * modules/iconvme (configure.ac, Makefile.am): Likewise.
107199         * modules/striconv (configure.ac, Makefile.am): Likewise.
107200         Based on a suggestion by Ralf Wildenhues.
107202 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
107204         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
107205         Check for unistd.h too, since Autoconf doesn't assume POSIX.
107206         Also:
107208         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
107209         Add year_2050_test to catch glibc bug 2821
107210         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
107212         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
107213         Prefer #ifdef to #if.
107215         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
107216         Return from 'main' instead of calling 'exit'.
107218 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
107220         * lib/mktime.c (guess_time_tm): Fix bug where mktime
107221         returned the maximum time_t value rather than (time_t) -1.
107222         Problem originally reported by William Bardwell
107223         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
107225         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
107226         Moved to here ...
107227         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
107228         ... from here.
107230 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
107232         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
107233         2821 is fixed.
107235 2006-09-08  Jim Meyering  <jim@meyering.net>
107237         Don't make generated files read-only.  That would bother too many
107238         people.  However, do retain the ability to work when targets are
107239         read-only: remove the destination and temporary files before writing
107240         them (when generated via sed or echo), or by using the -f option for
107241         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
107242         * modules/alloca-opt, modules/argz, modules/arpa_inet:
107243         * modules/byteswap, modules/configmake, modules/fcntl:
107244         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
107245         * modules/localcharset, modules/netinet_in, modules/poll:
107246         * modules/stdbool, modules/stdint, modules/sys_select:
107247         * modules/sys_socket, modules/sys_stat, modules/sysexits:
107249 2006-09-08  Jim Meyering  <jim@meyering.net>
107251         Avoid new build failure on FreeBSD 6.0.
107252         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
107253         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
107254         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
107256 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107258         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
107260 2006-09-07  Jim Meyering  <jim@meyering.net>
107262         Fix global typo in last change: use chmod u-w, not chmod u-x.
107263         Spotted by Paul Eggert and Bruce Korb.
107264         * modules/alloca-opt, modules/argz, modules/arpa_inet:
107265         * modules/byteswap, modules/configmake, modules/fcntl:
107266         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
107267         * modules/localcharset, modules/netinet_in, modules/poll:
107268         * modules/stdbool, modules/stdint, modules/sys_select:
107269         * modules/sys_socket, modules/sys_stat, modules/sysexits:
107271 2006-09-06  Jim Meyering  <jim@meyering.net>
107273         Make generated files be read-only.
107274         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
107275         Ensure that each generated file is now read-only.
107276         * modules/argz: Likewise.
107277         * modules/arpa_inet: Likewise.
107278         * modules/byteswap: Likewise.
107279         * modules/configmake: Likewise.
107280         * modules/fcntl: Likewise.
107281         * modules/fnmatch: Likewise.
107282         * modules/getopt: Likewise.
107283         * modules/glob: Likewise.
107284         * modules/inttypes: Likewise.
107285         * modules/netinet_in: Likewise.
107286         * modules/poll: Likewise.
107287         * modules/stdbool: Likewise.
107288         * modules/stdint: Likewise.
107289         * modules/sys_select: Likewise.
107290         * modules/sys_socket: Likewise.
107291         * modules/sys_stat: Likewise.
107292         * modules/sysexits: Likewise.
107293         * modules/localcharset: Same as above, but continue using temporary
107294         file named "t-$@" (why different?) rather than the "$@-t" used
107295         everywhere else.
107297         * modules/sysexits (Makefile.am): Replace literal occurrences
107298         of "sysexit.h" more readable, and more consistent, "$@".
107300 2006-09-06  Bruno Haible  <bruno@clisp.org>
107302         * modules/striconv: New file.
107303         * modules/xstriconv: New file.
107304         * MODULES.html.sh (Internationalization functions): Add striconv,
107305         xstriconv.
107307 2006-09-06  Bruno Haible  <bruno@clisp.org>
107309         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
107310         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
107311         not using libtool correctly.
107313 2006-09-06  Bruno Haible  <bruno@clisp.org>
107315         * lib/striconv.h: New file.
107316         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
107317         iconvstring.c.
107318         * lib/xstriconv.h: New file.
107319         * lib/xstriconv.c: New file.
107321 2006-09-06  Bruno Haible  <bruno@clisp.org>
107323         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
107324         lib_..._LDFLAGS.
107326 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107328         * lib/argz_.h: Sync from Libtool.
107330         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
107331                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
107333         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
107335 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
107337         * modules/trim: New file.
107339 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
107341         * lib/trim.h: New file.
107342         * lib/trim.c: New file.
107344 2006-09-05  Bruno Haible  <bruno@clisp.org>
107346         * MODULES.html.sh (String handling): Add trim.
107348 2006-09-04  Karl Berry  <karl@gnu.org>
107350         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
107351         until next release.
107353 2006-09-03  Bruno Haible  <bruno@clisp.org>
107355         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
107356         correctly.
107358 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
107360         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
107361         not gl_GETLOADAVG.  Omit unneeded semicolons.
107362         Problems reported by Ralf Wildenhues in
107363         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
107364         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
107365         at the end, which is the usual gnulib style.
107367         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
107368         of doing all the work ourselves.
107369         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
107370         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
107372 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
107374         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
107375         Problem reported by Ralf Wildenhues in
107376         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
107378         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
107379         HAVE_STRUCT_STATFS_F_FSTYPENAME.
107381 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
107383         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
107384         yesterday's patch by changing test -n to test -z.
107386 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
107388         * modules/getloadavg (Files): Add m4/getloadavg.m4.
107389         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
107390         the former is now obsolescent.
107392         * modules/chdir-long (Depends-on): Add fcntl.
107394 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
107396         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
107397         obsolescent, and programs should use gnulib instead.
107398         * m4/getloadavg.m4: New file, with contents taken from Autoconf
107399         but with prefixes changed.
107401 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
107403         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
107404         or stdbool.h, because they might not exist while configuring.
107406         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
107407         Don't include unistd.h or limits.h; not needed, since chdir-long.h
107408         does that for us.
107409         (O_DIRECTORY): Remove.
107411 2006-08-31  Eric Blake  <ebb9@byu.net>
107413         * gnulib-tool: Don't let emacs change spaces to TAB.
107415 2006-08-31  Bruno Haible  <bruno@clisp.org>
107417         * gnulib-tool: When calling func_import more than once, do it in a
107418         subshell.
107419         Reported by Eric Blake <ebb9@byu.net>.
107421 2006-08-31  Bruno Haible  <bruno@clisp.org>
107423         * gnulib-tool (nl): Remove variable.
107424         (sed_transform_lib_file): Use more robust test for config-h module.
107425         (func_import): Fix typo in 2006-08-25 patch.
107427 2006-08-31  Bruno Haible  <bruno@clisp.org>
107429         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
107430         specified, augment Makefile.am variables instead of assigning them.
107432 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
107434         Work around a bug in both the Linux and SunOS 64-bit kernels:
107435         nanosleep mishandles sleeps for longer than 2**31 seconds.
107436         Problem reported by Frank v Waveren in
107437         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
107438         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
107439         Check for nanosleep bug.
107440         (LIB_NANOSLEEP): Append clock_gettime library if needed.
107442 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
107444         Work around a bug in both the Linux and SunOS 64-bit kernels:
107445         nanosleep mishandles sleeps for longer than 2**31 seconds.
107446         Problem reported by Frank v Waveren in
107447         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
107448         * lib/nanosleep.c (BILLION): New constant.
107449         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
107450         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
107451         implementation.
107453 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
107455         * modules/nanosleep (Depends-on): Add gettime.
107457 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
107458         and Simon Josefsson  <jas@extundo.com>
107459         and Oskar Liljeblad  <oskar@osk.mine.nu>
107461         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
107462         * gnulib-tool (func_import): New license type 'unmodifiable license
107463         text'.
107464         * modules/fdl: Use it.  Longer description.
107465         * module/gpl, module/lgpl: New files.
107467 2006-08-30  Jim Meyering  <jim@meyering.net>
107469         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
107470         shadowing the parameter.
107472 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107474         Sync from Libtool:
107476         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107478         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
107479         sharing with gnulib.  Report by Eric Blake.
107481 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
107483         * modules/isapipe: New file.
107484         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
107486 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
107488         * modules/configmake (Makefile.am): Add a comment, and omit
107489         the CONFIGMAKE_ prefix from generated macro names.  Suggested
107490         by Bruno Haible.
107492 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
107494         * m4/isapipe.m4: New file.
107496 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
107498         * lib/isapipe.c, lib/isapipe.h: New files.
107500 2006-08-29  Jim Meyering  <jim@meyering.net>
107502         * modules/configmake (Makefile.am): Make configmake.h depend on
107503         Makefile.  Otherwise, a stale configmake.h could hang around.
107505 2006-08-29  Eric Blake  <ebb9@byu.net>
107507         * lib/error.c (error_at_line, print_errno_message): Match libc, after
107508         resolution of upstream bug 3044.
107510 2006-08-29  Bruno Haible  <bruno@clisp.org>
107512         * modules/localcharset (Depends-on): Add configmake.
107513         (Makefile.am): Remove setting of LIBDIR through DEFS.
107515 2006-08-29  Bruno Haible  <bruno@clisp.org>
107517         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
107518         defined.
107520 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
107522         * modules/fcntl: New file.
107523         * modules/chdir-safer (Depends-on): Add fcntl.
107524         * modules/fts: Likewise.
107525         * modules/mkdir-p: Likewise.
107527         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
107528         This undoes the most recent change, since we're now addressing the
107529         problem in a different way.
107531         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
107532         into output, since the output might be called Makefile.am even
107533         if $makefile_name is something different.
107534         (func_import): Use $makefile_am rather than
107535         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
107536         empty.
107538         * modules/inttypes (Files): Add m4/inttypes-h.m4.
107540 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
107542         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
107543         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
107544         recent change to stdint.m4, since we're now addressing the problem in a
107545         different way.
107547 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
107549         * m4/fcntl_h.m4: New file.
107551 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
107553         * lib/fcntl_.h: New file.
107554         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
107555         the fcntl module.
107556         * lib/dirchownmod.c: Likewise.
107557         * lib/fts.c: Likewise.
107559         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
107560         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
107561         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
107562         just before including <inttypes.h>, to avoid circular inclusion.
107564 2006-08-28  Jim Meyering  <jim@meyering.net>
107566         * doc/visibility.texi: Actually read and correct the grammar of the
107567         sentence affected by yesterday's change.
107569 2006-08-28  Eric Blake  <ebb9@byu.net>
107571         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
107572         needs wrapper.
107574 2006-08-28  Eric Blake  <ebb9@byu.net>
107576         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
107578 2006-08-28  Eric Blake  <ebb9@byu.net>
107580         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
107582 2006-08-28  Bruno Haible  <bruno@clisp.org>
107584         * modules/c-strstr: New file, from GNU gettext.
107585         * MODULES.html.sh (String handling): Add c-strstr.
107587 2006-08-28  Bruno Haible  <bruno@clisp.org>
107589         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
107590         macros.
107591         Reported by Eric Blake.
107593 2006-08-28  Bruno Haible  <bruno@clisp.org>
107595         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
107596         (VASNPRINTF): Return a string of length > INT_MAX without failing.
107597         * lib/vasprintf.c: Include errno.h, limits.h.
107598         (EOVERFLOW): New fallback definition.
107599         (vasprintf): Test here whether the string length is > INT_MAX.
107600         * lib/vsnprintf.c: Include errno.h, limits.h.
107601         (EOVERFLOW): New fallback definition.
107602         (vsnprintf): Fix bug when generated string was too long for the buffer.
107603         Test here whether the string length is > INT_MAX.
107605 2006-08-28  Bruno Haible  <bruno@clisp.org>
107607         * lib/inttypes_.h (SCNX*): Remove definitions.
107608         Reported by Eric Blake.
107610 2006-08-28  Bruno Haible  <bruno@clisp.org>
107612         * lib/c-strstr.h: New file, from GNU gettext.
107613         * lib/c-strstr.c: New file, from GNU gettext.
107615 2006-08-28  Bruno Haible  <bruno@clisp.org>
107617         * gnulib-tool: Reorder some statements.
107619 2006-08-28  Bruno Haible  <bruno@clisp.org>
107621         * gnulib-tool: New option --makefile-name.
107622         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
107623         $makefile_name.
107624         (func_import): Write $makefile_name to the cache file, and read it from
107625         there unless explicitly specified. Use $makefile_name as file name
107626         instead of Makefile.am. Adjust the recommendations accordingly.
107628 2006-08-28  Bruno Haible  <bruno@clisp.org>
107630         * gnulib-tool (func_verify_module): Check against misapplying patch.
107632 2006-08-28  Bruno Haible  <bruno@clisp.org>
107634         * gnulib-tool (func_relativize, func_relconcat): New functions.
107635         Give an error if --local-dir is given with --update.
107636         Remove trailing slashes from $local_gnulib_dir.
107637         (func_import): Store the relativized $local_gnulib_dir in
107638         gnulib-cache.m4, and read it from there if not specified explicitly.
107640 2006-08-28  Bruno Haible  <bruno@clisp.org>
107642         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
107643         is the current directory. Respect also $local_gnulib_dir.
107645 2006-08-28  Bruno Haible  <bruno@clisp.org>
107646             Simon Josefsson  <jas@extundo.com>
107648         BeOS portability.
107649         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
107651 2006-08-27  Jim Meyering  <jim@meyering.net>
107653         * doc/visibility.texi: Remove duplicate word: "pointer".
107655 2006-08-26  Bruno Haible  <bruno@clisp.org>
107657         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
107658         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
107659         (Makefile.am): Create inttypes.h from inttypes_.h.
107660         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
107662         * modules/imaxabs: New file.
107664         * modules/imaxdiv: New file.
107666 2006-08-26  Bruno Haible  <bruno@clisp.org>
107668         * m4/inttypes.m4: New file.
107669         * m4/_inttypes_h.m4: Remove file.
107670         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
107671         PRI_MACROS_BROKEN.
107672         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
107674         * m4/imaxabs.m4: New file.
107676         * m4/imaxdiv.m4: New file.
107678 2006-08-26  Bruno Haible  <bruno@clisp.org>
107680         * lib/inttypes_.h: New file.
107681         * lib/inttypes.h: Remove file.
107682         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
107684         * lib/imaxabs.c: New file.
107686         * lib/imaxdiv.c: New file.
107688 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
107690         New config-h module, so that "make" output needn't be cluttered
107691         by -DHAVE_CONFIG_H.
107692         * MODULES.html.sh (Support for building libraries and executables):
107693         Add config-h.
107694         * modules/config-h: New file.
107695         * gnulib-tool (nl, sed_transform_lib_file): New vars.
107696         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
107697         the config-h module is used.
107699         New configmake module, so that "make" output needn't be cluttered
107700         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
107701         * MODULES.html.sh (Support for building libraries and executables):
107702         Add configmake.
107703         * modules/configmake: New file.
107705 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
107707         * m4/config-h.m4: New file.
107709 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
107711         * config/srclist.txt: Add elisp-comp.
107713 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
107715         * MODULES.html.sh (Support for building libraries and executables):
107716         Add elisp-comp.
107717         * build-aux/elisp-comp: New file.
107718         * modules/elisp-comp: New file.
107720 2006-08-24  Bruno Haible  <bruno@clisp.org>
107722         * gnulib-tool (func_create_testdir): Use non-default values of
107723         sourcebase and m4base.
107725 2006-08-24  Bruno Haible  <bruno@clisp.org>
107727         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
107728         HTML structure.
107730 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
107732         * modules/openat (Depends-on): Add lchown.
107734 2006-08-23  Bruno Haible  <bruno@clisp.org>
107736         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
107737         of gl_LOCK_EARLY instead of gl_LOCK.
107739 2006-08-23  Bruno Haible  <bruno@clisp.org>
107741         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
107742         on OSF/1 to no.
107743         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
107745 2006-08-23  Bruno Haible  <bruno@clisp.org>
107747         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
107748         as unusable.
107750         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
107751         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
107752         (gl_LOCK): New macro.
107754 2006-08-22  Simon Josefsson  <jas@extundo.com>
107756         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
107757         to md5 module.
107759 2006-08-22  Simon Josefsson  <jas@extundo.com>
107761         * MODULES.html.sh: Add "Support for maintaining and release
107762         projects".
107764         * build-aux/gnupload: New file, from coreutils.
107766 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
107768         Avoid the need for AC_LIBSOURCES in m4 macros.
107769         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
107770         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
107771         * modules/check-version (EXTRA_DIST): Add check-version.h.
107772         * modules/crc (EXTRA_DIST): Add crc.h.
107773         * modules/des (EXTRA_DIST): Add des.h.
107774         * modules/gc (EXTRA_DIST): Add gc.h.
107775         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
107776         * modules/getline (EXTRA_DIST): Add getline.h.
107777         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
107778         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
107779         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
107780         * modules/md2 (EXTRA_DIST): Add md2.h.
107781         * modules/md4 (EXTRA_DIST): Add md4.h.
107782         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
107783         * modules/read-file (EXTRA_DIST): Add read-file.h.
107784         * modules/readline (EXTRA_DIST): Add readline.h.
107785         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
107786         rijndael-api-fst.h.
107788 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
107790         * m4/rijndael.m4 (gl_ARCFOUR):
107791         * m4/arctwo.m4 (gl_ARCTWO):
107792         * m4/check-version.m4 (gl_CHECK_VERSION):
107793         * m4/crc.m4 (gl_CRC):
107794         * m4/des.m4 (gl_DES):
107795         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
107796         * m4/gc.m4 (gl_GC):
107797         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
107798         * m4/getline.m4 (gl_FUNC_GETLINE):
107799         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
107800         * m4/hmac-md5.m4 (gl_HMAC_MD5):
107801         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
107802         * m4/md2.m4 (gl_MD2):
107803         * m4/md4.m4 (gl_MD4):
107804         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
107805         * m4/read-file.m4 (gl_FUNC_READ_FILE):
107806         * m4/readline.m4 (gl_FUNC_READLINE):
107807         * m4/rijndael.m4 (gl_RIJNDAEL):
107808         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
107809         to get the necessary .h files and whatnot.
107811 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
107813         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
107814         gnulib rather than the other way around.
107815         * config/srclistvars.sh (COREUTILS): Remove.
107817 2006-08-22  Jim Meyering  <jim@meyering.net>
107819         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
107821         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
107823 2006-08-22  Eric Blake  <ebb9@byu.net>
107825         * modules/regexprops-generic: New file.
107826         * MODULES.html.sh (Support for building documentation): List it.
107828 2006-08-22  Eric Blake  <ebb9@byu.net>
107830         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
107831         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
107832         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
107833         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
107835 2006-08-22  Bruno Haible  <bruno@clisp.org>
107837         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
107838         and lib_LTLIBRARIES like the other lib_* variables.
107840 2006-08-22  Bruno Haible  <bruno@clisp.org>
107842         * build-aux/x-to-1.in: New file, from GNU gettext.
107844 2006-08-22  Bruno Haible  <bruno@clisp.org>
107846         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
107847         <utmpx.h> exists.
107849 2006-08-22  Bruno Haible  <bruno@clisp.org>
107851         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
107852         <utmpx.h> exists.
107854 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
107856         BeOS portability.
107857         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
107858         exist.
107859         Problem reported by Bruno Haible.
107861 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
107863         Avoid the need for AC_LIBSOURCES in m4 macros.
107864         * modules/acl (EXTRA_DIST): Add acl.h.
107865         * modules/argmatch (Files): Add m4/argmatch.m4.
107866         (configure.ac): Add gl_ARGMATCH.
107867         (EXTRA_DIST): Renamed from lib_SOURCES, for
107868         consistency with the other modules.  Remove argmatch.c.
107869         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
107870         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
107871         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
107872         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
107873         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
107874         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
107875         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
107876         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
107877         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
107878         * modules/closeout (EXTRA_DIST): Add closeout.h.
107879         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
107880         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
107881         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
107882         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
107883         dirname.h; remove basename.c and stripslash.c.
107884         * modules/exclude (EXTRA_DIST): Add exclude.h.
107885         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
107886         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
107887         * modules/file-type (EXTRA_DIST): Add file-type.h.
107888         * modules/filemode (EXTRA_DIST): Add filemode.h.
107889         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
107890         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
107891         * modules/fpending (EXTRA_DIST): Add __fpending.h.
107892         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
107893         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
107894         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
107895         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
107896         * modules/getdate (EXTRA_DIST): Add getdate.c.
107897         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
107898         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
107899         * modules/getpass (EXTRA_DIST): Add getpass.h.
107900         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
107901         * modules/group-member (EXTRA_DIST): Add group-member.h.
107902         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
107903         * modules/hash (EXTRA_DIST): Add hash.h.
107904         * modules/human (EXTRA_DIST): Add human.h.
107905         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
107906         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
107907         * modules/lchown (EXTRA_DIST): Add lchown.h.
107908         * modules/long-options (EXTRA_DIST): Add long-options.h.
107909         * modules/lstat (EXTRA_DIST): Add lstat.h.
107910         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
107911         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
107912         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
107913         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
107914         * modules/memxor (EXTRA_DIST): Add memxor.h.
107915         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
107916         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
107917         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
107918         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
107919         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
107920         * modules/physmem (EXTRA_DIST): Add physmem.h.
107921         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
107922         * modules/posixver (EXTRA_DIST): Add posixver.h.
107923         * modules/quote (EXTRA_DIST): Add quote.h.
107924         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
107925         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
107926         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
107927         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
107928         regex_internal.h regexec.c.
107929         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
107930         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
107931         * modules/same (EXTRA_DIST): Add same.h.
107932         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
107933         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
107934         * modules/savedir (EXTRA_DIST): Add savedir.h.
107935         * modules/sha1 (EXTRA_DIST): Add sha1.h.
107936         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
107937         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
107938         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
107939         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
107940         * modules/strdup (EXTRA_DIST): Add strdup.h.
107941         * modules/strftime (EXTRA_DIST): Add strftime.h.
107942         * modules/strndup (EXTRA_DIST): Add strndup.h.
107943         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
107944         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
107945         * modules/time_r (EXTRA_DIST): Add time_r.h.
107946         * modules/timespec (EXTRA_DIST): Add timespec.h.
107947         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
107948         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
107949         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
107950         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
107951         * modules/userspec (EXTRA_DIST): Add userspec.h.
107952         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
107953         * modules/utimens (EXTRA_DIST): Add utimens.h.
107954         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
107955         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
107956         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
107957         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
107958         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
107959         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
107960         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
107961         * modules/yesno (EXTRA_DIST): Add yesno.h.
107963 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
107965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
107967         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
107968         * m4/dev-ino.m4, same-inode.m4: Remove.
107970         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
107971         * m4/acl.m4 (AC_FUNC_ACL):
107972         * m4/backupfile.m4 (gl_BACKUPFILE):
107973         * m4/c-strtod.m4 (gl_C99_STRTOLD):
107974         * m4/canon-host.m4 (gl_CANON_HOST):
107975         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
107976         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
107977         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
107978         * m4/cloexec.m4 (gl_CLOEXEC):
107979         * m4/close-stream.m4 (gl_CLOSE_STREAM):
107980         * m4/closeout.m4 (gl_CLOSEOUT):
107981         * m4/dirfd.m4 (gl_FUNC_DIRFD):
107982         * m4/dirname.m4 (gl_DIRNAME):
107983         * m4/exclude.m4 (gl_EXCLUDE):
107984         * m4/exitfail.m4 (gl_EXITFAIL):
107985         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
107986         * m4/file-type.m4 (gl_FILE_TYPE):
107987         * m4/filemode.m4 (gl_FILEMODE):
107988         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
107989         * m4/fpending.m4 (gl_FUNC_FPENDING):
107990         * m4/fprintftime.m4 (gl_FPRINTFTIME):
107991         * m4/fts.m4 (gl_FUNC_FTS):
107992         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
107993         * m4/getdate.m4 (gl_GETDATE):
107994         * m4/gethrxtime.m4 (gl_GETHRXTIME):
107995         * m4/getpagesize.m4 (gl_GETPAGESIZE):
107996         * m4/getpass.m4 (gl_FUNC_GETPASS):
107997         * m4/gettime.m4 (gl_GETTIME):
107998         * m4/getugroups.m4 (gl_GETUGROUPS):
107999         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
108000         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
108001         * m4/hard-locale.m4 (gl_HARD_LOCALE):
108002         * m4/hash.m4 (gl_HASH):
108003         * m4/idcache.m4 (gl_IDCACHE):
108004         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
108005         * m4/lchown.m4 (gl_FUNC_LCHOWN):
108006         * m4/long-options.m4 (gl_LONG_OPTIONS):
108007         * m4/lstat.m4 (gl_FUNC_LSTAT):
108008         * m4/md5.m4 (gl_MD5):
108009         * m4/memcasecmp.m4 (gl_MEMCASECMP):
108010         * m4/memcoll.m4 (gl_MEMCOLL):
108011         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
108012         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
108013         * m4/memxor.m4 (gl_MEMXOR):
108014         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
108015         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
108016         * m4/modechange.m4 (gl_MODECHANGE):
108017         * m4/mountlist.m4 (gl_MOUNTLIST):
108018         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
108019         * m4/openat.m4 (gl_FUNC_OPENAT):
108020         * m4/pathmax.m4 (gl_PATHMAX):
108021         * m4/physmem.m4 (gl_PHYSMEM):
108022         * m4/posixtm.m4 (gl_POSIXTM):
108023         * m4/posixver.m4 (gl_POSIXVER):
108024         * m4/quote.m4 (gl_QUOTE):
108025         * m4/quotearg.m4 (gl_QUOTEARG):
108026         * m4/readtokens.m4 (gl_READTOKENS):
108027         * m4/readutmp.m4 (gl_READUTMP):
108028         * m4/regex.m4 (gl_REGEX):
108029         * m4/safe-read.m4 (gl_SAFE_READ):
108030         * m4/safe-write.m4 (gl_SAFE_WRITE):
108031         * m4/same.m4 (gl_SAME):
108032         * m4/save-cwd.m4 (gl_SAVE_CWD):
108033         * m4/savedir.m4 (gl_SAVEDIR):
108034         * m4/settime.m4 (gl_SETTIME):
108035         * m4/sha1.m4 (gl_SHA1):
108036         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
108037         * m4/stat-macros.m4 (gl_STAT_MACROS):
108038         * m4/stat-time.m4 (gl_STAT_TIME):
108039         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
108040         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
108041         * m4/strdup.m4 (gl_FUNC_STRDUP):
108042         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
108043         * m4/strndup.m4 (gl_FUNC_STRNDUP):
108044         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
108045         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
108046         * m4/time_r.m4 (gl_TIME_R):
108047         * m4/timespec.m4 (gl_TIMESPEC):
108048         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
108049         * m4/unlinkdir.m4 (gl_UNLINKDIR):
108050         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
108051         * m4/userspec.m4 (gl_USERSPEC):
108052         * m4/utimecmp.m4 (gl_UTIMECMP):
108053         * m4/utimens.m4 (gl_UTIMENS):
108054         * m4/xalloc.m4 (gl_XALLOC):
108055         * m4/xgetcwd.m4 (gl_XGETCWD):
108056         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
108057         * m4/xreadlink.m4 (gl_XREADLINK):
108058         * m4/xstrtod.m4 (gl_XSTRTOD):
108059         * m4/yesno.m4 (gl_YESNO):
108060         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
108061         to get the necessary .h files and whatnot.
108063 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
108064             Bruno Haible  <bruno@clisp.org>
108066         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
108067         /bin/sh understanding of '!' conditional negation.
108069 2006-08-21  Jim Meyering  <jim@meyering.net>
108071         * modules/openat (Depends-on): Really alphabetize.
108073         * modules/acl (Depends-on): Add error and quote.
108075         * check-module (find_included_lib_files): Add at-func.c to the
108076         ok-to-include-more-than-once white list.
108078         * modules/openat (Depends-on): Add lstat.  Alphabetize.
108080 2006-08-21  Bruno Haible  <bruno@clisp.org>
108082         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
108083         Emit a pkgdata_DATA variable only if some snippets add contents to it.
108084         Reported by Martin Lambers <marlam@marlam.de>.
108086 2006-08-21  Bruno Haible  <bruno@clisp.org>
108088         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
108089         specify an installation location, don't emit a noinst_LIBRARIES or
108090         noinst_LTLIBRARIES assignment.
108092 2006-08-21  Bruno Haible  <bruno@clisp.org>
108094         BeOS portability.
108095         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
108096         BeOS has mbrtowc() but no <wctype.h>.
108098 2006-08-21  Bruno Haible  <bruno@clisp.org>
108100         BeOS portability.
108101         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
108102         exist.
108104 2006-08-21  Bruno Haible  <bruno@clisp.org>
108106         BeOS portability.
108107         * lib/mbchar.h: Include <wctype.h> only if it exists.
108109 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
108111         Remove files that are no longer needed by their respective modules.
108112         * m4/obstack.m4: Remove.
108113         * m4/strerror_r.m4: Remove.
108114         * m4/uint32_t.m4: Remove.
108115         * m4/uintptr_t.m4: Remove.
108116         * m4/ullong_max.m4: Remove.
108117         * m4/xstrtoimax.m4: Remove.
108118         * m4/xstrtoumax.m4: Remove.
108120         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
108121         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
108122         dependencies now capture this.
108124         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
108125         Do not use AC_LIBSOURCES, since gnulib modules now do this.
108126         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
108127         * m4/human.m4 (gl_HUMAN): Likewise.
108128         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
108129         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
108131         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
108133         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
108134         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
108135         stdint.
108136         * m4/human.m4 (gl_HUMAN): Likewise.
108137         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
108138         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
108139         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
108140         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
108141         * m4/xstrtol (gl_XSTRTOL): Likewise.
108143         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
108144         AC_TYPE_LONG_LONG_INT.
108145         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
108146         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
108147         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
108148         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
108150         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
108151         on stdbool.
108153         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
108154         (gl_PREREQ_XSTRTOUL): Remove.
108156         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
108158         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
108159         mode.
108161 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
108163         Add and change modules to make it easier for coreutils to use
108164         gnulib-tool.
108165         * modules/backupfile (Files): Remove m4/d-ino.m4.
108166         (Depends-on): Add d-ino.
108167         * modules/cycle-check (Depends-on): Add stdint.
108168         (lib_SOURCES): Add cycle-check.h.
108169         * modules/d-ino: New module.
108170         * modules/d-type: New module.
108171         * modules/error (Files): Remove m4/strerror_r.m4.
108172         * modules/filemode (Files): Add m4/st_dm_mode.m4.
108173         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
108174         m4/inttypes_h.m4, m4/uintmax_t.m4.
108175         (Depends-on): Add stdint.
108176         (lib_SOURCES): Add fsusage.h.
108177         * modules/getcwd (Files): Remove d-ino.m4.
108178         (Depends-on): Add d-ino.
108179         * modules/getndelim2 (Depends-on): Add stdint.
108180         * modules/glob (Files): Remove m4/d-type.m4.
108181         (Depends-on): Add d-type.
108182         * modules/host-os: New module.
108183         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
108184         m4/inttypes_h.m4, m4/uintmax_t.m4.
108185         * Depends-on: Add stdint.
108186         (lib_SOURCES): Add human.h.
108187         * modules/inttostr (Files): Remove m4/intmax_t.m4,
108188         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
108189         m4/uintmax_t.m4, m4/ulonglong.m4.
108190         (Depends-on): Add stdint.
108191         (EXTRA_DIST): Add inttostr.h.
108192         * modules/lchmod: New module.
108193         * modules/link-follow: New module.
108194         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
108195         (Depends-on): Add lchmod.
108196         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
108197         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
108198         (Depends-on): Add stdint.
108199         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
108200         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
108201         (Depends-on): Add stdint.
108202         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
108203         * modules/perl: New module.
108204         * modules/regex (Depends-on): Add stdint.
108205         * modules/rmdir-errno: New module.
108206         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
108207         m4/intmax_t.m4.
108208         (Depends-on): Add stdint.
108209         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
108210         m4/uintmax_t.m4.
108211         (Depends-on): Add stdint.
108212         * modules/unlink-busy: New module.
108213         * modules/utimecmp (Depends-on): Add stdint.
108214         * modules/uptime: New module.
108215         * modules/winsz-ioctl: New module.
108216         * modules/winsz-termios: New module.
108217         * modules/xnanosleep (Depends-on): Add nanosleep.
108218         * modules/ullong_max: Remove.
108219         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
108220         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
108221         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
108222         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
108223         (Depends-on): Add inttypes.
108224         (lib_SOURCES): Add xstrtol.h.
108225         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
108226         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
108227         * MODULES.html.sh: Move 'assert' into the assert section.
108228         Move 'dummy' into the linking section.
108229         Remove ullong_max.
108230         Add section for compatibility checks for POSIX:2001 functions,
108231         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
108232         winsz-ioctl, and winsz-termios into it.
108233         Add lchmod.
108234         Add top-level Misc section and put host-os, perl, and uptime
108235         into it.
108237 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
108239         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
108240         now assume the stdint module.  Do not include inttypes.h.
108241         * lib/fsusage.h: Likewise.
108242         * lib/getndelim2.c: Likewise.
108243         * lib/human.h: Likewise.
108244         * lib/inttostr.h: Likewise.
108245         * lib/obstack.c: Likewise.
108246         * lib/regex_internal.h: Likewise.
108247         * lib/tempname.c: Likewise.
108248         * lib/utimecmp.c: Likewise.
108249         * lib/xstrtol.h: Likewise.
108251         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
108253         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
108254         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
108255         * lib/xtime.h: Likewise.
108257 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
108259         * modules/openat (Files): Add lib/fchmodat.c.
108260         Fixes problem reported by Jay Youngman.
108262 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
108264         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
108265         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
108267 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
108268             Bruno Haible  <bruno@clisp.org>
108270         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
108271         and is a script that invokes bison. Tighten the code. Add comments.
108273 2006-08-18  Jim Meyering  <jim@meyering.net>
108275         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
108276         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
108277         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
108278         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
108280 2006-08-18  Bruno Haible  <bruno@clisp.org>
108282         * modules/bison-i18n: New file.
108283         * MODULES.html.sh (Internationalization functions): Add it.
108285 2006-08-18  Bruno Haible  <bruno@clisp.org>
108287         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
108288         sys/statvfs.h. When getmntinfo was found, check its declaration and
108289         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
108291 2006-08-18  Bruno Haible  <bruno@clisp.org>
108293         * m4/bison-i18n.m4: New file, from bison.
108295 2006-08-18  Bruno Haible  <bruno@clisp.org>
108297         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
108298         (ME_DUMMY): Treat "kernfs" as a dummy.
108299         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
108301 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
108303         Update from coreutils.
108305         2006-08-15  Jim Meyering  <jim@meyering.net>
108307         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
108309         2006-01-17  Jim Meyering  <jim@meyering.net>
108311         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
108313         2006-01-11  Jim Meyering  <jim@meyering.net>
108315         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
108316         Check for the lchmod function.
108318 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
108320         Update from coreutils.
108322         * lib/__fpending.h: Add copyright notice.
108323         * lib/fprintftime.h: Likewise.
108324         * lib/savedir.c: Use (C) in copyright notice.
108325         * lib/savedir.h: Likewise.
108327         2006-08-15  Jim Meyering  <jim@meyering.net>
108329         * lib/at-func.c: New file, with the logic of all emulated at-functions.
108330         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
108331         in support of the EXPECTED_ERRNO macro.
108332         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
108333         definitions.  Instead, define the appropriate symbols and include
108334         "at-func.c".
108335         * lib/mkdirat.c (mkdirat): Likewise.
108336         * lib/fchmodat.c (fchmodat): Likewise.
108337         (ENOSYS): Remove definition.
108338         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
108339         it.  Don't include "unistd--.h" -- it wasn't ever used.
108341         2006-01-17  Jim Meyering  <jim@meyering.net>
108343         Rewrite fts.c not to change the current working directory,
108344         by using openat, fstatat, fdopendir, etc..
108346         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
108347         (HAVE_OPENAT_SUPPORT): Define.
108348         [_LIBC] (fchdir): Don't undef or define; no longer used.
108349         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
108350         Now, this `function' always succeeds, and consumes its file descriptor
108351         parameter -- so callers must not close such FDs.  Update callers.
108352         (diropen_fd, opendirat, cwd_advance_fd): New functions.
108353         (diropen): Add parameter, SP.  Adjust all callers.
108354         Implement using diropen_fd, rather than open.
108355         (fts_open): Initialize new member, fts_cwd_fd.
108356         Remove fts_rft-setting code.
108357         (fts_close): Close fts_cwd_fd, if necessary.
108358         (__opendir2): Define in terms of opendir or opendirat,
108359         depending on whether the FST_NOCHDIR flag is set.
108360         (fts_build): Since fts_safe_changedir consumes its FD, and since
108361         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
108362         and close the dup'd file descriptor upon failure.
108363         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
108364         (fts_safe_changedir): Tweak semantics to reflect that this function
108365         now calls cwd_advance_fd and hence consumes its FD argument.
108366         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
108367         [struct FTS] (fts_rft): Remove now-unused member.
108368         [struct FTS] (fts_cycle.state): Improve comment.
108370         * lib/openat.c (openat_needs_fchdir): New function.
108371         * lib/openat.h (openat_needs_fchdir): Declare it.
108373 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
108375         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
108376         Problem and fix reported by Pádraig Brady in
108377         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
108379 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
108381         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
108383 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
108385         * lib/memcoll.c (memcoll): Optimize for the common case where the
108386         arguments are bytewise equal.
108388 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
108390         * doc/regexprops-generic.texi: Add a copyright notice.
108392 2006-08-15  Bruno Haible  <bruno@clisp.org>
108394         * modules/tmpdir (License): Change to LGPL.
108396 2006-08-15  Bruno Haible  <bruno@clisp.org>
108398         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
108399         module.
108401 2006-08-14  Simon Josefsson  <jas@extundo.com>
108403         * config/srclist.txt: Add gnupload.
108405 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
108407         Change copyright notice from LGPL 2 to GPL 2, since that's the
108408         standard form used in the gnulib repository.
108409         * tests/test-lock.c: Likewise.
108410         * tests/test-stdint.c: Likewise.
108411         * tests/test-tls.c: Likewise.
108413         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
108414         prelude-manager.  User shorter URLs for GNU projects, without '?'.
108415         Add copyright notice.
108417         * check-module: Add copyright notice.  Output a copyright
108418         notice if "--version" is specified.
108419         * modules/COPYING: New file.
108420         * tests/test-getaddrinfo.c: Add copyright notice.
108421         * tests/test-verify.c: Likewise.
108423 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
108425         Change copyright notice from LGPL 2 to GPL 2, since that's the
108426         standard form used in the gnulib repository.
108427         * lib/lock.c: LGPL -> GPL.
108428         * lib/lock.h: Likewise.
108429         * lib/strnlen1.c: Likewise.
108430         * lib/strnlen1.h: Likewise.
108431         * lib/tls.c: Likewise.
108432         * lib/tls.h: Likewise.
108433         * lib/tmpdir.c: Likewise.
108435         * lib/TODO: Remove; this belongs only in coreutils.
108437 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
108439         Add copyright notices to long-enough files that lack them, since
108440         otherwise the files aren't clearly free.  Use the same notice that
108441         getdate.texi already uses.
108442         * doc/alloca-opt.texi: Add copyright notice.
108443         * doc/alloca.texi: Likewise.
108444         * doc/ctime.texi: Likewise.
108445         * doc/functions.texi: Likewise.
108446         * doc/gcd.texi: Likewise.
108447         * doc/gnulib-tool.texi: Likewise.
108448         * doc/inet_ntoa.texi: Likewise.
108449         * doc/visibility.texi: Likewise.
108451         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
108452         * doc/quote.texi: Add copyright notice.
108454         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
108455         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
108456         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
108457         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
108458         is now obsolete, and give a pointer to the Sun list.
108459         Add copyright notice.
108461 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
108463         * config/srclistvars.sh: Add copyright notice.
108465 2006-08-14  Eric Blake  <ebb9@byu.net>
108467         Import the following change from libc:
108469         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
108471         Upstream bug 2997.
108472         * lib/misc/error.c: Add space between program name and message if file
108473         name is missing.
108475 2006-08-12  Karl Berry  <karl@gnu.org>
108477         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
108478         remove, these originate in gnulib now.
108480 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108482         * doc/Makefile (standards.info standards.html standards.dvi):
108483         Also depend on make-stds.texi.
108485 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
108487         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
108488         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
108490         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
108491         in wchar_t.  Problem reported by Eric Blake.
108493         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
108494         LEN is smaller than SIZE.  Suggested by Bruno Haible.
108495         Also, help the compiler to keep LEN in a register.
108497 2006-08-11  Eric Blake  <ebb9@byu.net>
108499         * users.txt: Sort.  Add tar.
108501 2006-08-11  Bruno Haible  <bruno@clisp.org>
108503         * users.txt: New file.
108505 2006-08-11  Bruno Haible  <bruno@clisp.org>
108507         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
108508         before <wchar.h>. Needed for OSF/1 and BSD/OS.
108510 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
108512         * modules/snprintf (Depends-on): Remove minmax.
108513         (Maintainer): Add self and Bruno.
108515 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
108517         * lib/.cppi-disable: Add snprintf.h, socket_.h.
108518         * lib/snprintf.c: Include <errno.h> and <limits.h>.
108519         (EOVERFLOW): Define if the system does not.
108520         Do not include "minmax.h"; it wasn't used.
108521         (snprintf): Don't assume size_t promotes to an unsigned type.
108522         Fix bug when generated string was too long for the buffer: the
108523         buffer's contents are supposed to be the initial prefix of the
108524         output.  Don't assume vasnprintf returns EOVERFLOW if the size
108525         exceeds INT_MAX; do the check ourselves.
108527         Import the following changes from libc:
108529         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
108531         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
108532         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
108533         set wc to the byte which couldn't be converted.
108534         (re_string_reconstruct): Don't clear valid_raw_len before calling
108535         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
108536         tip_context using re_string_context_at.
108538         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
108540         * lib/posix/regex.h: g++ still cannot handled [restrict].
108542         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
108544         * lib/posix/regex.h: Remove special handling for VMS.
108546 2006-08-10  Jim Meyering  <jim@meyering.net>
108548         * modules/same-inode: New module.
108549         * modules/dev-ino: New module.
108550         * modules/cycle-check: Depend on these modules, rather than simply
108551         including their .h files.
108552         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
108553         required via m4/cycle-check.m4.
108554         * modules/same: Depend on new same-inode module, rather than
108555         including same-inode.h.
108556         * modules/chdir-safer: New file.
108558         * modules/chown (Depends-on): Add stat-macros.
108560 2006-08-10  Jim Meyering  <jim@meyering.net>
108562         * m4/cycle-check.m4: New file.
108563         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
108564         * m4/dev-ino.m4, m4/same-inode.m4: New files.
108566 2006-08-10  Eric Blake  <ebb9@byu.net>
108568         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
108569         in from original proposal.
108571 2006-08-10  Eric Blake  <ebb9@byu.net>
108572         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
108574         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
108575         namespace.
108577 2006-08-10  Bruno Haible  <bruno@clisp.org>
108579         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
108580         as well.
108582 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108584         Sync from coreutils.
108586         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
108588         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
108589         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
108591 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108593         * modules/restrict: Remove; no longer needed now that we assume
108594         Autoconf 2.59 or later.
108595         * MODULES.html.sh: Remove 'restrict'.
108596         * modules/argp (Depends-on): Remove 'restrict'.
108597         * modules/base64 (Depends-on): Likewise.
108598         * modules/gc (Depends-on): Likewise.
108599         * modules/getaddrinfo (Depends-on): Likewise.
108600         * modules/glob (Depends-on): Likewise.
108601         * modules/inet_ntop (Depends-on): Likewise.
108602         * modules/inet_pton (Depends-on): Likewise.
108603         * modules/memxor (Depends-on): Likewise.
108604         * modules/regex (Depends-on): Likewise.
108605         * modules/strtok_r (Depends-on): Likewise.
108606         * modules/time_r (Depends-on): Likewise.
108608 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108610         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
108611         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
108612         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
108613         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
108614         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
108615         * m4/memxor.m4 (gl_MEMXOR): Likewise.
108616         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
108617         gl_C_RESTRICT replaced by AC_C_RESTRICT.
108619         Merge from coreutils.
108620         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
108621         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
108622         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
108623         * m4/time_r.m4 (gl_TIME_R): Likewise.
108625 2006-08-09  Karl Berry  <karl@gnu.org>
108627         * config/srclist.txt: no more gettext-tools, per Bruno.
108629 2006-08-08  Eric Blake  <ebb9@byu.net>
108631         * modules/verror: New module.
108632         * MODULES.html.sh: Document it.
108634 2006-08-08  Eric Blake  <ebb9@byu.net>
108636         * lib/verror.h, lib/verror.c: New files.
108638 2006-08-08  Eric Blake  <ebb9@byu.net>
108640         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
108641         verror_at_line output complies with GNU Coding Standards even when
108642         file is NULL.
108644 2006-08-07  Bruno Haible  <bruno@clisp.org>
108646         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
108647         versions of AIX.
108648         Reported by Ralf Wildenhues.
108650 2006-08-07  Bruno Haible  <bruno@clisp.org>
108652         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
108653         in an AC_DEFUN. Needed so that the autoconf snippets can use
108654         AC_REQUIRE.
108656 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
108659         Initialize pkgdata_DATA.
108660         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
108661         overriding it.
108663 2006-08-06  Eric Blake  <ebb9@byu.net>
108665         * lib/error.h: Fold in some upstream changes from glibc.
108666         * lib/error.c: Likewise.
108668 2006-08-04  Bruno Haible  <bruno@clisp.org>
108670         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
108671         Make the mostlyclean-local rule depend on mostlyclean-generic.
108672         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
108674 2006-07-31  Bruno Haible  <bruno@clisp.org>
108676         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
108677         <stdlib.h>, <string.h>.
108679 2006-07-30  Bruno Haible  <bruno@clisp.org>
108681         * modules/readlink (License): Change to LGPL.
108683 2006-07-30  Bruno Haible  <bruno@clisp.org>
108685         * modules/javaversion (Makefile.am): Distribute javaversion.java and
108686         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
108687         set PKGDATADIR to point to it.
108689 2006-07-30  Bruno Haible  <bruno@clisp.org>
108691         * modules/csharpexec (configure.ac): Comment out macro invocation.
108692         * modules/javaexec (configure.ac): Likewise.
108693         * modules/javacomp-script (configure.ac): Likewise.
108695         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
108697 2006-07-30  Bruno Haible  <bruno@clisp.org>
108699         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
108700         linked-list.
108702 2006-07-30  Bruno Haible  <bruno@clisp.org>
108704         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
108706 2006-07-30  Bruno Haible  <bruno@clisp.org>
108708         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
108709         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
108710         get removed.
108712 2006-07-29  Bruno Haible  <bruno@clisp.org>
108714         Make it possible for gnulib-tool to work with locally modified or
108715         augmented gnulib repositories.
108716         * gnulib-tool (func_usage): Document --local-dir option.
108717         (local_gnulib_dir): New variable.
108718         Handle --local-dir option.
108719         (func_lookup_file): New function.
108720         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
108721         (func_get_description, func_get_filelist, func_get_description,
108722         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
108723         func_get_automake_snippet, func_get_include_directive,
108724         func_get_license, func_get_maintainer): Use func_lookup_file.
108725         (func_import, func_create_testdir): Use func_lookup_file.
108727 2006-07-29  Bruno Haible  <bruno@clisp.org>
108729         * modules/setenv (Depends-on): Add unistd.
108731 2006-07-29  Bruno Haible  <bruno@clisp.org>
108733         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
108735 2006-07-29  Bruno Haible  <bruno@clisp.org>
108737         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
108739 2006-07-29  Bruno Haible  <bruno@clisp.org>
108741         * gnulib-tool (import, update): If there is no Makefile.am, look at
108742         aclocal.m4, instead of bailing out.
108744 2006-07-29  Bruno Haible  <bruno@clisp.org>
108746         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
108747         Categorize the options by when they are useful.
108749 2006-07-29  Bruno Haible  <bruno@clisp.org>
108751         * gnulib-tool (func_usage): Document option --no-libtool.
108752         Handle option --no-libtool.
108753         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
108754         for changed semantics of $libtool variable.
108755         (func_import): Likewise. If libtool is not used, show this through
108756         an option --no-libtool.
108757         (func_create_testdir): Update.
108759 2006-07-29  Bruno Haible  <bruno@clisp.org>
108761         * gnulib-tool (func_import): Extend error message about missing
108762         --doc-base.
108764 2006-07-29  Bruno Haible  <bruno@clisp.org>
108766         * gnulib-tool (func_import): Don't create the $docbase directory if
108767         there is no file to store there.
108769 2006-07-29  Bruno Haible  <bruno@clisp.org>
108771         * gnulib-tool (autoconf_minversion): If a --dir option is given and
108772         relevant, look for configure.ac there, not in the current directory.
108773         Also use a simple search for AC_PREREQ, not "autoconf --trace".
108775 2006-07-29  Bruno Haible  <bruno@clisp.org>
108777         * gnulib-tool (SORT): New variable.
108778         (func_usage): Undocument --assume-autoconf option.
108779         Remove --assume-autoconf option handling.
108780         (autoconf_minversion): Determine from the contents of configure.ac.
108781         (func_import): Remove autoconf_minversion handling.
108782         Suggested by Eric Blake.
108784 2006-07-29  Bruno Haible  <bruno@clisp.org>
108786         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
108788 2006-07-29  Bruno Haible  <bruno@clisp.org>
108790         * config/srclist.txt (*setenv.[ch]): Remove rules.
108792 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108794         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
108796 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108798         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
108799         arpa/inet.h.
108801 2006-07-28  Simon Josefsson  <jas@extundo.com>
108803         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
108804         * modules/inet_pton (Depends-on): Likewise.
108806 2006-07-28  Simon Josefsson  <jas@extundo.com>
108808         * m4/netinet_in_h.m4: New file.
108810 2006-07-28  Simon Josefsson  <jas@extundo.com>
108812         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
108813         #include's.
108815 2006-07-28  Simon Josefsson  <jas@extundo.com>
108817         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
108818         #include's.
108820 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
108822         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
108823         setgid on directories only if they set these bits.
108824         * lib/modechange.h: Remove obsolete comment about masks.
108826 2006-07-28  Eric Blake  <ebb9@byu.net>
108828         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
108829         macro expansion.
108831 2006-07-28  Bruno Haible  <bruno@clisp.org>
108833         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
108835 2006-07-28  Bruno Haible  <bruno@clisp.org>
108837         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
108839 2006-07-28  Bruno Haible  <bruno@clisp.org>
108841         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
108842         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
108843         Define fallbacks.
108844         Avoids link error on FreeBSD 4.x.
108845         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
108847         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
108848         encoding.
108849         * lib/mbswidth.c (iswcntrl): Likewise.
108851 2006-07-27  Bruno Haible  <bruno@clisp.org>
108853         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
108854         test.
108856 2006-07-27  Bruno Haible  <bruno@clisp.org>
108858         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
108859         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
108860         defined.
108862 2006-07-26  Eric Blake  <ebb9@byu.net>
108864         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
108866 2006-07-26  Eric Blake  <ebb9@byu.net>
108868         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
108869         like mingw that lack mkstemp.
108870         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
108871         avoid compilation warning on mingw.
108873 2006-07-26  Bruno Haible  <bruno@clisp.org>
108875         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
108876         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
108877         INT_FAST*_MIN, INTPTR_MIN.
108879 2006-07-25  Bruno Haible  <bruno@clisp.org>
108881         * modules/version-etc (Depends-on): Add stdarg.
108883 2006-07-25  Bruno Haible  <bruno@clisp.org>
108885         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
108886         complex commands.
108888 2006-07-25  Bruno Haible  <bruno@clisp.org>
108890         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
108891         defined in <stdarg.h> or config.h.
108893 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
108895         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
108896         (gl_STDIO_SAFER): Remove.
108898 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
108900         * MODULES.html.sh (File stream based Input/Output):
108901         Add fopen-safer, tmpfile-safer; remove stdio-safer.
108902         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
108903         * modules/fopen-safer, modules/tmpfile-safer: New files.
108904         * modules/stdio-safer: Remove.
108906 2006-07-24  Bruno Haible  <bruno@clisp.org>
108908         * modules/tmpdir: New file.
108909         * MODULES.html.sh (File system functions): Add it.
108911 2006-07-24  Bruno Haible  <bruno@clisp.org>
108913         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
108914         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
108916 2006-07-24  Bruno Haible  <bruno@clisp.org>
108918         * modules/clean-temp: New file.
108920 2006-07-24  Bruno Haible  <bruno@clisp.org>
108922         * m4/tmpdir.m4: New file, from GNU gettext.
108924 2006-07-24  Bruno Haible  <bruno@clisp.org>
108926         * lib/tmpdir.h: New file, from GNU gettext.
108927         * lib/tmpdir.c: New file, from GNU gettext.
108929 2006-07-24  Bruno Haible  <bruno@clisp.org>
108931         * lib/clean-temp.h: New file, from GNU gettext.
108932         * lib/clean-temp.c: New file, from GNU gettext.
108934 2006-07-23  Eric Blake  <ebb9@byu.net>
108936         * modules/stdio-safer (Files): Add tmpfile-safer.c.
108937         (Depends-on): Add binary-io.
108939 2006-07-23  Eric Blake  <ebb9@byu.net>
108941         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
108943 2006-07-23  Eric Blake  <ebb9@byu.net>
108945         * lib/tmpfile-safer.c: New file.
108946         * lib/stdio-safer.h (fopen_safer): Add prototype.
108947         * lib/stdio--.h (tmpfile): Make safer.
108949 2006-07-23  Bruno Haible  <bruno@clisp.org>
108951         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
108952         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
108953         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
108954         gl_linked_remove_at): Use it.
108956 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108957         and Simon Josefsson <jas@extundo.com>
108959         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
108961         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
108963 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
108965         * modules/close-stream: New file.
108966         * modules/closeout (Description): Make it clear that it exits
108967         with a diagnostic on error.
108968         (Depends-on): Add close-stream.  Remove fpending, stdbool.
108969         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
108971 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
108973         * m4/close-stream.m4: New file.
108975 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
108977         * lib/close-stream.c, lib/close-stream.h: New files.
108979 2006-07-22  Bruno Haible  <bruno@clisp.org>
108981         Merge from GNU gettext 0.15.
108983         2006-05-01  Bruno Haible  <bruno@clisp.org>
108985                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
108987         2006-07-22  Bruno Haible  <bruno@clisp.org>
108989                 * modules/javaversion: New file.
108990                 * MODULES.html.sh (Java): Add javaversion.
108992         2006-03-12  Bruno Haible  <bruno@clisp.org>
108994                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
108996         2005-12-04  Bruno Haible  <bruno@clisp.org>
108998                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
108999                 (untested).
109001         2006-06-21  Bruno Haible  <bruno@clisp.org>
109003                 Avoid warnings from recent versions of mcs.
109004                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
109005                 -o, -L, -r any more. Use options documented since mcs-1.0
109006                 instead. Similarly for -g.
109008         2005-12-04  Bruno Haible  <bruno@clisp.org>
109010                 * build-aux/csharpcomp.sh.in: Suffix for resources is
109011                 .resources, not .resource.
109013         2005-07-09  Bruno Haible  <bruno@clisp.org>
109015                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
109016                 add a .dll suffix.
109017                 Reported by Mark Junker <mjscod@gmx.de>.
109019         2006-07-22  Bruno Haible  <bruno@clisp.org>
109021                 * modules/gettext: Upgrade to gettext-0.15.
109022                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
109023                 m4/visibility.m4.
109024                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
109026 2006-07-22  Bruno Haible  <bruno@clisp.org>
109028         Merge from GNU gettext 0.15.
109030         2006-03-25  Bruno Haible  <bruno@clisp.org>
109032                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
109034         2006-07-21  Bruno Haible  <bruno@clisp.org>
109036                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
109037                 "1.1".
109039         2006-05-09  Bruno Haible  <bruno@clisp.org>
109041                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
109042                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
109043                 for the conftestver execution.
109045         2006-05-01  Bruno Haible  <bruno@clisp.org>
109047                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
109048                 optional target-version argument. Verify that the compiler
109049                 groks source of the specified source-version, or add -source
109050                 option as necessary. Verify that the compiler produces
109051                 bytecode in the specified target-version, or add -target and
109052                 -source options as necessary. Make the result of the test
109053                 available as variable CONF_JAVAC. Also log error output in
109054                 config.log.
109056         2006-03-11  Bruno Haible  <bruno@clisp.org>
109058                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
109060         2006-05-09  Bruno Haible  <bruno@clisp.org>
109062                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
109063                 CLASSPATH_SEPARATOR to a semicolon.
109065         2006-03-12  Bruno Haible  <bruno@clisp.org>
109067                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
109068                 available as variable CONF_JAVA, for subsequent autoconf
109069                 tests. Also log error output in config.log.
109071         2006-07-19  Bruno Haible  <bruno@clisp.org>
109073                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
109074                 that getline works on glibc2 systems. Needed to avoid trouble
109075                 in relocatable.c.
109076                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
109078         2005-12-04  Bruno Haible  <bruno@clisp.org>
109080                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
109081                 launcher (untested).
109083         2005-12-04  Bruno Haible  <bruno@clisp.org>
109085                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
109087         2006-07-22  Bruno Haible  <bruno@clisp.org>
109089                 * gettext.m4: Update from GNU gettext-0.15.
109090                 * nls.m4: Likewise.
109091                 * po.m4: Likewise.
109092                 * inttypes-pri.m4: Likewise.
109093                 * inttypes-h.m4: Renamed from inttypes.m4.
109094                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
109096 2006-07-22  Bruno Haible  <bruno@clisp.org>
109098         Merge from GNU gettext 0.15.
109100         2005-07-05  Bruno Haible  <bruno@clisp.org>
109102                 * printf-args.c (printf_fetchargs): Work around broken
109103                 definition of wint_t on mingw.
109105         2005-02-12  Bruno Haible  <bruno@clisp.org>
109107                 * xallocsa.h: Add extern "C" for C++.
109109         2006-05-17  Bruno Haible  <bruno@clisp.org>
109111                 Cygwin portability.
109112                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
109114         2006-04-30  Bruno Haible  <bruno@clisp.org>
109116                 * progreloc.c: Include <mach-o/dyld.h> if available.
109117                 (find_executable): Use _NSGetExecutablePath when possible.
109119         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
109121                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
109122                 function.
109124         2005-12-29  Bruno Haible  <bruno@clisp.org>
109126                 * progreloc.c (set_program_name_and_installdir): Fix
109127                 compilation error.
109129         2005-12-04  Bruno Haible  <bruno@clisp.org>
109131                 Cygwin portability.
109132                 * progreloc.c: Include <windows.h> also on Cygwin.
109133                 (find_executable): Add support for Cygwin.
109134                 (set_program_name_and_installdir): Handle also platforms with
109135                 nonempty EXEEXT.
109137         2006-07-11  Bruno Haible  <bruno@clisp.org>
109139                 * javacomp.c: Fix a comment.
109140                 Reported by Jim Meyering.
109142         2006-04-30  Bruno Haible  <bruno@clisp.org>
109144                 * javacomp.h (compile_java_class): Add source_version,
109145                 target_version arguments.
109146                 * javacomp.c: Rewritten to choose only a compiler that
109147                 respects the specified source_version and target_version.
109149         2006-06-27  Bruno Haible  <bruno@clisp.org>
109151                 Assume correct S_ISDIR macro.
109152                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
109154         2006-07-22  Bruno Haible  <bruno@clisp.org>
109156                 * javaversion.h: New file, from GNU gettext.
109157                 * javaversion.c: New file, from GNU gettext.
109158                 * javaversion.java: New file, from GNU gettext.
109159                 * javaversion.class: New file, from GNU gettext.
109161         2006-05-17  Bruno Haible  <bruno@clisp.org>
109163                 Cygwin portability.
109164                 * javaexec.c (execute_java_class): Test for jview program
109165                 also on Cygwin.
109167         2006-04-09  Bruno Haible  <bruno@clisp.org>
109169                 * fatal-signal.c: Don't include string.h.
109170                 (at_fatal_signal): Use a copying loop instead of memcpy.
109172         2005-12-04  Bruno Haible  <bruno@clisp.org>
109174                 * csharpexec.c: Add support for 'clix' launcher (untested).
109175                 (execute_csharp_using_sscli): New function.
109176                 (execute_csharp_program): Call it.
109178         2006-06-21  Bruno Haible  <bruno@clisp.org>
109180                 Avoid warnings from recent versions of mcs.
109181                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
109182                 -o, -L, -r any more. Use options documented since mcs-1.0
109183                 instead. Similarly for -g.
109185         2005-07-09  Bruno Haible  <bruno@clisp.org>
109187                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
109188                 add a .dll suffix.
109189                 Reported by Mark Junker <mjscod@gmx.de>.
109191         2006-06-17  Bruno Haible  <bruno@clisp.org>
109193                 * config.charset: Update for NetBSD 3.0.
109195         2006-05-17  Bruno Haible  <bruno@clisp.org>
109197                 Cygwin portability.
109198                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
109200         2006-05-16  Bruno Haible  <bruno@clisp.org>
109202                 * localcharset.c [CYGWIN]: Include <windows.h>.
109203                 (get_charset_aliases): For Cygwin, return the same CPxxx
109204                 aliases list as under WIN32.
109205                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
109206                 the environment variables. Fall back to GetACP().
109208         2006-04-05  Bruno Haible  <bruno@clisp.org>
109210                 * config.charset: Update Juan Manuel Guerrero's address.
109212         2005-02-12  Bruno Haible  <bruno@clisp.org>
109214                 * allocsa.h: Add extern "C" for C++.
109216         2005-02-10  Bruno Haible  <bruno@clisp.org>
109218                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
109219                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
109221         2006-07-22  Bruno Haible  <bruno@clisp.org>
109223                 * gettext.h: Update to GNU gettext-0.15.
109225 2006-07-22  Bruno Haible  <bruno@clisp.org>
109227         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
109228         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
109229         lib-prefix.m4, longdouble.m4, ssize_t.m4.
109231 2006-07-21  Eric Blake  <ebb9@byu.net>
109233         * modules/stdlib-safer: New file.
109234         * MODULES.html.sh (File stream based Input/Output): Add
109235         stdlib-safer.
109237 2006-07-21  Eric Blake  <ebb9@byu.net>
109239         * lib/stdlib-safer.h: New file from coreutils, required by
109240         stdlib--.h.
109242 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
109244         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
109246 2006-07-20  Bruno Haible  <bruno@clisp.org>
109248         * gnulib-tool: Recognize new option --assume-autoconf.
109249         (autoconf_minversion): New variable.
109250         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
109252 2006-07-20  Bruno Haible  <bruno@clisp.org>
109254         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
109256 2006-07-19  Derek R. Price  <derek@ximbiot.com>
109258         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
109259         Reindent and repaginate.
109261 2006-07-19  Derek Price  <derek@ximbiot.com>
109263         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
109264         Correct grammar.
109266 2006-07-17  Bruno Haible  <bruno@clisp.org>
109268         * modules/list: New file.
109269         * modules/array-list: New file.
109270         * modules/carray-list, modules/carray-list-tests: New files.
109271         * modules/linked-list, modules/linked-list-tests: New files.
109272         * modules/avltree-list, modules/avltree-list-tests: New files.
109273         * modules/rbtree-list, modules/rbtree-list-tests: New files.
109274         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
109275         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
109276         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
109277         * modules/oset: New file.
109278         * modules/array-oset: New file.
109279         * modules/avltree-oset, modules/avltree-oset-tests: New files.
109280         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
109281         * tests/test-carray_list.c: New file.
109282         * tests/test-linked_list.c: New file.
109283         * tests/test-avltree_list.c: New file.
109284         * tests/test-rbtree_list.c: New file.
109285         * tests/test-linkedhash_list.c: New file.
109286         * tests/test-avltreehash_list.c: New file.
109287         * tests/test-rbtreehash_list.c: New file.
109288         * tests/test-avltree_oset.c: New file.
109289         * tests/test-rbtree_oset.c: New file.
109290         * MODULES.html.sh (Container data structures): New section.
109292 2006-07-17  Bruno Haible  <bruno@clisp.org>
109294         * m4/gl_list.m4: New file.
109296 2006-07-17  Bruno Haible  <bruno@clisp.org>
109298         * lib/gl_list.h: New file.
109299         * lib/gl_list.c: New file.
109300         * lib/gl_array_list.h: New file.
109301         * lib/gl_array_list.c: New file.
109302         * lib/gl_carray_list.h: New file.
109303         * lib/gl_carray_list.c: New file.
109304         * lib/gl_linked_list.h: New file.
109305         * lib/gl_linked_list.c: New file.
109306         * lib/gl_anylinked_list1.h: New file.
109307         * lib/gl_anylinked_list2.h: New file.
109308         * lib/gl_avltree_list.h: New file.
109309         * lib/gl_avltree_list.c: New file.
109310         * lib/gl_anyavltree_list1.h: New file.
109311         * lib/gl_anyavltree_list2.h: New file.
109312         * lib/gl_rbtree_list.h: New file.
109313         * lib/gl_rbtree_list.c: New file.
109314         * lib/gl_anyrbtree_list1.h: New file.
109315         * lib/gl_anyrbtree_list2.h: New file.
109316         * lib/gl_anytree_list1.h: New file.
109317         * lib/gl_anytree_list2.h: New file.
109318         * lib/gl_linkedhash_list.h: New file.
109319         * lib/gl_linkedhash_list.c: New file.
109320         * lib/gl_anyhash_list1.h: New file.
109321         * lib/gl_anyhash_list2.h: New file.
109322         * lib/gl_avltreehash_list.h: New file.
109323         * lib/gl_avltreehash_list.c: New file.
109324         * lib/gl_rbtreehash_list.h: New file.
109325         * lib/gl_rbtreehash_list.c: New file.
109326         * lib/gl_anytreehash_list1.h: New file.
109327         * lib/gl_anytreehash_list2.h: New file.
109329         * lib/gl_oset.h: New file.
109330         * lib/gl_oset.c: New file.
109331         * lib/gl_array_oset.h: New file.
109332         * lib/gl_array_oset.c: New file.
109333         * lib/gl_avltree_oset.h: New file.
109334         * lib/gl_avltree_oset.c: New file.
109335         * lib/gl_rbtree_oset.h: New file.
109336         * lib/gl_rbtree_oset.c: New file.
109337         * lib/gl_anytree_oset.h: New file.
109339 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
109341         * m4/mkancesdirs.m4: New file.
109342         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
109343         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
109344         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
109345         it.
109347 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
109349         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
109350         * lib/mkancesdirs.h: New files.
109351         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
109352         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
109353         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
109354         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
109355         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
109356         callers changed.  Revamp internals significantly, by not
109357         attempting to create directories that are temporarily more
109358         permissive than the final results.  Do not attempt to use
109359         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
109360         This removes some race conditions, fixes some bugs, and simplifies
109361         things.  Use new dirchownmod function to do owner and mode changes.
109362         * lib/mkdir-p.h: Likewise.
109363         * lib/modechange.c (octal_to_mode): New function.
109364         (struct mode_change): New member mentioned.
109365         (make_node_op_equals): New arg mentioned.  All callers changed.
109366         (mode_compile): Keep track of which mode bits the user has explicitly
109367         mentioned.
109368         (mode_adjust): New arg DIR, so that we implement the X op correctly.
109369         New arg PMODE_BITS, to keep track of which mode bits the user
109370         mentioned; it treats S_ISUID and S_ISGID speciall.
109371         All callers changed.
109372         * lib/modechange.h: Likewise.
109374 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
109376         * MODULES.html.sh: Add mkancestors.
109377         * modules/mkancesdirs: New module.
109378         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
109379         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
109380         The chdir-safer and afs files are now orphans; I'll remove them
109381         unless someone speaks up.
109382         Add lib/dirchownmod.c, lib/dirchownmod.h.
109383         (Depends-on): Remove alloca, chown, save-cwd, dirname.
109384         Add lchown, mkancesdirs.
109385         (Maintainer): Add self.
109387 2006-07-15  Karl Berry  <karl@gnu.org>
109389         * gnulib-tool: help message wording/arrangement.
109391 2006-07-14  Simon Josefsson  <jas@extundo.com>
109393         * doc/gnulib.texi (Libtool and Windows): New section.
109395 2006-07-12  Simon Josefsson  <jas@extundo.com>
109397         * modules/gendocs (License): Fix license, approved by Karl.
109399 2006-07-12  Eric Blake  <ebb9@byu.net>
109401         * MODULES.html.sh: Add gendocs.
109403 2006-07-11  Eric Blake  <ebb9@byu.net>
109405         * modules/fdl: New module, to install doc/fdl.texi.
109406         * MODULES.html.sh: Add new section for documentation modules.
109407         * gnulib-tool: Avoid space-tab.
109408         (--doc-base): New option, to manage files from doc.
109410 2006-07-11  Eric Blake  <ebb9@byu.net>
109412         * m4/absolute-header.m4: Fix comments to match recent change.
109414 2006-07-11  Eric Blake  <ebb9@byu.net>
109416         * gnulib-tool: List --doc-base before --tests-base.
109418 2006-07-11  Derek R. Price  <derek@ximbiot.com>
109420         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
109422 2006-07-11  Bruno Haible  <bruno@clisp.org>
109424         * README: Mention where to put documentation.
109426 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109428         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
109430 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
109432         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
109433         to stdint.m4.
109435 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
109437         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
109438         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
109439         "no/such/file/stdint.h" when there is no such file, so that
109440         the resulting C code can be parsed by dodgy compilers.
109441         Problems reported by Bob Proulx.
109443 2006-07-10  Derek R. Price  <derek@ximbiot.com>
109445         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
109446         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
109447         macros into the GNU _D_EXACT_NAMLEN.
109448         * lib/savedir.c:  Likewise.
109449         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
109451 2006-07-10  Derek R. Price  <derek@ximbiot.com>
109452         and Paul Eggert  <eggert@cs.ucla.edu>
109454         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
109455         * m4/savedir.m4:
109456         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
109457         macros into the GNU _D_EXACT_NAMLEN.
109459 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
109461         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
109462         around the absolute name, to work around a problem with the HP-UX
109463         11.23 native C compiler, reported by Bob Proulx.
109465 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
109467         * doc/maintain.texi, make-stds.texi: Sync from
109468         <http://savannah.gnu.org/projects/gnustandards>.
109470 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
109472         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
109474 2006-07-09  Jim Meyering  <jim@meyering.net>
109476         * m4/glob.m4: Remove a doubled word in a comment.
109478 2006-07-09  Jim Meyering  <jim@meyering.net>
109480         * lib/argp-pv.c: Remove a doubled word in a comment.
109481         * lib/check-version.c (check_version): Likewise.
109482         * lib/javacomp.c (compile_java_class): Likewise.
109484 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
109486         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
109487         for the benefit of people using Autoconf 2.60.  If you want to
109488         support older Autoconf versions you can copy m4/onceonly_2_57.m4
109489         (or m4/onceonly.m4, if pre-2.57) manually.
109491 2006-07-08  Jim Meyering  <jim@meyering.net>
109493         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
109494         comment.
109495         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
109496         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
109497         comment.
109499 2006-07-08  Jim Meyering  <jim@meyering.net>
109501         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
109503 2006-07-07  Simon Josefsson  <jas@extundo.com>
109505         * tests/test-crc.c: Change expected crc value, the test vector
109506         were probably computed using the old broken crc.c?
109508 2006-07-06  Simon Josefsson  <jas@extundo.com>
109510         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
109511         now the canonical place for the M4 file).
109513         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
109514         from the sys_socket dependency now.
109516         * modules/inet_pton (Files): Ditto.
109518         * modules/inet_ntop (Files): Ditto.
109520 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
109522         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
109523         not gl_PREREQ_GETUSERSHELL.
109525 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109527         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
109528         with only one argument, for Autoconf 2.60.
109529         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
109530         expand to nothing, so add a shell command to avoid syntax error.
109531         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
109533 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109535         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
109537 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
109539         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
109540         no longer needed.  Check for isblank decl.
109541         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
109542         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
109543         of existence.
109545 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
109547         * lib/getloadavg.c: Use __VMS, not VMS.
109548         * lib/getopt.c: Likewise.
109549         * lib/getpagesize.h: Likewise.
109550         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
109551         and probably does not work.
109553 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
109555         * lib/.cppi-disable: Add wcwidth.
109556         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
109557         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
109558         (ISGRAPH): Remove.  All uses changed to isgraph.
109559         (FOLD) [!defined _LIBC]: Remove special case.
109560         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
109561         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
109562         HAVE_ISBLANK.
109563         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
109564         case.
109566 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
109568         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
109569         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
109570         brackets.  Other minor changes to suppress some compiler
109571         warnings.
109573 2006-07-06  Derek R. Price  <derek@ximbiot.com>
109574         and Paul Eggert  <eggert@cs.ucla.edu>
109576         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
109577         of invoking obsolescent AC_HEADER_DIRENT macro.
109578         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
109579         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
109580         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
109581         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
109582         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
109583         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
109584         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
109585         * m4/readdir.m4: Remove; no longer needed.
109587 2006-07-06  Derek R. Price  <derek@ximbiot.com>
109588         and Paul Eggert  <eggert@cs.ucla.edu>
109590         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
109591         Don't worry about this obsolete case any more.
109592         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
109593         directories.
109594         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
109595         worry about this obsolete case any more.
109596         * lib/fts.c: Likewise.
109597         * lib/getcwd.c: Likewise.
109598         * lib/glob.h: Likewise.
109599         * lib/savedir.c: Likewise.
109601 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
109603         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
109604         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
109605         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
109606         needed.
109607         All uses removed.
109608         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
109609         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
109610         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
109611         needed.
109612         * m4/getdate.m4 (gl_GETDATE): Likewise.
109613         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
109614         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
109615         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
109616         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
109617         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
109618         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
109619         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
109620         needed.
109622 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
109624         * lib/memcasecmp.c: Include <limits.h>.
109625         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
109626         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
109627         Don't assume isdigit succeeds only on '0' through '9'.
109629 2006-07-05  Eric Blake  <ebb9@byu.net>
109631         * modules/getaddrinfo (Depends-on): Add snprintf.
109633 2006-07-05  Eric Blake  <ebb9@byu.net>
109635         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
109636         to avoid 'header present but could not be compiled' on cygwin.
109638 2006-07-05  Eric Blake  <ebb9@byu.net>
109640         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
109641         missing from netdb.h.
109642         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
109644 2006-07-05  Derek R. Price  <derek@ximbiot.com>
109646         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
109647         no longer needed.
109648         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
109649         * m4/getdate.m4 (gl_GETDATE): Likewise.
109650         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
109651         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
109652         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
109653         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
109654         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
109656 2006-07-05  Derek R. Price  <derek@ximbiot.com>
109658         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
109659         All uses of is_space replaced by isspace.
109660         * lib/exit.h: Don't talk about STDC_HEADERS.
109661         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
109662         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
109663         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
109664         replaced by isprint etc.
109665         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
109666         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
109667         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
109668         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
109669         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
109670         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
109672 2006-07-05  Bruno Haible  <bruno@clisp.org>
109674         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
109675         the function exists, before testing against AIX.
109676         Reported by Martin Lambers <marlam@marlam.de>.
109678 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
109680         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
109681         From Mark D. Baushke.
109683 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
109685         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
109686         to the absolute name, not just one, to bypass Sun C 5.8's
109687         "warning: #include of /usr/include/... may be non-portable".
109689 2006-07-04  Eric Blake  <ebb9@byu.net>
109691         * modules/dirname-tests: New test module.
109692         * tests/test-dirname.c: New file, replacing dirname.c
109693         TEST_DIRNAME section that was recently deleted.
109695 2006-07-04  Bruno Haible  <bruno@clisp.org>
109697         Assume ANSI C header files and <ctype.h> functions.
109698         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
109699         (mbsnwidth): Use isprint, iscntrl instead.
109701 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
109703         Merge from coreutils.
109704         * MODULES.html.sh: Add xstrtold.
109705         * modules/xstrtold: New file.
109706         * modules/cycle-check (Files): Add lib/same-inode.h.
109707         * modules/dirname (Files): Add m4/double-slash-root.m4.
109708         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
109709         * modules/mkdir-p (Files): Add lib/same-inode.h.
109710         * modules/same (Files): Add lib/same-inode.h.
109712 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
109714         * m4/absolute-header.m4: Renamed from full-header-path.m4.
109715         This is to keep the terminology clean; POSIX talks about
109716         "absolute pathnames", not "full pathnames", but the GNU
109717         Coding Standards say to use "path" for something else;
109718         so use "absolute" to keep both sides happy.
109719         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
109720         Set gl_absolute_header, not gl_full_header_path.
109721         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
109722         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
109723         All uses changed.
109725         Merge from coreutils.
109727         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
109729         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
109730         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
109731         want to require the building of c-strtod.o.
109732         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
109733         needs -lm directly.
109734         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
109736         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
109738         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
109739         --as-needed option if available.  Problem reported by Albert Chin in
109740         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
109741         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
109742         cc merely issues a bunch of annoying warnings for --as-needed
109743         (this problem was reported by Bob Proulx).  Also, try linking with
109744         -lm to detect a bug in binutils 2.16 (this problem was reported
109745         by Ralf Wildenhues).
109747         2006-06-18  Jim Meyering  <jim@meyering.net>
109749         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
109750         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
109751         macro.
109752         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
109753         also check for glibc-2.4's abort-inducing bug.
109755         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
109756         Low-probability clean-up should be to use rmdir to get rid of
109757         the just-created directory, not unlink.
109759         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
109760         configure fail, and request a bug report to inform us about it.
109761         Add a comment that, barring reports to the contrary, in 2007 we'll
109762         assume ftruncate is universally available.
109764         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
109766         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
109768         2006-03-12  Jim Meyering  <jim@meyering.net>
109770         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
109771         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
109772         * m4/same.m4 (gl_SAME): Likewise.
109773         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
109775         2006-03-11  Eric Blake  <ebb9@byu.net>
109777         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
109778         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
109779         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
109780         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
109782 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
109784         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
109785         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
109786         reported by Mark D. Baushke, one in
109787         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
109789         Merge from coreutils.
109791         * lib/.cppi-disable: Add stdint_.h.
109792         * lib/.cvsignore: Add stdint.h.
109794         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
109796         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
109797         both double and long double versions.
109798         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
109799         * lib/xstrtold.c: New file.
109800         * lib/xstrtod.h (xstrtold): New decl.
109802         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
109804         * lib/filemode.c (setst): Remove.
109805         (strmode): Rewrite to avoid setst.  This makes the code shorter,
109806         (arguably) clearer, and the generated code is a bit smaller on my
109807         Debian GNU/Linux stable x86 host.
109809         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
109811         * lib/filemode.c: Include "filemode.h" first, to test the interface.
109812         Assume that filemode.h includes sys/types.h and sys/stat.h.
109813         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
109814         (ftypelet): Reorder to put common cases first, for efficiency.
109815         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
109816         to do 'M'.
109817         (strmode): Renamed from mode_string, and now stores 12 bytes instead
109818         of 10, for compatibility with FreeBSD.  All callers changed.
109819         (filemodestring): Now stores 12 bytes instead of 10, and sets file
109820         types that can't be deduced solely from st_mode.  First arg is now a
109821         const pointer.
109822         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
109823         (strmode): Renamed from mode_string.
109824         (filemodestring): New decl.
109825         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
109826         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
109827         needed.
109828         (S_ISPORT, S_ISWHT): New macros, if not already defined.
109830         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
109832         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
109833         fsusage.h now does that.  Include fsusage.h first, to test interface.
109834         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
109835         at most one method (the old code could have generated decls that
109836         didn't conform to C89, not that this was ever exercised).
109837         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
109839         2006-03-19  Jim Meyering  <jim@meyering.net>
109841         Work even in a chroot where d_ino values for entries in "/"
109842         don't match the stat.st_ino values for the same names.
109843         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
109844         number, iterate through all entries again, using lstat instead.
109845         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
109846         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
109848         * lib/getcwd.c (__getcwd): Clarify a comment.
109849         Use memcpy in place of a call to strcpy.
109851         2006-03-12  Jim Meyering  <jim@meyering.net>
109853         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
109854         matches that of the current directory (which we're about to chdir ".."
109855         out of), then save the dev-ino of the parent, instead.
109857         * lib/same-inode.h (SAME_INODE): New file/macro.
109858         * lib/chdir-safer.c (SAME_INODE): Remove definition.
109859         Include "same-inode.h", instead.
109860         * lib/same.c: Likewise.
109861         * lib/cycle-check.h: Include "same-inode.h".
109862         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
109863         * lib/cycle-check.c (SAME_INODE): Remove definition.
109864         * lib/root-dev-ino.h: Include "same-inode.h".
109866         2006-03-11  Eric Blake  <ebb9@byu.net>
109868         * lib/same.c (same_name): s/base_name/last_component/
109869         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
109870         * lib/filenamecat.c (file_name_concat): Likewise.
109872         2006-03-11  Eric Blake  <ebb9@byu.net>,
109873                     Paul Eggert  <eggert@cs.ucla.edu>
109875         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
109876         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
109877         drive prefix.
109878         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
109879         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
109880         (last_component): New method.
109881         * lib/dirname.c (dir_len): Determine when drive letters need a
109882         subsequent slash.  Preserve // when it is special.
109883         (dir_name): Don't append dot when drive letter is absolute.
109884         [TEST_DIRNAME]: Move into a full-blown gnulib test.
109885         * lib/basename.c (base_name): New semantics - malloc the result.
109886         Preserve // when it is special.  Preserve relative files that look
109887         like drive letters.
109888         (base_len): Preserve // when it is special.
109889         (last_component): New method, similar to old base_name semantics.
109890         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
109891         base_name.  Strip redundant slashes from ///.
109893 2006-07-03  Jim Meyering  <jim@meyering.net>
109895         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
109896         macro is used before the first cycle_check call.
109898 2006-07-03  Eric Blake  <ebb9@byu.net>
109900         * modules/dirname (Depends-on): Add xstrndup.
109902 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
109904         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
109905         test cases, so that config.log is a bit easier to follow.
109907 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
109909         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
109910         both are 64 bits, since this seems to be the tradition, and this
109911         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
109912         we ever run into a host that prefers long long to long in this
109913         case, we'll need another configure-time test.  Problem reported by
109914         Jim Meyering.
109916 2006-07-02  Eric Blake  <ebb9@byu.net>
109918         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
109920 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
109922         * modules/inttypes (Depends-on): No longer depends on stdint.
109923         * modules/stdint (Description): Say more about assumptions.
109924         Say that the fast types might differ.  Say macros are used.
109925         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
109926         (Makefile.am): Revise list of substituted symbols to match
109927         new stdint.m4.
109928         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
109929         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
109930         * tests/test-stdint.c (verify_same_types)
109931         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
109932         the code conforms to C99/C89.
109933         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
109934         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
109936 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
109938         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
109939         but fix a bug, by requiring at least 64 bits.
109940         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
109941         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
109942         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
109943         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
109945         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
109946         changes.  Make 2.59 a prerequisite.  Check and substitute for
109947         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
109948         inttypes.h.  Do not use special include files; just use the
109949         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
109950         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
109951         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
109952         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
109953         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
109954         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
109955         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
109956         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
109957         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
109958         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
109959         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
109960         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
109961         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
109962         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
109963         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
109964         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
109965         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
109966         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
109967         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
109968         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
109969         WINT_MAX.  Check for C99 conformance more strictly, by detecting
109970         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
109971         not check for things that C99 does not require, e.g., int8_t.  If
109972         a test isn't needed unless <stdint.h> isn't working, and is
109973         unlikely to be needed for any other reason, then don't do it
109974         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
109975         size_t, since we assume C89 freestanding at least.  Do not check
109976         for sig_atomic_t, wchar_t, or wint_t, since the code now does
109977         the right thing even if the types are not defined.  Instead use:
109978         (gl_STDINT_TYPE_PROPERTIES): New macro.
109979         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
109980         testing whether <sys/types.h> clashes, as Autoconf does this for
109981         us now.  All uses removed.
109982         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
109983         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
109984         (gl_CHECK_TYPE_SAME):
109985         Remove; no longer needed.
109986         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
109987         exists, since we'll return 0 anyway in that case.
109988         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
109990 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
109992         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
109993         possible collision with system files.
109994         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
109995         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
109996         WCHAR_MIN and WCHAR_MAX in this case.
109997         (<stddef.h>): Do not include; no longer needed.
109998         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
109999         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
110000         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
110001         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
110002         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
110003         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
110004         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
110005         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
110006         !defined(__c99))]: Include in this case too, since it's harmless
110007         now.
110008         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
110009         dangerous to do so.
110010         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
110011         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
110012         (_STDINT_MIN, _STDINT_MAX): New macros.
110013         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
110014         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
110015         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
110016         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
110017         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
110018         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
110019         macros, not typedefs; this simplifies things quite a bit.
110020         Use long int for all types narrower than int64_t.
110021         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
110022         Define in terms of long long int or int64_t or long int,
110023         not int64_t or int32_t.  This saves some compile-time testing.
110024         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
110025         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
110026         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
110027         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
110028         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
110029         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
110030         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
110031         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
110032         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
110033         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
110034         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
110035         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
110036         undef any previous version and define our own version, for
110037         simplicity and consistency with the new macros for types.
110038         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
110039         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
110040         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
110041         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
110042         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
110043         @WINT_T_SUFFIX@ to keep things simple here.
110044         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
110045         Simplify by assuming typical 8/16/32/64 host, since we're
110046         already doing that elsewhere anyway.
110047         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
110048         and assume long long int is 64 bits if available.  This
110049         speeds up 'configure'.
110051 2006-07-01  Eric Blake  <ebb9@byu.net>
110053         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
110054         Reported by Andreas Buening.
110056 2006-07-01  Eric Blake  <ebb9@byu.net>
110058         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
110060 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
110062         * lib/getaddrinfo.c: fixed typo
110064 2006-06-29  Jim Meyering  <jim@meyering.net>
110066         * modules/strftime (Maintainer): Add my name, since with the
110067         FPRINTFTIME changes strftime.c has forked from glibc.
110069 2006-06-29  Eric Blake  <ebb9@byu.net>
110071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
110073 2006-06-29  Eric Blake  <ebb9@byu.net>
110075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
110077 2006-06-29  Eric Blake  <ebb9@byu.net>
110079         * lib/stat_.h: New file.
110081 2006-06-29  Eric Blake  <ebb9@byu.net>
110083         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
110084         unused static function.
110086 2006-06-29  Eric Blake  <ebb9@byu.net>
110088         * doc/functions.texi (Function Portability): Document missing lstat
110089         on mingw.
110091 2006-06-29  Eric Blake  <ebb9@byu.net>
110093         * MODULES.html.sh: Add sys_stat.
110094         * modules/sys_stat: New module.
110095         * modules/mkstemp (Depends-on): Add sys_stat.
110097 2006-06-29  Derek R. Price  <derek@ximbiot.com>
110099         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
110101 2006-06-29  Derek R. Price  <derek@ximbiot.com>
110103         * m4/c-bs-a.m4: Removed.
110105 2006-06-29  Derek R. Price  <derek@ximbiot.com>
110107         * lib/strftime.c: Assume strftime() exists.
110109 2006-06-29  Derek Price  <derek@ximbiot.com>
110111         * modules/c-bs-a: Removed - \a is C89.
110112         * MODULES.html.sh: Remove c-bs-a.
110114 2006-06-29  Bruno Haible  <bruno@clisp.org>
110116         * modules/wcwidth (License): Change to LGPL.
110118 2006-06-28  Simon Josefsson  <jas@extundo.com>
110120         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
110121         on _WIN32.
110123         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
110124         getnameinfo.
110126 2006-06-28  Simon Josefsson  <jas@extundo.com>
110128         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
110130 2006-06-28  Simon Josefsson  <jas@extundo.com>
110132         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
110133         functions there.  It will succeed on Windows XP, but on Windows
110134         2000 and (presumably) earlier, it will fail, and use the internal
110135         re-implementation.
110136         (use_win32_p): New function.
110137         (getaddrinfo): Use strtoul on servname, to support numeric ports.
110138         Support AI_NUMERICSERV to disable getservbyname.
110139         (getnameinfo): New function, only supports
110140         NI_NUMERICHOST|NI_NUMERICSERV for now.
110142         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
110143         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
110144         getnameinfo.
110146 2006-06-28  Eric Blake  <ebb9@byu.net>
110148         * modules/wcwidth: New file.
110149         * modules/mbchar (Depends-on): Add wcwidth.
110150         * modules/mbswidth (Depends-on): Add wcwidth.
110151         * MODULES.html.sh: Add wcwidth.
110153 2006-06-28  Eric Blake  <ebb9@byu.net>
110155         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
110156         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
110158 2006-06-28  Eric Blake  <ebb9@byu.net>
110160         * lib/xvasprintf.h: Fix comments.
110162 2006-06-28  Eric Blake  <ebb9@byu.net>
110164         * lib/mbchar.h (wcwidth): Include wcwidth.h.
110165         * lib/mbswidth.c (wcwidth): Move from here...
110166         * lib/wcwidth.h: ...to this new file.
110168 2006-06-28  Derek R. Price  <derek@ximbiot.com>
110170         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
110172         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
110173         it's obsolete.
110174         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
110176 2006-06-28  Derek R. Price  <derek@ximbiot.com>
110178         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
110179         Autoconf 2.60 says this stuff was obsolete.
110181 2006-06-28  Bruno Haible  <bruno@clisp.org>
110183         * modules/wcwidth (Files): Add m4/wchar_t.m4.
110185 2006-06-28  Bruno Haible  <bruno@clisp.org>
110187         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
110188         gt_TYPE_WCHAR_T.
110190 2006-06-28  Bruno Haible  <bruno@clisp.org>
110192         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
110193         declaration for wcwidth.
110194         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
110196 2006-06-28  Bruno Haible  <bruno@clisp.org>
110198         * lib/mkdtemp.c [MINGW]: Include <io.h>.
110199         (mkdir): Define using _mkdir.
110201 2006-06-28  Bruno Haible  <bruno@clisp.org>
110203         * lib/getaddrinfo.h: Fix POSIX URL.
110204         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
110205         _WIN32.
110206         (use_win32_p): Make static.
110207         (getaddrinfo): Reject service name if it is empty or does not consist
110208         solely of decimal digits, or if its value is > 65535.
110209         (getnameinfo): Remove useless casts.
110211 2006-06-27  Simon Josefsson  <jas@extundo.com>
110213         * modules/sys_select: New file, suggested by Bruno Haible, Paul
110214         Eggert and Martin Lambers.
110216 2006-06-27  Simon Josefsson  <jas@extundo.com>
110218         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
110219         Eggert and Martin Lambers.
110221 2006-06-27  Bruno Haible  <bruno@clisp.org>
110223         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
110224         result to 0, not to empty.
110225         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
110227 2006-06-27  Bruno Haible  <bruno@clisp.org>
110229         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
110231 2006-06-26  Simon Josefsson  <jas@extundo.com>
110233         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
110234         present.
110236 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
110238         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
110239         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
110240         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
110242 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
110244         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
110246 2006-06-26  Bruno Haible  <bruno@clisp.org>
110248         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
110250 2006-06-26  Bruno Haible  <bruno@clisp.org>
110252         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
110254 2006-06-26  Bruno Haible  <bruno@clisp.org>
110256         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
110257         SGI C compiler in pre-C99 mode.
110258         Suggested by Mark D. Baushke and Larry Jones.
110260 2006-06-26  Bruno Haible  <bruno@clisp.org>
110262         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
110263         WCHAR_MAX.
110264         Reported by Mark D. Baushke and Larry Jones.
110266 2006-06-26  Bruno Haible  <bruno@clisp.org>
110268         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
110269         in pre-C99 mode.
110270         Suggested by Mark D. Baushke and Larry Jones.
110272 2006-06-23  Simon Josefsson  <jas@extundo.com>
110273             Bruno Haible  <bruno@clisp.org>
110275         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
110276         Emit mostlyclean-local rule.
110277         (func_emit_tests_Makefile_am): Likewise.
110278         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
110280 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
110282         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
110284 2006-06-23  Bruno Haible  <bruno@clisp.org>
110286         * tests/test-stdint.c: Update to match ISO C 99 Technical
110287         Corrigendum 1.
110289 2006-06-23  Bruno Haible  <bruno@clisp.org>
110291         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
110293 2006-06-23  Bruno Haible  <bruno@clisp.org>
110295         * lib/stdint_.h: Treat IRIX like OpenBSD.
110297 2006-06-23  Bruno Haible  <bruno@clisp.org>
110299         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
110300         ISO C 99 Technical Corrigendum 1.
110302 2006-06-22  Simon Josefsson  <jas@extundo.com>
110304         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
110305         MinGW.
110307 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
110309         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
110310         needed.  Some compiler complained about some of them.  Problem reported
110311         by Larry Jones in
110312         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
110314 2006-06-21  Simon Josefsson  <jas@extundo.com>
110316         * tests/test-getaddrinfo.c: New file.
110318         * modules/getaddrinfo-tests: New file.
110320         * MODULES.html.sh: Add inet_pton.
110322         * modules/inet_pton: New file.
110324 2006-06-21  Simon Josefsson  <jas@extundo.com>
110326         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
110327         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
110328         of using the (limited) gnulib implementation on Windows XP.
110330         * m4/inet_pton.m4: New file.
110332 2006-06-21  Simon Josefsson  <jas@extundo.com>
110334         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
110335         variable.
110337         * lib/socket_.h: Don't define WINVER.
110339         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
110340         slightly modified to work in gnulib.
110342 2006-06-21  Simon Josefsson  <jas@extundo.com>
110344         * doc/gnulib.texi (Windows sockets): Add.
110346 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
110348         * lib/read-file.c (fread_file): Start with buffer allocation of
110349         0 bytes rather than 1 byte; this simplifies the code.
110350         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
110351         code to free buffer and save/restore errno.
110352         (internal_read_file): Remove unused local.
110354 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
110356         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
110357         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
110358         Problem reported by Denis Excoffier in
110359         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
110361 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110363         * modules/sys_socket, modules/socklen: Include sys/types since
110364         FreeBSD 4.x's sys/socket.h needs it.
110366 2006-06-19  Simon Josefsson  <jas@extundo.com>
110368         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
110370 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
110372         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
110374 2006-06-19  Bruno Haible  <bruno@clisp.org>
110376         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
110377         and FULL_PATH_INTTYPES_H in angle brackets.
110378         Reported by Mark D. Baushke <mdb@gnu.org>.
110380 2006-06-17  Eric Blake  <ebb9@byu.net>
110382         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
110383         errno.
110385 2006-06-17  Bruno Haible  <bruno@clisp.org>
110387         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
110388         <sys/inttypes.h>.
110390 2006-06-17  Bruno Haible  <bruno@clisp.org>
110392         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
110393         whether errno is declared. Assume <errno.h> declares errno.
110395 2006-06-17  Bruno Haible  <bruno@clisp.org>
110397         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
110399 2006-06-17  Bruno Haible  <bruno@clisp.org>
110401         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
110402         problem on Solaris 2.5.1.
110404 2006-06-16  Eric Blake  <ebb9@byu.net>
110406         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
110407         * lib/unicodeio.c [!defined errno]: Likewise.
110408         * lib/strtol.c [!defined errno]: Likewise.
110409         * lib/strtod.c [!defined errno]: Likewise.
110411 2006-06-15  Eric Blake  <ebb9@byu.net>
110413         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
110415 2006-06-15  Eric Blake  <ebb9@byu.net>
110417         * config/srclist.txt (ssize_t.m4): Lose sync.
110419 2006-06-15  Bruno Haible  <bruno@clisp.org>
110421         * modules/stdint (Files): Include m4/full-header-path.m4,
110422         m4/size_max.m4, m4/wchar_t.m4.
110423         (Makefile.am): Many more substitutions.
110424         * modules/stdint-tests: New file.
110425         * tests/test-stdint.c: New file.
110427 2006-06-15  Bruno Haible  <bruno@clisp.org>
110429         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
110430         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
110431         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
110432         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
110433         gl_CHECK_TYPE_SAME): New macros.
110435 2006-06-15  Bruno Haible  <bruno@clisp.org>
110437         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
110439 2006-06-15  Bruno Haible  <bruno@clisp.org>
110441         * lib/stdint_.h: Rewritten to be fully auto-configured.
110442         Fixes bug on HP-UX/IA64.
110444 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
110446         * lib/getdate.y (__attribute__): Don't define if already defined.
110447         Problem reported by Larry Jones.
110448         * lib/utimens.c (__attribute__): Likewise.
110450 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
110452         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
110453         reported by Andreas Schwab.
110455 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110456             Bruno Haible  <bruno@clisp.org>
110458         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
110459         check for the declaration of strnlen and a run test that exposes the
110460         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
110461         rpl_strndup.
110463 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110464             Bruno Haible  <bruno@clisp.org>
110466         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
110468 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110470         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
110471         compile test, for Tru64 4.0D.
110473 2006-05-28  Karl Berry  <karl@gnu.org>
110475         * config/srclist.txt (printf-args.c): lose sync.
110477 2006-05-26  Martin Lambers  <marlam@marlam.de>
110479         * lib/getpass.c: Updates the test for the native W32 API, and adds
110480         missing includes, thus fixing compilation warnings.
110482 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
110484         * lib/exclude.c (exclude_fnmatch): New function.
110485         (excluded_file_name): Call exclude_fnmatch.
110486         * lib/exclude.h (excluded_file_name): New prototype
110488 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
110490         * lib/tempname.c (small_open, large_open): New macros.
110491         (__open, __open64) [!_LIBC]: Remove.
110492         (__gen_tempname): Use small_open and large_open instead of __open
110493         and __open64.  This fixes a portability bug on HP-UX 11.11i
110494         reported by Simon Wing-Tang in
110495         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
110497 2006-05-24  Bruno Haible  <bruno@clisp.org>
110499         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
110500         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
110501         Reported by Thorsten Maerz <torte@netztorte.de> via
110502         Aaron Stone <aaron@serendipity.cx>.
110504 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
110506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
110507         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
110508         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
110509         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
110510         not really conditional on the cache.
110511         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
110513 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
110515         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
110516         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
110517         (my_usleep): Don't mishandle maximum value.
110519 2006-05-19  Jim Meyering  <jim@meyering.net>
110521         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
110523 2006-05-17  Bruno Haible  <bruno@clisp.org>
110525         Cygwin portability.
110526         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
110528 2006-05-17  Bruno Haible  <bruno@clisp.org>
110530         * lib/stdint_.h: Fix recognition of Cygwin.
110532 2006-05-15  Bruno Haible  <bruno@clisp.org>
110534         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
110535         on libtool patch by Ralf Wildenhues.
110537 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
110539         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
110540         test for C99 conformance; (bool) 0.5 is an integer constant
110541         expression, but (bool) -0.5 is not.  Problem reported by Fedor
110542         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
110544 2006-05-11  Simon Josefsson  <jas@extundo.com>
110546         * m4/xvasprintf.m4: Fix obvious typo.
110548 2006-05-11  Jim Meyering  <jim@meyering.net>
110550         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
110551         James Lemley.
110553 2006-05-10  Simon Josefsson  <jas@extundo.com>
110555         * lib/md4.c: Typo fix, update copyright years.
110556         (K1, K2): Don't use L because it turn computations into 64-bit on
110557         64-bit platforms.
110559 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
110561         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
110562         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
110563         unwanted sign propagation, e.g., on hosts with 64-bit int.
110564         There still are some problems with reeelly weird theoretical hosts
110565         (e.g., 33-bit int) but it's not worth worrying about now.
110566         * lib/sha1.c (rol): Likewise.
110567         (K1, K2, K3, K4): Remove unnecessary L suffix.
110569 2006-05-10  Bruno Haible  <bruno@clisp.org>
110571         * lib/des.c: Cast to avoid warnings.
110573 2006-05-09  Bruno Haible  <bruno@clisp.org>
110575         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
110576         (Depends-on): Depend also on xsize, stdarg.
110577         (configure.ac): Add gl_XVASPRINTF.
110579 2006-05-09  Bruno Haible  <bruno@clisp.org>
110581         * m4/xvasprintf.m4: New file.
110583 2006-05-09  Bruno Haible  <bruno@clisp.org>
110585         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
110586         (EOVERFLOW): Define fallback value.
110587         (xstrcat): New function.
110588         (xvasprintf): Recognize the special case of a string concatenation.
110590 2006-05-08  Eric Blake  <ebb9@byu.net>
110592         * gnulib-tool (func_version): Base copyright year on CVS date.
110593         (func_emit_copyright_notice): New function.
110594         (func_emit_lib_Makefile_am): Use it.
110595         (func_emit_tests_Makefile_am): Likewise.
110596         (func_import): Likewise.
110598 2006-05-08  Bruno Haible  <bruno@clisp.org>
110600         * modules/stdarg: New file.
110601         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
110603 2006-05-08  Bruno Haible  <bruno@clisp.org>
110605         * m4/stdarg.m4: New file, from GNU gettext.
110607 2006-05-08  Bruno Haible  <bruno@clisp.org>
110609         * config/srclist.txt (build-aux/config.rpath): different from latest
110610         release.
110612 2006-05-08  Bruno Haible  <bruno@clisp.org>
110614         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
110616 2006-05-05  Jim Meyering  <jim@meyering.net>
110618         * m4/warning.m4: New file, derived from bison's file by the same name.
110620 2006-05-03  Bruno Haible  <bruno@clisp.org>
110622         * lib/stdint_.h: Shorter URL.
110623         * lib/inttypes.h: Likewise.
110625 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
110627         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
110629 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
110631         * lib/verify.h: Document the internals better.  Most of this change
110632         was written by Bruno Haible.
110634 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
110636         * doc/verify.texi: New file, partly based on a proposal by
110637         Bruno Haible.
110639 2006-05-02  Bruno Haible  <bruno@clisp.org>
110641         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
110642         test from here...
110643         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
110645 2006-04-29  Bruno Haible  <bruno@clisp.org>
110647         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
110648         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
110650 2006-04-29  Bruno Haible  <bruno@clisp.org>
110652         * gnulib-tool: Make --update option actually work.
110654 2006-04-29  Bruno Haible  <bruno@clisp.org>
110656         * doc/gcd.texi: New file.
110657         * doc/gnulib.texi: Include it.
110659 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
110661         * lib/getdate.y (get_date): When adding relative date, start with the
110662         initial time, not with the result of the first mktime call.
110664 2006-04-25  Bruno Haible  <bruno@clisp.org>
110666         * gnulib-tool (func_import): Output the include directives in three
110667         blocks, sorted separately.
110668         Reported by Ben Pfaff <blp@cs.stanford.edu>.
110670 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
110672         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
110673         to define main with arguments, for C++.  Reported by Eric Blake.
110674         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
110675         Prefer 'int main ()' to 'int main (void)', for C++.
110676         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
110677         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
110678         for 'main', for C99 and C++.
110680 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
110682         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
110683         Don't assume that exit status -1 is valid.
110684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
110685         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
110686         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
110687         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
110688         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
110689         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
110690         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
110691         functions can be used without declaring them, or that you can
110692         exit with status -1.
110693         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
110695 2006-04-24  Karl Berry  <karl@gnu.org>
110697         * config/srclist.txt (longdouble.m4): sync lost.
110699 2006-04-24  Eric Blake  <ebb9@byu.net>
110701         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
110703 2006-04-24  Bruno Haible  <bruno@clisp.org>
110705         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
110706         poll() implementation in AIX.
110707         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
110709 2006-04-24  Bruno Haible  <bruno@clisp.org>
110711         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
110712         assigned exactly once.
110714 2006-04-23  Claudio Fontana  <claudio@gnu.org>
110715             Bruno Haible  <bruno@clisp.org>
110717         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
110718         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
110719         for AM_CPPFLAGS.
110721 2006-04-23  Bruno Haible  <bruno@clisp.org>
110723         * modules/copy-file: Depend on unistd.
110724         * modules/execute: Likewise.
110725         * modules/fatal-signal: Likewise.
110726         * modules/findprog: Likewise.
110727         * modules/mkdtemp : Likewise.
110728         * modules/pipe: Likewise.
110729         * modules/wait-process: Likewise.
110731 2006-04-23  Bruno Haible  <bruno@clisp.org>
110733         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
110734         condition was already detected.
110735         Reported by Ben Pfaff <blp@cs.stanford.edu>.
110737 2006-04-23  Bruno Haible  <bruno@clisp.org>
110739         * lib/copy-file.c: Include <unistd.h> unconditionally.
110740         * lib/execute.c: Likewise.
110741         * lib/fatal-signal.c: Likewise.
110742         * lib/findprog.c: Likewise.
110743         * lib/mkdtemp.c: Likewise.
110744         * lib/pipe.h: Likewise.
110745         * lib/pipe.c: Likewise.
110746         * lib/wait-process.h: Likewise.
110748 2006-04-23  Bruno Haible  <bruno@clisp.org>
110750         * gnulib-tool (func_usage): Fix --import description. Document
110751         --update.
110752         (func_import): Create temporary file in a temporary directory, if
110753         --dry-run is specified. Silence errors from 'grep' when there are no
110754         m4 files in $m4dir.
110755         (func_create_testdir): Silence errors from 'grep' when there are no
110756         m4 files in $m4dir.
110757         Reported by Karl Berry <karl@freefriends.org>.
110759 2006-04-20  Bruno Haible  <bruno@clisp.org>
110761         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
110762         one argument, so that the code will be portable to Autoconf 2.60.
110763         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
110764         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
110765         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
110767 2006-04-19  Derek Price  <derek@ximbiot.com>
110768             Eric Blake  <ebb9@byu.net>
110770         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
110771         rather than "/full/path.h".  Update comment to match.  Shorten &
110772         generalize m4_translit call via AS_TR_CPP.
110774 2006-04-19  Derek Price  <derek@ximbiot.com>
110775             Eric Blake  <ebb9@byu.net>
110777         * lib/inttypes.h: Correct grammar in comment.
110779 2006-04-18  Derek Price  <derek@ximbiot.com>
110780             Paul Eggert  <eggert@cs.ucla.edu>
110782         * modules/inttypes: New file.
110783         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
110785 2006-04-18  Derek Price  <derek@ximbiot.com>
110786             Paul Eggert  <eggert@cs.ucla.edu>
110788         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
110789         New files.
110791 2006-04-18  Derek Price  <derek@ximbiot.com>
110792             Paul Eggert  <eggert@cs.ucla.edu>
110794         * lib/inttypes.h: New file.
110795         * lib/strtoimax.c: Assume <inttypes.h>.
110797 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
110799         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
110800         isn't mounted.  Problem reported by Kir Kolyshkin.
110802 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
110804         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
110805         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
110806         Derek R. Price.
110807         * lib/regex.h (RE_DUP_MAX): Update comment to match current
110808         implementation.
110810 2006-04-12  Eric Blake  <ebb9@byu.net>
110812         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
110813         is now done automatically by the corresponding Autoconf macro.
110815 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
110817         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
110818         time_r.h.
110820 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
110822         Merge regex changes from libc, removing some of our
110823         POSIX-conformance changes that were rejected and redoing them in a
110824         less-intrusive way.
110826         * lib/regcomp.c (re_compile_internal, init_dfa):
110827         Length arg is now size_t, not Idx.  All uses changed.
110828         (peek_token): Forward decl now says internal_function.
110829         (__re_error_msgid, __re_error_msgid_idx):
110830         Now static rather than extern with attribute_hidden.
110831         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
110832         For some reason libc prefers K&R style defns for external functions.
110833         (regerror) [!defined _LIBC]: Likewise.
110834         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
110835         (seek_collating_symbol_entry, lookup_collation_sequence_value):
110836         (build_range_exp, build_collating_symbol):
110837         Use K&R-style defn.
110838         (re_compile_fastmap): Use '\0' to memset, not 0.
110839         (utf8_sb_map): Make the calculations more obvious.
110840         (init_dfa, parse_bracket_exp, build_charclass_op):
110841         Call calloc and cast result, as glibc does.
110842         (init_word_char, fetch_token, peek_token, peek_token_bracket):
110843         (build_range_exp, build_collating_symbol):
110844         Now internal functions.
110846         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
110848         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
110849         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
110850         Don't depend on VMS; depend on __VMS instead, for POSIX
110851         namespace cleanness.
110852         (regoff_t): Define to ssize_t, not long int.
110854         Remove the REG_ macros named below.  Instead, make the old names
110855         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
110856         __USE_GNU_REGEX.
110857         (REG_BACKSLASH_ESCAPE_IN_LISTS):
110858         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
110859         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
110860         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
110861         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
110862         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
110863         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
110864         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
110865         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
110866         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
110867         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
110868         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
110869         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
110870         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
110871         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
110872         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
110873         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
110874         (REG_NREGS):
110875         Remove.  All uses replaced by the old RE_* names.
110876         (RE_BACKSLASH_ESCAPE_IN_LISTS):
110877         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
110878         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
110879         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
110880         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
110881         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
110882         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
110883         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
110884         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
110885         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
110886         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
110887         Don't bother having these macros be independent of each others'
110888         values, since they no longer exist in the POSIX name space.
110890         Rename the following member names back to their old names,
110891         unless !__USE_GNU_REGEX.  All uses changed back.
110892         (buffer): Renamed from re_buffer.
110893         (allocated): Renamed from re_allocated.
110894         (used): Renamed from re_used.
110895         (syntax): Renamed from re_syntax.
110896         (fastmap): Renamed from re_fastmap.
110897         (translate): Renamed from re_translate.
110898         (can_be_null): Renamed from re_can_be_null.
110899         (regs_allocated): Renamed from re_regs_allocated.
110900         (fastmap_accurate): Renamed from re_fastmap_accurate.
110901         (no_sub): Renamed from re_no_sub.
110902         (not_bol): Renamed from re_not_bol.
110903         (not_eol): Renamed from re_not_eol.
110904         (newline_anchor): Renamed from re_newline_anchor.
110905         (num_regs): Renamed from rm_num_regs.
110906         (start): Renamed from rm_start.
110907         (end): Renamed from rm_end.
110909         (free_state): Move up a bit.
110911         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
110912         #define to be empty.
110913         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
110914         when that is what is intended.
110915         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
110916         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
110917         (MAX): New macro.
110918         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
110919         All uses changed back to re_malloc, etc.  It's now the caller's
110920         responsibility to check for overflow; all callers changed.
110921         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
110922         (re_x2nrealloc): Remove.
110923         (free_state): Remove decl.
110925         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
110926         (re_set_registers, re_exec):
110927         Use K&R-style defn.
110929         2006-01-31  Roland McGrath  <roland@redhat.com>
110931         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
110932         Reported by Mike Frysinger <vapier@gentoo.org>.
110934         2006-01-15  Andreas Jaeger  <aj@suse.de>
110936         [BZ #1950]
110937         * lib/regex_internal.c (re_string_reconstruct): Adjust for
110938         build_wcs_upper_buffer change.
110939         (build_wcs_upper_buffer): Change return type.
110941         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
110943         * lib/regex_internal.h: Include <stdint.h> if available.
110945         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
110947         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
110949         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
110951         * lib/regcomp.c: Adjust for changed secondary hash function.
110953         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
110955         * lib/regex.h: Pretty printing.
110956         Clean up namespace a bit.
110958         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
110960         * lib/regexec.c (update_cur_sifted_state, check_arrival,
110961         check_arrival_add_next_nodes): Avoid using uninitialized variable.
110963         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
110964                     Ulrich Drepper  <drepper@redhat.com>
110966         [BZ #1302]
110967         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
110968         changed.
110969         (bitset_word_t): Renamed from bitset_word.  All uses changed.
110971         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
110973         [BZ #281]
110974         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
110975         * lib/regcomp.c: Remove unnecessary uses of
110976         unsigned RE_TRANSLATE_TYPE.
110977         * lib/regex_internal.h: Likewise.
110978         * lib/regex_internal.c: Likewise.
110979         * lib/regexec.c: Likewise.
110980         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
110982         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
110984         * lib/regexec.c (find_recover_state): Remove unnecessary
110985         initialization.
110986         (transit_state_bkref): Make DFA a const pointer.
110987         (get_subexp): Likewise.
110988         (check_arrival): Likewise.
110989         (update_cur_sifted_state): Likewise.
110990         (re_search_internal): Likewise.
110991         (prune_impossible_nodes): Likewise.
110992         (acquire_init_state_context): Likewise.
110993         (proceed_next_node): Likewise.
110994         (set_regs): Likewise.
110995         (free_fail_stack_return): Likewise.
110996         (check_arrival_expand_ecl): Mark DFA parameter as const.
110997         (check_arrival_expand_ecl_sub): Likewise.
110998         (check_subexp_limits): Likewise.
110999         (sub_epsilon_src_nodes):  Likewise.
111000         (add_epsilon_src_nodes):  Likewise.
111001         (merge_state_array): Likewise.
111002         (update_regs): Likewise.
111003         (build_trtable): Likewise.
111004         (sift_states_backward): Mark MCTX parameter as const.
111005         (build_sifted_states): Likewise.
111006         (update_cur_sifted_state): Likewise.
111007         (sift_states_mkref): Likewise.
111008         (check_arrival_expand_ecl): Mark eclosure as const.
111009         (check_dst_limits_calc_pos_1): Likewise.
111010         * lib/regex_internal.h (re_match_context_t): Make dfa a const
111011         pointer.
111013         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
111015         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
111016         (transit_state_sb): Likewise.
111017         (transit_state_mb): Likewise.
111018         (sift_states_iter_mb): Likewise.
111019         (check_arrival_add_next_nodes): Likewise.
111020         (check_node_accept_bytes): Change first parameter to pointer-to-const.
111021         [_LIBC] (re_search_2_stub): Use mempcpy.
111023         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
111024         mbrtowc for very simple UTF-8 case.
111026         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
111027         a pointer-to-const.
111028         (re_acquire_state_context): Likewise.
111029         * lib/regex_internal.h: Adjust prototypes.
111031         * lib/regex.c: Prevent using C++ compilers.
111033         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
111034         (re_acquire_state_context): Likewise.
111036 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
111038         * modules/regex (Depends-on): Add ssize_t.
111040 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
111042         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
111043         translation table.
111045 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
111047         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
111049 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
111050             Bruno Haible  <bruno@clisp.org>
111052         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
111053         <sys/types.h> and <inttypes.h>.
111055 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111057         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
111058         `__error_t_defined', so argp.h will not typedef the former.
111060 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
111062         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
111063         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
111064         glibc names.  Even if glibc is changed to conform to POSIX, the
111065         traditional names will be available anyway, since regex depends on
111066         the extensions module.  Also, fix a longstanding typo in the
111067         implementation of Spencer ERE test #75 from grep 2.3.  Problems
111068         reported by Emanuele Giaquinta.  Also, change sense of cached
111069         variable, so that the message makes sense.
111071 2006-03-24  Simon Josefsson  <jas@extundo.com>
111073         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
111074         including some doc fixes.
111075         (base64_encode_alloc): Fix +1 bug on allocation failures.
111077 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111079         * lib/base64.c (base64_encode): Do not read past end of array with
111080         unsanitized input on systems with CHAR_BIT > 8.
111082 2006-03-24  Eric Blake  <ebb9@byu.net>
111084         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
111086 2006-03-22  Karl Berry  <karl@gnu.org>
111088         * config/srclist.txt (*setenv.[ch]): get from coreutils.
111089         * config/srclistvars.sh (COREUTILS): new var.
111091 2006-03-17  Jim Meyering  <jim@meyering.net>
111093         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
111094         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
111096 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
111098         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
111099         no longer needs it.  Instead, check that regoff_t is as least
111100         as wide as ptrdiff_t.
111102         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
111103         so that our regex.h stays compatible with the installed regex.
111104         This is helpful for installers who configure --without-included-regex.
111105         Problem reported by Emanuele Giaquinta.
111107 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
111109         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
111110         Typedef to long int, not to off_, as POSIX will likely change
111111         in that direction.
111113 2006-03-15  Eric Blake  <ebb9@byu.net>
111115         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
111117 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
111119         * lib/argp-help.c (validate_uparams): Fix typo
111120         * lib/argp-parse.c (argp_default_options): Consistently begin help
111121         messages with a lowercase letter.
111123 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
111125         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
111126         overrun buffers and shouldn't be used (much as gets shouldn't be
111127         used).
111128         * lib/time_r.c (asctime_r, ctime_r): Likewise.
111130 2006-03-08  Simon Josefsson  <jas@extundo.com>
111132         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
111133         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
111135 2006-03-08  Simon Josefsson  <jas@extundo.com>
111137         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
111138         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
111140 2006-03-08  Simon Josefsson  <jas@extundo.com>
111142         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
111143         signal that configure disabled the device.
111145 2006-03-08  Simon Josefsson  <jas@extundo.com>
111147         * build-aux/maint.mk: Fix refresh-po, to handle no translated
111148         languages.
111150 2006-03-07  Simon Josefsson  <jas@extundo.com>
111152         * modules/getopt (Depends-on): Add unistd.
111154         * modules/unistd: New file.
111156 2006-03-07  Simon Josefsson  <jas@extundo.com>
111158         * modules/gc-random: New file.
111160 2006-03-07  Simon Josefsson  <jas@extundo.com>
111162         * m4/unistd_h.m4: New file.
111164 2006-03-07  Simon Josefsson  <jas@extundo.com>
111166         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
111167         test to be side-effect free by storing the result in the cache
111168         variable gl_cv_lib_readline, and moving the assignment of
111169         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
111170         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
111172 2006-03-07  Simon Josefsson  <jas@extundo.com>
111174         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
111175         error on missing devices (the functions will return an error).
111177         * m4/gc.m4: Move random stuff to gc-random.m4
111179 2006-03-07  Simon Josefsson  <jas@extundo.com>
111181         * lib/unistd_.h: New file.
111183 2006-03-07  Simon Josefsson  <jas@extundo.com>
111185         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
111187 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111189         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
111190         Problem reported by Juan Manuel Guerrero.
111192 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111194         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
111195         the unistd module.
111196         * lib/getlogin_r.c: Likewise.
111197         * lib/getlogin_r.h: Likewise.
111198         * lib/glob.c: Likewise.
111199         * lib/pagealign_alloc.c: Likewise.
111200         * lib/unistd_.h: Remove; no longer needed.
111202 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
111204         * MODULES.html.sh (Support for systems lacking POSIX:2001):
111205         Add unistd.
111206         * modules/c-stack (Depends-on): Add unistd.
111207         * modules/getlogin_r: Likewise.
111208         * modules/glob: Likewise.
111209         * modules/pagealign_alloc: Likewise.
111210         * modules/unistd (Files): Remove lib/unistd_.h.
111211         (EXTRA_DIST): Remove.
111212         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
111213         need unistd_.h.
111214         (MOSTLYCLEANFILES): Remove unistd.h-t.
111216 2006-03-03  Simon Josefsson  <jas@extundo.com>
111218         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
111220 2006-03-03  Simon Josefsson  <jas@extundo.com>
111222         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
111223         libidn and bison.
111225 2006-03-03  Simon Josefsson  <jas@extundo.com>
111227         * build-aux/maint.mk: Add indent target.
111229 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
111231         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
111232         our replacement poll.h in any case, to avoid a differing
111233         declaration from a system header.  Seen on AIX.
111235 2006-03-01  Simon Josefsson  <jas@extundo.com>
111237         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
111238         <kasal@ucw.cz>.
111240 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
111242         * modules/gettime (Depends-on): Add extensions module.
111243         * modules/nanosleep (Depends-on): Likewise.
111244         * modules/settime (Depends-on): Likewise.
111246 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
111248         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
111249         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
111250         pedantically.
111251         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
111252         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
111254         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
111255         not "==".  Reported by Ralf Wildenhues.
111257 2006-03-01  Karl Berry  <karl@gnu.org>
111259         * doc/Copyright/request-*: new files, synced from gnuorg.
111261 2006-03-01  Karl Berry  <karl@gnu.org>
111263         * config/srclist.txt (Copyright/*): new entries.
111265 2006-02-28  Simon Josefsson  <jas@extundo.com>
111267         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
111269 2006-02-27  Simon Josefsson  <jas@extundo.com>
111271         * lib/base64.h: Indent #define's.  From Jim Meyering
111272         <jim@meyering.net>.
111274 2006-02-27  Jim Meyering  <jim@meyering.net>
111276         Revert the change of 2006-02-24, so these files can continue
111277         to be sync'd from gettext.
111278         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
111279         of `config.h'.
111281 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
111283         * modules/intprops: New file.
111284         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111285         Add intprops.
111286         * modules/getloadavg (Files): Remove lib/intprops.h.
111287         (Depends-on): Add intprops.
111288         * modules/human: Likewise.
111289         * modules/inttostr: Likewise.
111290         * modules/openat: Likewise.
111291         * modules/sig2str: Likewise.
111292         * modules/userspec: Likewise.
111293         * modules/utimecmp: Likewise.
111294         * modules/xnanosleep: Likewise.
111295         * modules/xstrtol: Likewise.
111297 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
111299         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
111300         * modules/lock-tests (TESTS): Use $(EXEEXT).
111301         * modules/tls-tests: Likewise.
111302         * modules/argp-tests: Likewise.
111303         (check_PROGRAMS): New var, replacing...
111304         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
111306 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111308         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
111309         `config.h'.
111311 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
111313         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
111315 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111317         Sync from coreutils.
111318         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
111319         gl_CHDIR_SAFER.
111321 2006-02-22  Jim Meyering  <jim@meyering.net>
111323         Sync from coreutils.
111324         * m4/chdir-safer.m4: New file.
111326 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
111328         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
111329         AT_FDCWD exceeds INT_MAX.
111330         * lib/openat.h (AT_FDCWD): Likewise.
111332 2006-02-17  Eric Blake  <address@hidden>
111334         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
111336 2006-02-16  Simon Josefsson  <jas@extundo.com>
111338         * modules/getaddrinfo (Depends-on): Add sys_socket.
111340 2006-02-15  Simon Josefsson  <jas@extundo.com>
111342         * build-aux/maint.mk: Add dsyntax-check rule.
111344 2006-02-15  Eric Blake  <ebb9@byu.net>
111346         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
111347         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
111348         'present but cannot compile' warnings on cygwin.
111349         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
111350         use ws2tcpip.h if sys/socket.h works.
111351         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
111352         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
111354 2006-02-14  Simon Josefsson  <jas@extundo.com>
111356         * modules/maintainer-makefile (Files): Rename.
111358         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
111359         and (the local) Makefile.cfg to maint-cfg.mk.
111361         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
111362         to the latter.
111364         * modules/maintainer-makefile: New module.
111366         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
111367         severaly stripped to make it possible to build it up from scratch
111368         with reliable tests.
111370         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
111371         fixes to permit overriding the default actions when configure and
111372         makefile are not available.
111374 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
111376         Sync from coreutils.
111377         * modules/lstat (Depends-on): Don't depend on xalloc.
111378         (License): Change from GPL to LGPL, since this is now simply a
111379         replacement for a libc function.
111381 2006-02-14  Jim Meyering  <jim@meyering.net>
111383         Sync from coreutils.
111385         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
111386         failure on deficient systems, and simplify gnulib lgpl dependencies.
111387         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
111388         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
111390         * lib/xalloc-die.c: Remove unused definition of N_.
111392 2006-02-14  Jim Meyering  <jim@meyering.net>
111394         Sync from coreutils.
111395         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
111396         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
111397         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
111398         double-quote uses of that variable, to accommodate the rare case in
111399         which getmntent is available in none of the libraries checked.  This
111400         happens at least on FreeBSD 5.0.
111402 2006-02-13  Simon Josefsson  <jas@extundo.com>
111404         * gnulib-tool (Usage): Fix --import, from
111405         karl@freefriends.org (Karl Berry).
111407 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
111409         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
111411 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
111413         * lib/argp-namefrob.h: Restore changes accidentally lost during the
111414         "autoupdate" on 2005-12-12.
111416 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
111418         * modules/closeout (Depends-on): Remove atexit.
111420 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
111422         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
111423         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
111425 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
111427         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
111428         __EXTENSIONS__ if this causes compilation to fail.  Problem
111429         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
111430         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
111432 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
111434         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
111435         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
111436         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
111437         All uses changed.
111439 2006-01-26  Simon Josefsson  <jas@extundo.com>
111441         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
111442         prototype is visible on mingw32.
111444         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
111445         for mingw32.
111447         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
111448         mingw32).
111450 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
111452         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
111453         attempt to open for write; this always fails, at least on POSIX
111454         hosts.  This reinstates the 2006-01-09 change, which was
111455         inadvertently removed.
111457 2006-01-26  Bruno Haible  <bruno@clisp.org>
111459         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
111460         Reported by Paul Eggert.
111462 2006-01-26  Bruno Haible  <bruno@clisp.org>
111463             Paul Eggert  <eggert@cs.ucla.edu>
111465         * lib/stdbool_.h (_Bool)
111466         [(! (defined __cplusplus || defined __BEOS__)
111467           && !defined __GNUC__
111468           && !(defined __HP_cc || defined __xlc__
111469                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
111470                || defined __sgi))]:
111471         #define to signed char in these cases too; this simplifies
111472         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
111473         etc., separately) and makes it more conservative.
111475 2006-01-25  Simon Josefsson  <jas@extundo.com>
111477         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
111478         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
111479         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
111481 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
111483         * lib/argp-namefrob.h: Bugfix. Remove stray #
111485 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
111487         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
111488         so that we test the test.
111489         Check for yet another HP-UX cc bug involving *bool |= bool.
111491 2006-01-25  Karl Berry  <karl@gnu.org>
111493         * config/srclist.txt (vasnprintf.c): sync lost.
111495 2006-01-25  Jim Meyering  <jim@meyering.net>
111497         Sync from the stable (b5) branch of coreutils:
111499         * lib/fts.c (fts_children): Don't let close() clobber errno from
111500         failed fchdir().
111502         * lib/fts.c (fts_stat): When following a symlink-to-directory,
111503         don't necessarily interpret stat-fails+lstat-succeeds as indicating
111504         a dangling symlink.  That can also happen at least for ELOOP.
111505         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
111506         FYI, this bug predates the inclusion of fts.c in coreutils.
111508         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
111509         in their own block, so pre-c99 compilers don't object.
111511         Avoid the double-free (first in fts_read, second in fts_close) that
111512         would occur when an `active' directory is made inaccessible (e.g.,
111513         via chmod a-x) during a traversal.
111514         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
111515         before returning.  Reproduce this failure by
111516         mkdir -p a/b; cd a; chmod a-x . b
111517         Reported by Stavros Passas.
111519 2006-01-25  Jim Meyering  <jim@meyering.net>
111521         * lib/fileblocks.c: Remove more useless parentheses.
111522         * lib/readutmp.h: Likewise.
111524 2006-01-25  Bruno Haible  <bruno@clisp.org>
111526         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
111527         warnings.
111528         Reported by Paul Eggert.
111530 2006-01-25  Bruno Haible  <bruno@clisp.org>
111532         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
111533         rid of a trap command. For Solaris sh.
111534         Reported by Mark D. Baushke <mdb@gnu.org>.
111536 2006-01-24  Simon Josefsson  <jas@extundo.com>
111538         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
111539         Bruno.
111541 2006-01-24  Karl Berry  <karl@gnu.org>
111543         * config/srclist.txt (argp-namefrob.h): sync lost.
111545 2006-01-24  Jim Meyering  <jim@meyering.net>
111547         * modules/openat (Files): Add lib/intprops.h.
111548         From Mark D. Baushke.
111550 2006-01-24  Jim Meyering  <jim@meyering.net>
111552         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
111553         Reported by Mark D. Baushke.
111555 2006-01-24  Jim Meyering  <jim@meyering.net>
111557         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
111559 2006-01-24  Bruno Haible  <bruno@clisp.org>
111561         * modules/strnlen (Maintainer): Change from glibc to all.
111563 2006-01-24  Bruno Haible  <bruno@clisp.org>
111565         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
111566         Patch by Paul Eggert.
111568 2006-01-24  Bruno Haible  <bruno@clisp.org>
111570         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
111571         already has it.
111572         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
111573         2005-11-26.
111575         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
111576         'signed char' to avoid problems with the built-in _Bool type.
111577         Reported by Paul Eggert on 2005-11-26.
111579 2006-01-24  Bruno Haible  <bruno@clisp.org>
111581         * gnulib-tool (func_import): Avoid constructing complicated sed
111582         expressions inside backquote.
111583         Report and solution by Mark D. Baushke <mdb@gnu.org>.
111585 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
111587         These changes imported from libc.
111588         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
111589         test and two separate function calls.
111590         * lib/strndup.c (__strndup): Add libc_hidden_def.
111592 2006-01-23  Simon Josefsson  <jas@extundo.com>
111594         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
111595         Remove the test_*_SOURCES variable: automake infers it by default.
111596         * modules/tls-tests: Likewise.
111598 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
111600         Work around porting bugs reported by Dieter in
111601         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
111602         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
111603         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
111604         Include "getopt.h" first, to check interface.
111605         (getenv): Declare only if defined HAVE_DECL_GETENV &&
111606         !HAVE_DECL_GETENV.
111607         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
111608         (__strndup): Revert to K&R-style function dfns, the glibc style.
111609         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
111610         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
111611         Include strnlen.h first, to get prototype properly.
111612         (strnlen): Renamed from __strnlen.
111613         Remove weak alias.
111615 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
111617         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
111619 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
111621         * config/srclist.txt: Adjust to reflect glibc reorganization.
111622         This affects only comments.
111624 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
111626          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
111627          Reported by Bruce Korb <bkorb@gnu.org>.
111629 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
111631         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
111632         to pacify gcc -Wswitch-default.
111634 2006-01-22  Bruno Haible  <bruno@clisp.org>
111636         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
111637         temporary buffer for sprintf, take into account the precision also
111638         for 'd', 'i', 'u', 'o', 'x', 'X'.
111640 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
111642         * modules/argp-tests: New module
111643         * tests/test-argp.c: New file
111644         * tests/test-argp-2.sh: New file
111646 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
111648         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
111649         (__argp_base_name): Removed
111650         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
111651         typo.
111652         (__argp_base_name): Provide macro definition or extern declaration
111653         depending on the configuration
111655 2006-01-20  Simon Josefsson  <jas@extundo.com>
111657         * modules/inet_ntop (Depends-on): Depend on sys_socket.
111659 2006-01-20  Simon Josefsson  <jas@extundo.com>
111661         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
111663 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
111665         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
111666         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
111667         Suggested by Bruno Haible.
111669 2006-01-20  Karl Berry  <karl@gnu.org>
111671         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
111672         until changes propagate, I guess.
111674 2006-01-19  Simon Josefsson  <jas@extundo.com>
111676         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
111678 2006-01-19  Simon Josefsson  <jas@extundo.com>
111680         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
111682 2006-01-19  Simon Josefsson  <jas@extundo.com>
111684         * gnulib-tool: Set check_PROGRAMS.
111686         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
111687         modules/des-tests, modules/gc-arcfour-tests,
111688         modules/gc-arctwo-tests, modules/gc-des-tests,
111689         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
111690         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
111691         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
111692         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
111693         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
111694         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
111695         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
111696         test_*_SOURCES.
111698 2006-01-18  Simon Josefsson  <jas@extundo.com>
111700         * modules/socklen (Depends-on): Depend on sys_socket.
111702 2006-01-18  Simon Josefsson  <jas@extundo.com>
111704         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
111705         modules/des-tests, modules/gc-arcfour-tests,
111706         modules/gc-arctwo-tests, modules/gc-des-tests,
111707         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
111708         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
111709         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
111710         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
111711         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
111712         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
111713         $(EXEEXT) to automake TESTS variable, for mingw32.
111715 2006-01-17  Simon Josefsson  <jas@extundo.com>
111717         * modules/socklen (Include): Need sys/socket.h.
111719 2006-01-17  Bruno Haible  <bruno@clisp.org>
111721         * modules/ssize_t (Include): Add <sys/types.h>.
111723 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
111725         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
111726         it's not portable and it doesn't work with cross-compiles.
111727         Problem reported by Bruno Haible.  Fix missing-$ typo in
111728         'test "gl_cv_ignore_unused_libraries" ...' that prevented
111729         -zignore from being used with Sun's C compiler.
111731 2006-01-12  Simon Josefsson  <jas@extundo.com>
111733         * lib/base64.c: Fix warning, reported by Bruno Haible
111734         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
111736 2006-01-12  Bruno Haible  <bruno@clisp.org>
111738         * modules/ldd: New file.
111739         * build-aux/ldd.sh.in: New file.
111740         * MODULES.html.sh (Support for building libraries and executables): Add
111741         ldd.
111743 2006-01-12  Bruno Haible  <bruno@clisp.org>
111745         * m4/ldd.m4: New file.
111747 2006-01-12  Bruno Haible  <bruno@clisp.org>
111749         * gnulib-tool (func_import, func_create_testdir): Don't go into an
111750         endless loop while replacing $auxdir with build-aux.
111752 2006-01-11  Simon Josefsson  <jas@extundo.com>
111754         * lib/stdint_.h (SIZE_MAX): Add missing (.
111756 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
111758         Sync from coreutils.
111759         * lib/md5.c: Fix commentary typos.
111760         (alignof, UNALIGNED_P): No need for a GCC-specific version.
111761         * lib/md5.h (__attribute__): Remove; unused.
111762         * lib/sha1.c: Fix commentary to match md5 better.
111763         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
111764         so that we don't need to worry about alignment.  All uses changed.
111765         This merges the 2005-10-28 md5 change into sha1.
111767 2006-01-11  Jim Meyering  <jim@meyering.net>
111769         Sync from coreutils.
111770         * lib/md5.c (OP): Fix spacing.
111772 2006-01-11  Bruno Haible  <bruno@clisp.org>
111774         Ensure automatic ordering between gl_LOCK and gl_ARGP.
111775         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
111776         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
111778 2006-01-11  Bruno Haible  <bruno@clisp.org>
111780         Ensure automatic ordering between gl_LOCK and gl_ARGP.
111781         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
111782         the "early" section as well.
111784 2006-01-11  Bruno Haible  <bruno@clisp.org>
111786         Avoid "ar: no archive members specified" error on MacOS X.
111787         * gnulib-tool (func_modules_add_dummy): New function.
111788         (func_import, func_create_testdir): Invoke it.
111790 2006-01-11  Bruno Haible  <bruno@clisp.org>
111792         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
111793         with $auxdir in AC_CONFIG_FILES statements.
111795 2006-01-11  Bruno Haible  <bruno@clisp.org>
111797         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111798         Initialize also noinst_HEADERS to empty.
111800 2006-01-11  Bruno Haible  <bruno@clisp.org>
111802         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
111803         variables.
111804         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
111805         autoreconf.
111807 2006-01-11  Bruno Haible  <bruno@clisp.org>
111809         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
111810         overridable by the user.
111811         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
111813 2006-01-10  Simon Josefsson  <jas@extundo.com>
111815         * modules/sys_socket: New file.
111817 2006-01-10  Simon Josefsson  <jas@extundo.com>
111819         * m4/sys_socket_h.m4: New file.
111821 2006-01-10  Simon Josefsson  <jas@extundo.com>
111823         * lib/socket_.h: New file.
111825 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
111827         * modules/readutmp (Maintainer): Add myself.
111829 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
111831         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
111832         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
111833         People who are still concerned with buggy memcmp implementations
111834         can invoke gl_FUNC_MEMCMP themselves.
111836 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
111838         * lib/regex_internal.h (BITSET_WORD_BITS):
111839         Work around a bug in 64-bit PGC (before version 6.1-2), where the
111840         preprocessor mishandles large unsigned values as if they were signed.
111841         Problem reported by Claudio Fontana in
111842         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
111844 2006-01-10  Jim Meyering  <jim@meyering.net>
111846         Avoid the double-free (first in fts_read, second in fts_close) that
111847         would occur when an `active' directory is made inaccessible (e.g.,
111848         via chmod a-x) during a traversal.
111849         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
111850         before returning.  Reproduce this failure by
111851         mkdir -p a/b; cd a; chmod a-x . b
111852         Reported by Stavros Passas.
111854         Sync from coreutils.
111855         * lib/sha1.c: Tweak grammar in a comment.
111857 2006-01-10  Jim Meyering  <jim@meyering.net>
111859         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
111860         Patch by Joerg Sonnenberger.
111862 2006-01-10  Bruno Haible  <bruno@clisp.org>
111864         * modules/readutmp: Depend on module free.
111865         * modules/strtok_r: Depend on module restrict.
111867 2006-01-10  Bruno Haible  <bruno@clisp.org>
111869         * modules/gettext (configure.ac): Add an invocation of
111870         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
111872 2006-01-10  Bruno Haible  <bruno@clisp.org>
111874         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
111875         Reported by Werner Lemberg <wl@gnu.org>.
111877 2006-01-10  Bruno Haible  <bruno@clisp.org>
111879         * lib/localcharset.c: Update from GNU gettext.
111881 2006-01-10  Bruno Haible  <bruno@clisp.org>
111883         * lib/argp.h (__const): Remove macro. Use const instead.
111884         * lib/argp-fmtstream.h (__const): Likewise.
111885         * lib/glob_.h (__const): Remove macro.
111886         * lib/glob-libc.h: Use const instead of __const.
111888 2006-01-10  Bruno Haible  <bruno@clisp.org>
111890         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
111891         variable.
111892         Needed to avoid an automake error regarding the 'gettext' module.
111894 2006-01-09  Simon Josefsson  <jas@extundo.com>
111896         * modules/inet_ntop (Depends-on): Add restrict.
111898 2006-01-09  Simon Josefsson  <jas@extundo.com>
111900         * modules/gc-rijndael-tests (License): Put under LGPL.
111902         * modules/gc-des-tests (License): Likewise.
111904         * modules/gc-arcfour-tests (License): Likewise.
111906         * modules/gc-arctwo-tests (License): Likewise.
111908         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
111910         * modules/gc-hmac-sha1-tests (Files): Likewise.
111912         * modules/gc-hmac-md5-tests (License): Likewise.
111914         * modules/gc-sha1-tests (License): Likewise.
111916         * modules/gc-md5-tests (License): Likewise.
111918         * modules/gc-md4-tests (License): Likewise.
111920         * modules/gc-md2-tests (License): Likewise.
111922         * modules/gc-tests (License): Likewise.
111924         * modules/des-tests (License): Likewise.
111926         * modules/md4-tests (License): Likewise.
111928         * modules/md2-tests (License): Likewise.
111930 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
111932         Sync from coreutils:
111934         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
111935         * modules/lib-ignore: New file.
111936         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
111937         chdir-safer.m4, lchmod.m4.
111938         * modules/openat: Add mkdirat.c, openat-priv.h.
111940 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
111942         Sync from coreutils.
111943         * m4/lib-ignore.m4: New file.
111944         * m4/lchmod.m4: New file.
111946 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
111948         Sync from coreutils.
111949         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
111950         for write access: POSIX says that must fail.
111951         * lib/fts.c (diropen): Likewise.
111952         * lib/save-cwd.c (save_cwd): Likewise.
111953         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
111954         well, for minor improvements on hosts that lack O_DIRECTORY.
111955         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
111956         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
111957         Fall back on chown if open failed with EACCES.
111959         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
111960         Report an error at compile-time if only a 1-second nominal clock
111961         resolution is found.
111963         * lib/lchmod.h: New file.
111964         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
111965         (make_dir_parents): Use lchown rather than chown, and
111966         lchmod rather than chmod.
111968         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
111969         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
111970         "proc" reported by n0dalus.
111972         * lib/mountlist.c: Include <limits.h>.
111973         (dev_from_mount_options)
111974         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
111975         New function.  It no longer assumes "dev=" has the System V meaning
111976         on Linux (since it doesn't).  It also parses "dev=" more carefully.
111977         (read_file_system_list)
111978         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
111979         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
111980         dev= in that case.
111982         * lib/posixtm.h (PDS_PRE_2000): New macro.
111983         * lib/posixtm.c (year): Arg is now syntax_bits rather than
111984         allow_century.  All usages changed.  Reject dates outside the range
111985         1969-1999 if PDS_PRE_2000 is used.
111987 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
111989         Sync from coreutils.
111990         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
111991         (Time of day items): Mention the possibility of leap seconds.
111992         Problem reported by Dr. David Alan Gilbert.
111994 2006-01-09  Jim Meyering  <jim@meyering.net>
111996         Sync from coreutils.
111998         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
112000         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
112002         * lib/modechange.c (mode_compile): Reject an invalid mode string
112003         that starts with an octal digit.  From Andreas Gruenbacher.
112005         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
112006         and dup to open_safer and dup_safer, respectively.
112007         (openat_permissive): Fix typo in comment.
112009         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
112010         "gettext.h"; either no longer needed or are guaranteed by openat.h.
112011         (_): Remove; no longer needed.
112012         (openat): Renamed from rpl_openat; no need for rpl_openat
112013         since openat.h renames openat for us.
112014         Replace most of the body with a call to openat_permissive,
112015         to avoid duplicate code.
112016         Port to (probably hypothetical) environments were mode_t is
112017         wider than int.
112018         (openat_permissive): Require mode arg, so that we can check
112019         types better.  Put it just after flags.  Change cwd failure
112020         indicator from pointer-to-bool to pointer-to-errno-value.
112021         All callers changed.
112022         Invoke openat_save_fail and/or openat_restore_fail if
112023         cwd_errno is null, so that openat can call us.
112024         (openat_permissive, fdopendir, fstatat, unlinkat):
112025         Simplify errno handling to avoid some duplicate code,
112026         as it's OK to set errno on success.
112027         * lib/openat.h: Revamp code so that function macros depend on
112028         __OPENAT_PREFIX only, not also on AT_FDCWD.
112029         (openat_ro): Remove.  Caller changed to use openat_permissive.
112030         (openat_permissive): Now a macro, if not a function.
112031         (openat_restore_fail, openat_save_fail): Now always functions,
112032         since mkdirat needs them even if __OPENAT_PREFIX is defined.
112034         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
112035         and openat.c.
112036         * lib/mkdirat.c: Include openat-priv.h.
112037         Remove definitions of macros defined therein.
112038         * lib/openat.c: Likewise.
112040         * lib/mkdirat.c (mkdirat): New file and function.
112041         * lib/openat.h (mkdirat): Declare.
112043         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
112045         * lib/openat.h (openat_permissive): Declare.
112046         (openat_ro): Define.
112048         * lib/openat.c (EXPECTED_ERRNO): New macro.
112049         (openat_permissive): New function -- used in remove.c rewrite.
112050         (all functions): Set errno just before returning, only if there
112051         was an actual failure.
112052         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
112054         Emulate openat-family functions using Linux's procfs, if possible.
112055         Idea and some code based on Ulrich Drepper's glibc changes.
112057         * lib/openat.c: (BUILD_PROC_NAME): New macro.
112058         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
112059         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
112060         before falling back on save_cwd and restore_cwd.
112061         (fdopendir, fstatat, unlinkat): Likewise.
112063         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
112064         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
112066         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
112067         as second argument to va_arg.  Otherwise, some versions of gcc
112068         warn that `if this code is reached, the program will abort'.
112070 2006-01-09  Jim Meyering  <jim@meyering.net>
112072         Sync from coreutils.
112073         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
112074         Require openat-priv.h.
112076 2006-01-09  Bruno Haible  <bruno@clisp.org>
112078         * modules/strnlen (Include): Use strnlen.h.
112080 2006-01-09  Bruno Haible  <bruno@clisp.org>
112082         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
112084 2006-01-09  Bruno Haible  <bruno@clisp.org>
112086         * lib/sysexit_.h (EX_OK): New macro.
112087         Suggested by Martin Lambers <marlam@marlam.de>.
112089 2006-01-09  Bruno Haible  <bruno@clisp.org>
112091         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
112092         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
112094 2006-01-09  Bruno Haible  <bruno@clisp.org>
112096         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
112097         numbers.
112099 2006-01-09  Bruno Haible  <bruno@clisp.org>
112101         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
112102         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
112103         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
112104         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
112106 2006-01-09  Bruno Haible  <bruno@clisp.org>
112108         * build-aux/javacomp.sh.in: New file, moved from lib/.
112109         * modules/javacomp-script (Files): Update.
112110         (configure.ac): Add AC_CONFIG_FILES invocation.
112111         (EXTRA_DIST): Remove variable.
112113         * build-aux/javaexec.sh.in: New file, moved from lib/.
112114         * modules/javaexec (Files): Update.
112115         (configure.ac): Add AC_CONFIG_FILES invocation.
112116         (EXTRA_DIST): Remove javaexec.sh.in.
112118         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
112119         * modules/csharpcomp-script (Files): Update.
112120         (configure.ac): Add AC_CONFIG_FILES invocation.
112121         (EXTRA_DIST): Remove variable.
112123         * build-aux/csharpexec.sh.in: New file, moved from lib/.
112124         * modules/csharpexec (Files): Update.
112125         (configure.ac): Add AC_CONFIG_FILES invocation.
112126         (EXTRA_DIST): Remove csharpexec.sh.in.
112128 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
112130         Sync from coreutils.
112132         Add POSIX ACL support
112133         * lib/acl.h (copy_acl, set_acl): Add declarations.
112134         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
112135         systems other than Linux.
112136         (chmod_or_fchmod): New function: use fchmod when possible,
112137         and chmod otherwise.
112138         (file_has_acl): Add a POSIX ACL implementation, with a
112139         Linux-specific subcase.
112140         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
112141         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
112142         acls are unsupported.
112143         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
112144         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
112145         are unsupported.
112147 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
112149         Sync from coreutils.
112150         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
112152 2006-01-07  Bruno Haible  <bruno@clisp.org>
112154         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
112155         gl_EARLY.
112157 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
112159         * lib/strftime.c (tzname): Don't declare if it is already #defined.
112160         Problem reported for Mingw by Mark Junker.
112162 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
112164         * README: Gnulib normally doesn't generate a tarball.
112166 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
112168         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
112169         long int, not int, for nanosecond counts, so that people who are
112170         used to POSIX struct timespec won't be surprised.  Reported by Jim
112171         Meyering.
112173 2005-12-28  Bruno Haible  <bruno@clisp.org>
112175         * build-aux/config.rpath: Update from GNU gettext.
112177 2005-12-16  Jim Meyering  <jim@meyering.net>
112179         * modules/fprintftime: New module.
112180         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
112182 2005-12-16  Jim Meyering  <jim@meyering.net>
112184         * m4/fprintftime.m4: New file.
112186 2005-12-16  Jim Meyering  <jim@meyering.net>
112188         * lib/fprintftime.c, lib/fprintftime.h: New files.
112190 2005-12-15  Simon Josefsson  <jas@extundo.com>
112192         * modules/socklen (configure.ac): Fix M4 macro name, to align with
112193         new m4/socklen.m4.
112195 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
112197         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
112198         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
112200 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
112202         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
112203         * lib/argp-help.c (fill_in_uparams): Check if the constructed
112204         struct uparams is valid. Fall back to the default values if it is
112205         not.
112207 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112209         * modules/argp (Files): Add argp-pin.c
112210         (Depends-on): dirname
112211         (lib_SOURCES): Add argp-pin.c
112213 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112215         * m4/argp.m4:  Check if program_invocation_name and
112216         program_invocation_short_name are declared and define appropriate
112217         macros if they are not.
112219 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
112221         * lib/argp-help.c (__argp_base_name): New function
112222         (__argp_short_program_name): Rewrite using __argp_base_name
112223         * lib/argp-namefrob.h: Define program_invocation_name and
112224         program_invocation_short_name if requested
112225         (__argp_base_name): Add prototype
112226         * lib/argp-parse.c (argp_def): Use gettext wrappers
112227         (argp_default_parser): Use __argp_base_name
112228         * lib/argp-pin.c: New file. Defines program_invocation_name and
112229         program_invocation_short_name on systems that lack them.
112231 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
112233         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
112234         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
112235         porting problem reported by Georg Schwarz in
112236         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
112238 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
112240         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
112241         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
112242         porting problem reported by Georg Schwarz in
112243         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
112245 2005-12-05  Bruno Haible  <bruno@clisp.org>
112247         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
112248         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
112249         Reported by Mark Junker <mjscod@gmx.de>.
112251 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
112253         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
112254         Use implementation from Albert Chin, with some
112255         comments/corrections by Stepan Kasal and myself.
112257 2005-12-02  Bruno Haible  <bruno@clisp.org>
112259         * gnulib-tool (func_import): Accept GPLed build tool modules when
112260         --lgpl is given.
112261         * modules/csharpcomp-script: New file.
112262         * modules/csharpcomp: Depend on it.
112263         * modules/javacomp-script: New file.
112264         * modules/javacomp: Depend on it.
112265         Suggested by Simon Josefsson.
112267 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
112269         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
112270         statement, to work around an HP-UX 10.20 compiler bug reported by
112271         Peter O'Gorman.
112273 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
112275         * modules/savedir (Depends-on): Add openat.
112277 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
112279         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
112280         (uintmax_t) [defined uintmax_t]: Do not declare.
112281         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
112282         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
112283         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
112284         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
112285         sake of portability to weird hosts that C allows (though we don't
112286         know of any practical examples).
112288         * lib/savedir.h (fdsavedir): New decl.
112289         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
112290         contains most of the former guts of savedir.
112291         (savedir): Use savedirstream.
112292         Include "openat.h".
112294 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
112296         * modules/obstack (Files): Add m4/ulonglong.m4.
112297         Problem reported by Davide Angelocola.
112299 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
112301         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
112302         coreutils no longer futzes with rounding modes.
112304 2005-11-14  Jim Meyering  <jim@meyering.net>
112306         * lib/mkstemp-safer.c: Include <config.h>, required for possible
112307         replacement of mkstemp.
112309 2005-11-10  Simon Josefsson  <jas@extundo.com>
112311         * lib/readline.c: Remove EOL.
112313 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
112315         * modules/gethrxtime (Depends-on): Add gettime.
112317 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
112319         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
112320         or gettimeofday; no longer needed.
112322 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
112324         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
112325         time business.
112326         (gethrxtime) [! (HAVE_NANOUPTIME
112327         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
112328         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
112329         our own approximation.
112331 2005-11-08  Eric Blake  <ebb9@byu.net>
112333         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
112335 2005-11-08  Eric Blake  <ebb9@byu.net>
112337         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
112339 2005-11-04  Bruno Haible  <bruno@clisp.org>
112341         * gnulib-tool: Implement --update mode.
112343 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
112345         Fix porting problem reported by Theodoros V. Kalamatianos.
112346         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
112347         Don't assume that futimes failing means we must fail.
112349 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
112351         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
112352         variables to suggest the intended function of the PATH_MAX check.
112354 2005-10-30  Kean Johnston  <jkj@sco.com>
112356         Trivial changes to support SCO systems.
112357         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
112358         as PATH_MAX.
112359         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
112360         where __ptr is null when no I/O is pending.
112362 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
112364         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
112365         leave errno alone.  Problem reported by Dmitry V. Levin.
112367 2005-10-28  Simon Josefsson  <jas@extundo.com>
112369         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
112370         Test more.
112372         * tests/test-gc-md2.c, tests/test-md2.c: New files.
112374         * modules/md2, modules/md2-tests: New files.
112376 2005-10-28  Simon Josefsson  <jas@extundo.com>
112378         * m4/inet_ntop.m4: More tests.
112380         * m4/gc-md2.m4, md2.m4: New file.
112382 2005-10-28  Simon Josefsson  <jas@extundo.com>
112384         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
112385         "restrict" keywords, as per POSIX.  Protect the function
112386         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
112387         Don't use K&R prototypes.  Check the sprintf return values.
112388         Re-define EAFNOSUPPORT if not present.  Indent.
112390         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
112391         suggested by Bruno Haible <bruno@clisp.org>.
112393         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
112395         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
112397         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
112398         libgcrypt).
112400         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
112402         * lib/md2.h, lib/md2.c: New files.
112404 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
112406         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
112407         errno alone.  Problem reported by Frederic Jolliton.
112409 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
112411         * modules/verify (License): Change from GPL to LGPL.  This is a
112412         tiny module and there are apparently near-equivalents that are
112413         under the BSD license.
112415 2005-10-24  Simon Josefsson  <jas@extundo.com>
112417         * modules/sha1: Relicense to LGPL.
112419 2005-10-24  Simon Josefsson  <jas@extundo.com>
112421         * lib/md4.h: Shrink buffer size, now that we changed the type.
112423 2005-10-23  Simon Josefsson  <jas@extundo.com>
112425         * gnulib-tool (func_import): Fix --tests-base.
112427 2005-10-22  Simon Josefsson  <jas@extundo.com>
112429         * modules/arcfour (Depends-on): Need stdint.
112431 2005-10-22  Simon Josefsson  <jas@extundo.com>
112433         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
112434         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
112436 2005-10-22  Simon Josefsson  <jas@extundo.com>
112438         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
112439         suggested by Bruno Haible <bruno@clisp.org>.
112441 2005-10-22  Simon Josefsson  <jas@extundo.com>
112443         * lib/crc.h: Include stddef.h, for size_t.
112445 2005-10-22  Simon Josefsson  <jas@extundo.com>
112447         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
112448         arcfour_context struct (simplify test vector testing in GNU
112449         Shishi).
112451 2005-10-21  Simon Josefsson  <jas@extundo.com>
112453         * modules/des, modules/des-tests: New files.
112455         * modules/gc-des, modules/gc-des-tests: New files.
112457         * tests/test-des.c, tests/test-gc-des.c: New file.
112459 2005-10-21  Simon Josefsson  <jas@extundo.com>
112461         * modules/arctwo, modules/arctwo-tests: New files.
112463         * tests/test-arctwo.c: New file.
112465         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
112467         * tests/test-gc-arctwo.c: New file.
112469 2005-10-21  Simon Josefsson  <jas@extundo.com>
112471         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
112472         Bruno Haible <bruno@clisp.org>.
112474         * m4/gc-des.m4: New file.
112476 2005-10-21  Simon Josefsson  <jas@extundo.com>
112478         * m4/arctwo.m4: New file.
112480         * m4/gc-arctwo.m4: New file.
112482 2005-10-21  Simon Josefsson  <jas@extundo.com>
112484         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
112485         block.
112487 2005-10-21  Simon Josefsson  <jas@extundo.com>
112489         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
112490         <bruno@clisp.org>.
112492         * lib/hmac-sha1.c (hmac_sha1): Likewise.
112494         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
112495         Bruno Haible <bruno@clisp.org>.
112497         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
112498         <bruno@clisp.org>.
112500 2005-10-21  Simon Josefsson  <jas@extundo.com>
112502         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
112504 2005-10-21  Simon Josefsson  <jas@extundo.com>
112506         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
112508 2005-10-21  Simon Josefsson  <jas@extundo.com>
112510         * lib/des.h, lib/des.c: New files.
112512         * lib/gc-gnulib.c: Support DES.c
112514 2005-10-21  Simon Josefsson  <jas@extundo.com>
112516         * lib/arctwo.h, lib/arctwo.c: New files.
112518         * lib/gc-gnulib.c: Support ARCTWO.
112520 2005-10-21  Simon Josefsson  <jas@extundo.com>
112522         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
112523         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
112525 2005-10-21  Simon Josefsson  <jas@extundo.com>
112527         * gnulib-tool (func_import, func_create_testdir): Define automake
112528         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
112529         Makefile.am snippet),
112530         suggested by Bruno Haible <bruno@clisp.org>.
112532         * modules/gc (Makefile.am): Use it.
112534 2005-10-21  Bruno Haible  <bruno@clisp.org>
112536         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
112537         patch.
112539 2005-10-19  Simon Josefsson  <jas@extundo.com>
112541         * tests/test-gc-rijndael.c: New file.
112543         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
112545 2005-10-19  Simon Josefsson  <jas@extundo.com>
112547         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
112548         interface too.
112550 2005-10-19  Simon Josefsson  <jas@extundo.com>
112552         * tests/test-gc-arcfour.c: New file.
112554         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
112556 2005-10-19  Simon Josefsson  <jas@extundo.com>
112558         * modules/gc-md4, modules/gc-md4-tests: New file.
112560         * tests/test-gc-md4.c: New file.
112562 2005-10-19  Simon Josefsson  <jas@extundo.com>
112564         * m4/gc-md4.m4: New file.
112566 2005-10-19  Simon Josefsson  <jas@extundo.com>
112568         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
112569         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
112570         <kasal@ucw.cz>.
112572 2005-10-19  Simon Josefsson  <jas@extundo.com>
112574         * m4/gc-arcfour.m4: New file.
112576         * m4/gc-rijndael.m4: New file.
112578 2005-10-19  Simon Josefsson  <jas@extundo.com>
112580         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
112582 2005-10-19  Simon Josefsson  <jas@extundo.com>
112584         * lib/gc-gnulib.c: Support ARCFOUR.
112586 2005-10-19  Simon Josefsson  <jas@extundo.com>
112588         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
112589         support.
112591         * lib/gc.h: Add ECB enum type.
112593         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
112595 2005-10-18  Simon Josefsson  <jas@extundo.com>
112597         * tests/test-md5.c: New file.
112599         * modules/md5-tests: New file.
112601 2005-10-18  Simon Josefsson  <jas@extundo.com>
112603         * tests/test-md4.c: New file.
112605         * modules/md4, modules/md4-tests: New files.
112607 2005-10-18  Simon Josefsson  <jas@extundo.com>
112609         * m4/md4.m4: New file.
112611 2005-10-18  Simon Josefsson  <jas@extundo.com>
112613         * lib/md4.h, lib/md4.c: New files, based on md5.?.
112615 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
112617         * gnulib-tool (func_create_testdir): Omit the second check whether
112618         BUILT_SOURCES in nonempty.
112620 2005-10-17  Simon Josefsson  <jas@extundo.com>
112622         * tests/test-rijndael.c: New file.
112624 2005-10-17  Simon Josefsson  <jas@extundo.com>
112626         * modules/sha1: Depend on stdint instead of md5.
112628         * modules/md5: Depend on stdint, remove uint32_t.
112630 2005-10-17  Simon Josefsson  <jas@extundo.com>
112632         * modules/gc-sha1-tests: New file.
112634         * tests/test-gc-sha1.c: New file.
112636 2005-10-17  Simon Josefsson  <jas@extundo.com>
112638         * m4/md5.m4: Remove call to uint32_t.m4.
112640 2005-10-17  Simon Josefsson  <jas@extundo.com>
112642         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
112644         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
112645         md5.h.
112647         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
112649         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
112651 2005-10-17  Simon Josefsson  <jas@extundo.com>
112653         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
112655 2005-10-17  Simon Josefsson  <jas@extundo.com>
112657         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
112659 2005-10-17  Simon Josefsson  <jas@extundo.com>
112661         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
112663         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
112665 2005-10-17  Bruno Haible  <bruno@clisp.org>
112667         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
112668         that it can also be used in a test.
112670 2005-10-16  Bruno Haible  <bruno@clisp.org>
112672         * gnulib-tool (func_emit_tests_Makefile_am): Also define
112673         TESTS_ENVIRONMENT, so that individual tests can augment it.
112675         * gnulib-tool (func_create_testdir): Use an intermediate target for
112676         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
112677         macros, like $(ALLOCA_H), which cannot be passed through the command
112678         line.
112680 2005-10-15  Simon Josefsson  <jas@extundo.com>
112682         * modules/rijndael-tests: New file.
112684         * modules/rijndael: New file.
112686 2005-10-15  Simon Josefsson  <jas@extundo.com>
112688         * m4/rijndael.m4: New file.
112690 2005-10-15  Simon Josefsson  <jas@extundo.com>
112692         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
112694         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
112696 2005-10-14  Simon Josefsson  <jas@extundo.com>
112698         * tests/test-arcfour.c: New file.
112700         * modules/arcfour, modules/arcfour-tests: New files.
112702 2005-10-14  Simon Josefsson  <jas@extundo.com>
112704         * m4/arcfour.m4: New file.
112706 2005-10-14  Simon Josefsson  <jas@extundo.com>
112708         * lib/arcfour.h, lib/arcfour.c: New files.
112710 2005-10-14  Roland McGrath  <roland@redhat.com>
112712         Import from libc.  [BZ #1331]
112713         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
112714         macro argument.
112715         Reported by Matej Vela <vela@debian.org>.
112717 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112719         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
112720         include <wchar.h>; no longer needed.
112722 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
112724         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
112726 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
112727         and  Ulrich Drepper  <drepper@redhat.com>
112729         Import from libc.
112730         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
112731         instead of inline stream orientation test and two separate
112732         function calls.  Pay no attention to USE_IN_LIBIO.
112734 2005-10-13  Simon Josefsson  <jas@extundo.com>
112736         * modules/gc-hmac-md5-tests: New file.
112738         * tests/test-gc-hmac-sha1.c: New file.
112740         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
112742         * modules/gc-hmac-md5-tests: New file.
112744         * tests/test-gc-md5.c: New file.
112746         * modules/gc-md5-tests: New file.
112748 2005-10-13  Simon Josefsson  <jas@extundo.com>
112750         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
112751         Move memory allocation outside of loop.
112753 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
112755         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
112756         intermediate directory is in a read-only file system.  Problem
112757         reported by Eric Blake.
112759 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
112761         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
112763 2005-10-12  Simon Josefsson  <jas@extundo.com>
112765         * tests/test-hmac-sha1.c: New file.
112767         * modules/hmac-sha1-tests: New file.
112769         * modules/hmac-sha1: New file.
112771 2005-10-12  Simon Josefsson  <jas@extundo.com>
112773         * modules/gc-sha1: New file.
112775 2005-10-12  Simon Josefsson  <jas@extundo.com>
112777         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
112779         * tests/test-gc-pbkdf2-sha1.c: New file.
112781 2005-10-12  Simon Josefsson  <jas@extundo.com>
112783         * modules/gc-md5, modules/gc-hmac-md5: New files.
112785         * modules/gc (Files): Remove md5, memxor and hmac files.
112787 2005-10-12  Simon Josefsson  <jas@extundo.com>
112789         * m4/gc-pbkdf2-sha1.m4: New file.
112791         * m4/gc-hmac-sha1.m4: New file.
112793         * m4/gc-sha1: New file.
112795         * m4/hmac-sha1.m4: New file.
112797 2005-10-12  Simon Josefsson  <jas@extundo.com>
112799         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
112801         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
112803 2005-10-12  Simon Josefsson  <jas@extundo.com>
112805         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
112806         suggested by Bruno Haible <bruno@clisp.org>.
112808 2005-10-12  Simon Josefsson  <jas@extundo.com>
112810         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
112812 2005-10-12  Simon Josefsson  <jas@extundo.com>
112814         * lib/gc-pbkdf2-sha1.c: New file.
112816         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
112818 2005-10-12  Simon Josefsson  <jas@extundo.com>
112820         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
112822         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
112824 2005-10-12  Simon Josefsson  <jas@extundo.com>
112826         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
112827         GC_USE_HMAC_MD5, respectively.
112829         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
112830         (gc_md5): Fix typo.
112832         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
112834         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
112836         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
112838 2005-10-12  Bruno Haible  <bruno@clisp.org>
112840         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
112841         Reported by Stepan Kasal <kasal@ucw.cz>.
112843 2005-10-11  Simon Josefsson  <jas@extundo.com>
112845         * tests/test-crc.c: New file.
112847         * modules/crc, modules/crc-tests: New files.
112849 2005-10-11  Simon Josefsson  <jas@extundo.com>
112851         * m4/crc.m4: New file.
112853 2005-10-11  Simon Josefsson  <jas@extundo.com>
112855         * lib/gc.h: Add gc_hash and gc_hash_buffer.
112857         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
112859         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
112861 2005-10-11  Simon Josefsson  <jas@extundo.com>
112863         * lib/crc.h, lib/crc.c: New files.
112865         * lib/gc.h (gc_hash_buffer): Add doc.
112867 2005-10-11  Bruno Haible  <bruno@clisp.org>
112869         * modules/c-strcasestr: New file.
112870         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
112872 2005-10-11  Bruno Haible  <bruno@clisp.org>
112874         * modules/c-strcase: New file.
112875         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
112877 2005-10-11  Bruno Haible  <bruno@clisp.org>
112879         * lib/strcasecmp.c: Include limits.h.
112880         (strcasecmp): Avoid integer overflow on exotic platforms.
112881         * lib/strncasecmp.c: Include limits.h.
112882         (strncasecmp): Avoid integer overflow on exotic platforms.
112883         Reported by Paul Eggert.
112885 2005-10-11  Bruno Haible  <bruno@clisp.org>
112887         * lib/c-strcasestr.h: New file, from GNU gettext.
112888         * lib/c-strcasestr.c: New file, from GNU gettext.
112890 2005-10-11  Bruno Haible  <bruno@clisp.org>
112892         * lib/c-strcase.h: New file, from GNU gettext.
112893         * lib/c-strcasecmp.c: New file, from GNU gettext.
112894         * lib/c-strncasecmp.c: New file, from GNU gettext.
112896 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112898         * modules/mempcpy (License): GPL -> LGPL.
112899         * modules/strchrnul (License): Likewise.
112900         * modules/sysexits (License): Likewise.
112902 2005-10-08  Simon Josefsson  <jas@extundo.com>
112904         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
112906 2005-10-07  Simon Josefsson  <jas@extundo.com>
112908         * m4/memxor.m4: Remove gl_C_RESTRICT call.
112910 2005-10-06  Simon Josefsson  <jas@extundo.com>
112912         * tests/test-hmac-md5.c: New file.
112914         * modules/hmac-md5-tests: New file.
112916         * modules/hmac-md5: New file.
112918 2005-10-06  Simon Josefsson  <jas@extundo.com>
112920         * m4/hmac-md5.m4: New file.
112922         * m4/memxor.m4: Require gl_C_RESTRICT.
112924 2005-10-06  Simon Josefsson  <jas@extundo.com>
112926         * lib/memxor.c (memxor): Avoid casts and warnings.
112928 2005-10-06  Simon Josefsson  <jas@extundo.com>
112930         * lib/hmac-md5.c: New file.
112932         * lib/hmac.h: New file.
112934 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112936         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
112937         promotes to int, not unsigned int, to catch the AIX 5.3
112938         compiler bug.
112940 2005-10-05  Simon Josefsson  <jas@extundo.com>
112942         * modules/memxor: New file.
112944         * modules/iconv (Files): Move config.rpath to havelib, it is used
112945         there.
112947         * modules/havelib (Files): Add config.rpath.
112949 2005-10-05  Simon Josefsson  <jas@extundo.com>
112951         * m4/memxor.m4: New file.
112953 2005-10-05  Simon Josefsson  <jas@extundo.com>
112955         * lib/memxor.c (memxor): Fix compiler error.
112957         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
112958         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
112960         * lib/memxor.h, lib/memxor.c: New files.
112962         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
112963         we assume all systems have it, suggested by Jim Meyering
112964         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
112965         any systems lack sys/socket.h; mingw32 is known to lack it, but we
112966         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
112967         same reasons.
112969 2005-10-05  Simon Josefsson  <jas@extundo.com>
112971         * config/srclist.txt: Add glibc bug 1423 for md5.h.
112973 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
112975         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
112976         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
112977         needed, since the source code now assumes these .h files.
112979 2005-10-05  Derek Price  <derek@ximbiot.com>
112981         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
112983 2005-10-05  Bruno Haible  <bruno@clisp.org>
112985         * modules/stdint (License): Change to LGPL.
112987 2005-10-04  Simon Josefsson  <jas@extundo.com>
112989         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
112990         D. Baushke" <mdb@gnu.org>.
112992 2005-10-04  Bruno Haible  <bruno@clisp.org>
112994         * lib/verify.h (verify_true): Provide alternative definition for C++.
112996 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
112998         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
112999         (SSIZE_MAX): New macro, if not already defined.
113000         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
113001         than 2 GiB.
113003 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
113005         Sync from coreutils.
113006         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
113007         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
113008         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
113009         ULLONG_MAX doesn't work with 2.7.2.1.
113011 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
113013         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
113014         From Ben Pfaff.
113016         * modules/exclude (Depends-on): Depend on verify.
113017         * modules/strtoimax (Depends-on): Likewise.
113018         * modules/utimecmp (Depends-on): Likewise.
113020 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
113022         * lib/exclude.c: Include verify.h.
113023         (verify): Remove.  All callers changed to use verify.h's version.
113024         * lib/strtoimax.c: Likewise.
113025         * lib/utimecmp.c: Likewis.e
113027         Sync from coreutils.
113028         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
113029         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
113030         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
113031         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
113032         bother returning ENOSYS if settimeofday or stime fails; just let
113033         them return whatever errno they want to return.
113034         * lib/utimens.c: Include unistd.h, for dup2.
113035         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
113036         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
113038 2005-10-02  Jim Meyering  <jim@meyering.net>
113040         Sync from coreutils.
113041         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
113042         from glibc-2.2.5 that fails for read-only files.
113044 2005-10-02  Jim Meyering  <jim@meyering.net>
113046         Sync from coreutils.
113047         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
113048         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
113049         `#if HAVE_CONFIG_H'.
113050         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
113051         Remove AT_FDCWD test.
113052         Do not consume the fd unless successful.
113053         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
113054         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
113055         block, so that we don't even try to compile it if settimeofday is
113056         available.  This works around a compilation failure on OSF1 V5.1,
113057         due to stime requiring a `long int*' while tv_sec is `int'.
113059 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
113061         Sync from coreutils.
113062         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
113063         against `yes', rather than just testing for nonempty.
113065 2005-10-01  Simon Josefsson  <jas@extundo.com>
113067         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
113068         and Darwin.
113070         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
113071         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
113072         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
113073         freeaddrinfo and gai_strerror are declared by the POSIX headers.
113074         Check if struct addrinfo is declared.
113076 2005-10-01  Simon Josefsson  <jas@extundo.com>
113078         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
113079         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
113080         AI_* and EAI_* definitions.  Protect function declarations.
113082 2005-10-01  Jim Meyering  <jim@meyering.net>
113084         Sync from coreutils.
113086         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
113087         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
113088         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
113089         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
113090         in the inet and nsl libraries.  Required on Solaris 5.7.
113092 2005-10-01  Jim Meyering  <jim@meyering.net>
113094         Sync from coreutils.
113095         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
113096         in the inet and nsl libraries.  Required on Solaris 5.7.
113098 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
113100         * lib/getdelim.c (getdelim): Remove unused variables.
113102 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
113104         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
113105         so that the code works even with ancient cpp.  Portability problem
113106         with GCC 2.7.2.1 reported by Thomas M.Ott.
113108 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
113110         * modules/regex (Depends-on): Add strcase.
113112         * modules/gethostname (Licence): Change from GPL to LGPL, since
113113         gethostname.c is a trivial implementation of a standard library
113114         function.
113115         * modules/poll (License): Change from GPL to LGPL, since it's
113116         derived from LGPL code.
113118 2005-09-27  Jim Meyering  <jim@meyering.net>
113120         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
113121         HAVE_CONFIG_H.
113123         * lib/intprops.h (signed_type_or_expr__): Define.
113124         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
113125         for unsigned types.
113127 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
113129         * lib/verify.h (verify_expr): Remove, replacing with:
113130         (verify_true): New macro that returns true instead of void.
113131         (verify_type__): Remove.
113132         (verify): Use verify_true rather than verify_type__.
113134 2005-09-26  Bruno Haible  <bruno@clisp.org>
113136         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
113137         is necessary.
113138         (lib_SOURCES): Remove mbchar.c.
113139         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
113140         (Files): Add m4/mbrtowc.m4.
113141         * modules/mbiter: Likewise.
113142         * modules/mbuiter: Likewise.
113144 2005-09-26  Bruno Haible  <bruno@clisp.org>
113146         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
113147         compile mbchar.c if they are not both present.
113148         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
113149         * m4/mbiter.m4 (gl_MBITER): Likewise.
113150         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
113151         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
113152         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
113154 2005-09-25  Jim Meyering  <jim@meyering.net>
113156         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
113157         also uses socklen_t.
113159 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
113161         * lib/utimens.c (ENOSYS): Define if not already defined.
113162         (futimens): Support having a null PATH if the file descriptor
113163         is nonnegative.
113165         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
113166         Remove.
113167         (__attribute): Define to empty unless GCC 3.1 or later.
113168         This works around a core dump on OpenBSD 3.4, which has GCC
113169         2.95.3, which dumps core when given __attribute__(()).  It also
113170         simplifies other tests, since we really don't want to bother with
113171         worrying about which ancient version of GCC supported what.
113172         Original problem reported by Yoann Vandoorselaere, with part of
113173         the fix suggested by Derek Price.
113175 2005-09-24  Jim Meyering  <jim@meyering.net>
113177         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
113178         so we can once again use a positive bitfield width of 1 -- now we
113179         don't have to explain why we were using a bitfield width of 2.
113181 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
113183         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
113184         and similarly for the other external symbols.  Problem reported
113185         by James Gallager.
113187         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
113188         bug reported by Jim Meyering.
113190         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
113191         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
113192         not needed, since socklen is a prerequisite module.
113194 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
113196         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
113197         Problem reported by Eric Blake.
113198         (getaddrinfo): Initialize se so that it's not garbage.
113199         Redo internal storage allocation so that it doesn't make unportable
113200         assumptions about alignment.
113201         Fix a memory leak.
113203         * lib/utimens.c (futimens): Use futimesat if available.
113204         Prefer it to futimes since it doesn't have the futimes bug.
113206         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
113207         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
113208         Instead, declare a function that returns a pointer to an array,
113209         and use verify_type__ to declare the size of the array.
113210         Problem and germ of a solution reported by Bruno Haible.
113211         (verify_type__): Use 2, not 1, for bitfield size, to avoid
113212         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
113214 2005-09-23  Jim Meyering  <jim@meyering.net>
113216         Sync from coreutils.
113217         Correct build failure (socklen_t not defined) on at least
113218         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
113219         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
113221 2005-09-23  Jim Meyering  <jim@meyering.net>
113223         * modules/getaddrinfo (Depends-on): Add socklen.
113225 2005-09-23  Bruno Haible  <bruno@clisp.org>
113227         * tests/test-verify.c: New file.
113229 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
113231         Sync from coreutils.
113233         * modules/argmatch (Depends-on): Add verify.
113234         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
113235         unistd-safer.
113236         * modules/save-cwd (Depends-on): Likewise.
113238         * modules/openat (Files): Add lib/openat-die.c.
113239         (Depends-on): Remove error, exitfail.
113240         Add dirname.
113242         * modules/verify: New file.
113243         * MODULES.html.sh (Diagnostics <assert.h>): New section,
113244         with "verify" module.
113246 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
113248         Sync from coreutils.
113250         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
113251         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
113252         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
113253         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
113254         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
113255         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
113256         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
113257         Don't bother checking for string.h, stdlib.h, unistd.h.
113258         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
113259         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
113260         module's job.
113261         * m4/jm-macros.m4 (gl_MACROS): Likewise.
113262         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
113264         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
113265         (gl_GETDATE): Use it.
113267         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
113269 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
113271         Sync from coreutils.
113273         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
113274         stat-time.h.
113275         * lib/argmatch.h: Include verify.h
113276         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
113277         (ARGMATCH_ASSERT): Remove; unused.
113278         * lib/canonicalize.c: Assume STDC_HEADERS.
113279         * lib/exclude.c: Include "strcase.h".
113280         * lib/regex_internal.h [!defined _LIBC]: Likewise.
113281         * lib/getusershell.c: Include stdio--.h rather than stdio.h
113282         and stdio-safer.h.
113283         (getusershell): Call fopen, not fopen_safer.
113284         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
113285         Do not include unistd-safer.h.
113286         (save_cwd): Don't call fd_safer; no longer needed
113287         now that we include fcntl--.h.
113289         * lib/getdate.y (relative_time): New type.
113290         (RELATIVE_TIME_0): New constant.
113291         (parser_control): Use relative_time instead of doing it ourselves.
113292         (%union): Add new relative_time rel member.
113293         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
113294         Now typeless.
113295         (relunit, relunit_snumber): Now of type rel.
113296         (zone, rel, relunit, get_date): Adjust to above changes.
113298         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
113299         Do not include unistd-safer.h.
113300         (getloadavg): Don't call fd_safer; no longer needed
113301         now that we include fcntl--.h.
113303         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
113304         (make_dir_parents): Treat ENOSYS like EEXIST.
113306         Improve quality of diagnostics on restore_cwd failure.
113307         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
113308         (make_dir_parents): Last arg is now int * (for errno), not bool *.
113309         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
113310         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
113311         each time through the loop.  Do not diagnose restore_cwd failure;
113312         that is the caller's job (and perhaps the caller does not care).
113314         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
113315         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
113316         If the file already exists but is not a directory, don't bother
113317         to try to make its parents.
113318         Close potential file descriptor leak if we can't chdir("/") (!).
113319         Don't always return true if chdir($PWD) fails; return true only
113320         if the requested action was done successfully (except for the
113321         chdir($PWD)).
113322         Don't log final directory unless we actually made it.
113323         Refactor to avoid duplicate code to fix up permissions.
113324         Don't attempt to fix up parent permissions if chdir($PWD) fails.
113326         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
113327         to make it a bit faster and (I hope) clearer.
113328         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
113329         Fix bug in formats like %2N.
113331         * lib/verify.h: New file.
113333 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
113335         Sync from coreutils.
113336         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
113338 2005-09-22  Jim Meyering  <jim@meyering.net>
113340         Sync from coreutils.
113342         * m4/lstat.m4 (gl_FUNC_LSTAT):
113343         Use AC_LIBSOURCES to require lstat.c and lstat.h.
113344         Remove obsolete comment.
113345         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
113346         * m4/xstrtod.m4: Likewise.
113348         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
113350 2005-09-22  Jim Meyering  <jim@meyering.net>
113352         Sync from coreutils.
113354         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
113356         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
113357         the .tm_year member, since otherwise gcc-4.0 would now warn about
113358         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
113360         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
113361         order to avoid an unsuppressible warning from gcc on 64-bit systems.
113363         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
113364         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
113365         when run in a time zone for which daylight savings time is in effect
113366         for the starting date.
113368         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
113369         stop us from restricting permissions of just-created absolute-named
113370         directories.
113371         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
113372         to restore initial working directory.
113373         * lib/mkdir-p.c (make_dir_parents): New parameter:
113374         different_working_dir, to tell caller if/when we change the working
113375         directory and are unable to return to the initial one.
113376         * lib/mkdir-p.h (make_dir_parents): Update prototype.
113377         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
113378         `return false'.  This fixes a bug introduced on 2004-07-30.
113380         * lib/openat.c (fdopendir): Be sure to close the supplied
113381         file descriptor before returning.  This makes our replacement
113382         implementation a little closer to Solaris's, where fdopendir
113383         ties the file descriptor to the returned DIR* pointer.
113384         * lib/openat.c (unlinkat): New function.
113385         * lib/openat.h (unlinkat): Add prototype.
113386         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
113387         (openat_restore_fail): Rename from openat_restore_die.
113388         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
113390         Provide an alternative to exiting immediately upon save_cwd or
113391         restore_cwd failure.  Now, an application can arrange e.g.,
113392         to perform a longjump in that case.
113393         * lib/openat.c: Include dirname.h.
113394         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
113395         (rpl_openat, fdopendir, fstatat): Call openat_save_die
113396         and openat_restore_die rather than calling error directly.
113397         Don't include "error.h" or "exitfail.h"; they're no longer needed.
113399         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
113400         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
113401         define.
113403         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
113404         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
113405                             int utc, int nanoseconds);
113406         Background:
113407         date should not have to allocate a megabyte of virtual memory to
113408         handle a format argument like +%1048575T.  When implemented with
113409         strftime, it must allocate such a buffer, use strftime to fill it
113410         in, print it, then free it.
113411         With fprintftime, it simply prints everything and exits.
113412         With no need for memory allocation, that's one fewer way to fail.
113413         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
113414         optional field width, not before, so we accept %9:z, not %:9z.
113415         (my_strftime): Be sure to use L_('x') for literals.
113417         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
113418         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
113419         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
113420         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
113421         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
113422         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
113423         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
113424         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
113425         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
113426         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
113427         * lib/xgethostname.c, lib/xreadlink.c:
113428         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
113430         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
113431         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
113432         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
113433         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
113434         and don't include <sys/file.h>).
113436 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
113438         Sync from coreutils.
113440         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
113441         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
113442         [!LDAV_DONE]: Avoid unused variable warning.
113444 2005-09-21  Bruno Haible  <bruno@clisp.org>
113446         * lib/unicodeio.h (unicode_to_mb): New declaration.
113448 2005-09-20  Derek Price  <derek@ximbiot.com>
113450         * lib/getaddrinfo.c: Don't include <netdb.h> included from
113451         getaddrinfo.h.
113453 2005-09-20  Bruno Haible  <bruno@clisp.org>
113455         * gnulib-tool: Remove trailing slashes from the values specified for
113456         --source-base, --m4-base, --tests-base, --aux-dir.
113457         Suggested by Simon Josefsson <jas@extundo.com>.
113459 2005-09-20  Bruno Haible  <bruno@clisp.org>
113461         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
113462         func_modules_to_filelist, func_import, func_create_testdir): Make all
113463         sorting results locale-independent, so that gnulib-cache.m4 doesn't
113464         change when gnulib-tool is invoked in a different locale.
113466 2005-09-19  Simon Josefsson  <jas@extundo.com>
113468         * m4/socklen.m4: Fix typo.
113470 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113472         Use a consistent style for including <config.h>.
113473         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
113474         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
113475         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
113476         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
113477         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
113478         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
113479         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
113480         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
113481         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
113482         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
113483         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
113484         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
113485         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
113486         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
113487         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
113488         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
113489         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
113490         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
113491         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
113492         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
113493         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
113494         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
113495         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
113496         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
113497         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
113498         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
113499         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
113500         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
113501         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
113502         lib/xstrtoumax.c, lib/yesno.c:
113503         Standardize inclusion of config.h.
113504         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
113505         lib/inttostr.h:  Removed inclusion of config.h from header files.
113506         * lib/inttostr.c:  Adjusted in-tree users.
113507         * lib/timespec.h: Remove superfluous warning to include config.h.
113508         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
113509         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
113510         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
113511         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
113512         config.h with HAVE_CONFIG_H.
113514 2005-09-19  Jim Meyering  <jim@meyering.net>
113516         * modules/pathmax (License): Change to LGPL.
113518 2005-09-19  Derek Price  <derek@ximbiot.com>
113520         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
113522 2005-09-19  Bruno Haible  <bruno@clisp.org>
113524         * gnulib-tool (import): Provide default for --tests-base.
113526 2005-09-19  Bruno Haible  <bruno@clisp.org>
113528         * doc/quote.texi: New file, extracted from gnulib.texi.
113529         * doc/ctime.texi: New file, extracted from gnulib.texi.
113530         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
113531         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
113532         * doc/gnulib.texi: Include them.
113534 2005-09-18  Bruno Haible  <bruno@clisp.org>
113536         Portability fix.
113537         * gnulib-tool (func_readlink): New function.
113538         (func_ln_if_changed): Use it.
113540 2005-09-18  Bruno Haible  <bruno@clisp.org>
113542         * gnulib-tool: Support --with-tests also with --import.
113543         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
113544         (func_import): Use variables $testsbase and $inctests. Emit a
113545         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
113546         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
113547         SUBDIRS += $testsdir.
113548         (func_create_testdir): Update.
113550 2005-09-18  Bruno Haible  <bruno@clisp.org>
113552         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
113553         instead of $dry_run.
113554         (func_cp_if_changed, func_mv_if_changed): Remove functions.
113555         (func_ln_if_changed): Don't handle dry-run here.
113556         (func_import): In dry-run mode, detect more precisely which actions
113557         would be performed, and don't use "...ing" verbs.
113559 2005-09-18  Bruno Haible  <bruno@clisp.org>
113561         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
113562         (func_import): Use join on two temporary files instead of three nested
113563         loops, in order to determine which files are new or old.
113565 2005-09-18  Bruno Haible  <bruno@clisp.org>
113567         * gnulib-tool (func_import): Comment out code that spits out the
113568         new files with --dry-run.
113570 2005-09-18  Bruno Haible  <bruno@clisp.org>
113572         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
113574 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
113576         * lib/stat-time.h: New file.
113577         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
113578         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
113579         in a different way.
113580         (timespec_cmp): New function.
113581         * lib/utimecmp.c: Include stat-time.h.
113582         (SYSCALL_RESOLUTION): Depend on whether various struct stat
113583         members exist, not on the obsolescent ST_MTIM_NSEC.
113584         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
113586 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
113588         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
113590 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
113592         * MODULES.html.sh (File system functions): Add stat-time.
113593         * modules/stat-time: New file.
113594         * modules/timespec (Files): Remove m4/st_mtim.m4; this
113595         is now done in a different way, by the stat-time module.
113596         * modules/utimecmp (Depends-on): Add stat-time.
113598 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
113600         * m4/st_mtim.m4: Remove.  Superseded by...
113601         * m4/stat-time.m4: New file.
113602         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
113603         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
113605 2005-09-15  Derek Price  <derek@ximbiot.com>
113607         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
113609 2005-09-15  Derek Price  <derek@ximbiot.com>
113611         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
113612         * lib/regex_internal.c: Ditto, using this...
113613         (__GNUC_PREREQ): ...new macro.
113614         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
113615         using...
113616         (__GNUC_PREREQ): ...this new macro.
113618         * lib/strstr.h: Include string.h. Define strstr as a macro here.
113620 2005-09-15  Derek Price  <derek@ximbiot.com>
113621             Paul Eggert  <eggert@cs.ucla.edu>
113623         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
113624         changes, consolidating in...
113625         * lib/regex_internal.h: ...this file.
113627 2005-09-13  Jim Meyering  <jim@meyering.net>
113629         * lib/canon-host.c: Filter through gnu indent and reword comments
113630         slightly.
113631         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
113633 2005-09-13  Derek Price  <derek@ximbiot.com>
113635         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
113636         failure.
113637         Reported by Jim Meyering  <jim@meyering.net>.
113639 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
113641         * lib/base64.c: Typo.
113642         (base64_encode): Put b64str in initialized data section.
113644 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
113646         Merge glibc and coreutils changes into gnulib, plus a few
113647         extra fixes.
113648         * lib/md5.c: Use #error rather than a string.
113649         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
113650         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
113651         (__attribute__): Define to empty for non recent-GCC.
113652         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
113653         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
113654         Renamed from their non-__ counterparts, with new macros replacing
113655         them if not _LIBC.  Add __THROW attribute.
113656         (rol): Remove.
113657         (struct md5_ctx): Align buffer if using GCC.
113658         * lib/sha1.h (struct sha1_ctx): Likewise.
113659         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
113660         The old name was backwards.
113661         (NOTSWAP): Remove; not used.
113662         (rol): New macro, moved here from md5.h.
113663         (sha1_process_block): Remove a FIXME that doesn't make sense.
113665 2005-09-12  Derek Price  <derek@ximbiot.com>
113667         Return usable errors from canon-host.
113668         * lib/canon-host.h: New file.
113669         * lib/canon-host.c (canon_host): Wrap...
113670         (canon_host_r): ...this new function, which now relies exclusively on
113671         getaddrinfo.
113672         (ch_strerror): New function.
113673         (last_cherror): New global.
113674         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
113675         interface.
113676         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
113677         void *.
113678         (freeaddrinfo): Free ai->ai_canonname when set.
113680 2005-09-12  Derek Price  <derek@ximbiot.com>
113682         Make canon-host require getaddrinfo.
113683         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
113684         AC_LIBSOURCE canon-host.h.  Call...
113685         (gl_PREREQ_CANON_HOST): ...this new function, which requires
113686         gl_GETADDRINFO.
113687         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
113689 2005-09-12  Derek Price  <derek@ximbiot.com>
113691         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
113692         LGPL.
113693         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
113695 2005-09-12  Derek Price  <derek@ximbiot.com>
113697         * lib/gai_strerror.c: Include config.h when available.  Include
113698         getaddrinfo.h before other headers to test interface.
113699         Reported by Larry Jones <lawrence.jones@ugs.com>.
113701 2005-09-12  Derek Price  <derek@ximbiot.com>
113702             Paul Eggert  <eggert@cs.ucla.edu>
113704         * modules/glob (Files): Add glob-libc.h.
113706 2005-09-12  Derek Price  <derek@ximbiot.com>
113707             Paul Eggert  <eggert@cs.ucla.edu>
113709         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
113710         glob_.h, glob-libc.h.
113711         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
113713 2005-09-12  Derek Price  <derek@ximbiot.com>
113714             Paul Eggert  <eggert@cs.ucla.edu>
113716         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
113717         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
113718         protecting things that should be done only in gnulib contexts.
113719         * lib/glob_.h: New file, containing only the glob things needed for
113720         gnulib.
113721         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
113722         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
113723         (glob, globfree, glob_pattern_p): Now defined simply in terms of
113724         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
113725         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
113726         and to respect the namespace rules better.
113728 2005-09-08  Simon Josefsson  <jas@extundo.com>
113730         * modules/socklen: New file.
113732 2005-09-08  Simon Josefsson  <jas@extundo.com>
113734         * m4/socklen.m4: New file.
113736 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113738         * modules/utimens (Files): Add m4/utimbuf.m4, since
113739         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
113740         Reported by Sergey Poznyakoff.
113742 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113744         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
113745         definitions, since that's the preferred style in glibc.
113746         Fix a minor spacing issue, and update copyright notice to match
113747         glibc's.
113749 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113751         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
113753 2005-09-06  Simon Josefsson  <jas@extundo.com>
113755         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
113756         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
113758 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
113760         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
113761         warning.
113763 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
113765         * config/srclist.txt: Add glibc bug 1302.
113767 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
113769         Change bitset word type from unsigned int to unsigned long int,
113770         as this has better performance on typical 64-bit hosts.
113771         Port bitset code to hosts with unusual word sizes.
113772         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
113773         (build_collating_symbol):
113774         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
113775         argument is a bitset.  This is merely a style issue, but it makes
113776         it clearer that an entire array is expected.
113777         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
113778         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
113779         Port to the case where bitset_word is not the same as unsigned int.
113780         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
113781         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
113782         Likewise.
113783         * lib/regexec.c (check_dst_limits_calc_pos_1,
113784         check_subexp_matching_top):
113785         (build_trtable, group_nodes_into_DFAstates):
113786         Likewise.
113787         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
113788         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
113789         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
113790         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
113791         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
113792         * lib/regcomp.c (optimize_subexps, lower_subexp):
113793         Work even if bitset_word has holes in its bitwise representation.
113794         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
113795         * lib/regexec.c (check_dst_limits_calc_pos_1,
113796         check_subexp_matching_top):
113797         Likewise.
113798         * lib/regex_internal.c (re_string_reconstruct):
113799         Don't assume UCHAR_MAX == 255.
113800         * lib/regex_internal.h (bitset_set_all): Likewise.
113801         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
113802         All uses changed.
113803         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
113804         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
113805         All uses changed.
113806         (BITSET_WORD_MAX): New macro.
113807         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
113808         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
113809         (bitset_empty, bitset_copy):
113810         Prefer sizeof (bitset) to multiplying it out ourselves.
113811         (bitset_not_merge): Remove; unused.
113812         (bitset_contain): Return bool, not unsigned int with one bit on.
113813         All callers changed.
113814         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
113815         alignment than re_node_set; do this by defining a new internal
113816         type struct dests_alloc and using it to allocate memory.
113818 2005-09-05  Bruno Haible  <bruno@clisp.org>
113820         * gnulib-tool (func_import): Fix comparison in handling of symbolic
113821         links.
113823 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
113825         * modules/size_max (Makefile.am): Add size_max.h
113827 2005-09-04  Derek Price  <derek@ximbiot.com>
113829         * gnulib-tool (func_import): Fix reversed $symbolic logic.
113831 2005-09-03  Simon Josefsson  <jas@extundo.com>
113833         * gnulib-tool: Fix typo.
113835 2005-09-03  Simon Josefsson  <jas@extundo.com>
113837         * config/srclist.txt: Add glibc bug 1293.
113839 2005-09-03  Derek Price  <derek@ximbiot.com>
113841         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
113842         From Larry Jones <lawrence.jones@ugs.com>.
113844 2005-09-02  Simon Josefsson  <jas@extundo.com>
113846         * modules/socklen: New file.
113848 2005-09-02  Simon Josefsson  <jas@extundo.com>
113850         * modules/havelib: New module.
113852         * modules/gettext, modules/iconv, modules/lock, modules/readline:
113853         Use havelib.
113855 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
113857         Check for arithmetic overflow when calculating sizes, to prevent
113858         some buffer-overflow issues.  These patches are conservative, in the
113859         sense that when I couldn't determine whether an overflow was possible,
113860         I inserted a run-time check.
113861         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
113862         macros.
113863         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
113864         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
113865         (re_xnrealloc, re_x2nrealloc): New inline functions.
113866         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
113867         parse_bracket_exp):
113868         (build_equiv_class, build_charclass): Check for arithmetic overflow
113869         in size expression calculations.
113870         * lib/regex_internal.c (re_string_realloc_buffers):
113871         (build_wcs_upper_buffer, re_node_set_add_intersect):
113872         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
113873         (re_dfa_add_node, register_state): Likewise.
113874         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
113875         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
113876         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
113877         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
113879 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
113881         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
113882         m4/ulonglong.m4.  Problem reported by Martin Lambers.
113884 2005-09-02  Bruno Haible  <bruno@clisp.org>
113886         Support for lib vs. lib64 distinction on biarch platforms.
113887         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
113888         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
113889         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
113891 2005-09-02  Bruno Haible  <bruno@clisp.org>
113893         * gnulib-tool (import): In the other first-use case, provide defaults
113894         as well.
113896 2005-09-02  Bruno Haible  <bruno@clisp.org>
113898         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
113899         patches not yet found in the latest gettext release.
113901 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113903         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
113904         to avoid a collision with bits/local_lim.h in glibc.
113905         All uses changed.  Problem reported by Dmitry V. Levin in
113906         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
113908         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
113909         bugs in int versus size_t comparisons.
113910         (re_string_context_at): Fix bug where the code assumed that
113911         Idx is signed.
113913         Use bool where appropriate.
113914         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
113915         All callers changed.
113916         (calc_eclosure_iter): Likewise, for ROOT arg.
113917         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
113918         (build_charclass_op): Likewise, for NON_MATCH arg.
113919         * lib/regex_internal.c (re_string_allocate, re_string_construct):
113920         (re_string_construct_common): Likewise, for ICASE arg.
113921         * lib/regexec.c (re_search_2_stub, re_search_stub):
113922         Likewise, for RET_LEN arg.
113923         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
113924         (set_regs): Likewise, for FL_BACKTRACK arg.
113925         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
113926         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
113927         (calc_eclosure_iter, parse_bracket_exp):
113928         Use bool for internal variables that are booleans.
113929         * lib/regexec.c (re_search_internal, check_matching,
113930         proceed_next_node):
113931         (set_regs, build_sifted_states, sift_states_bkref):
113932         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
113933         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
113934         (find_collation_sequence_value):
113935         Likewise.
113936         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
113937         (re_node_set_compare):
113938         Return bool, not int. All callers changed.
113939         * lib/regexec.c (check_halt_node_context, check_dst_limits):
113940         (build_trtable, check_node_accept): Likewise.
113941         * lib/regex_internal.h: Include stdbool.h.
113943         Fix bugs uncovered when converting to bool.
113944         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
113945         failure instead of charging ahead blindly.
113946         * lib/regex_internal.c (register_state): Likewise.
113947         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
113948         for freeing internal storage.
113949         (group_nodes_into_DFA_states): Use unsigned int, not int, for
113950         bitset pieces used as boolean, to avoid undefined behavior
113951         on hosts that do int overflow checking.
113953 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113955         * config/srclist.txt: Add glibc bugs 1285-1287.
113957 2005-09-01  Jim Meyering  <jim@meyering.net>
113959         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
113960         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
113961         Require gl_STAT_MACROS, too.
113963 2005-09-01  Bruno Haible  <bruno@clisp.org>
113965         * gnulib-tool (import): In the first-use case, provide defaults.
113967 2005-09-01  Bruno Haible  <bruno@clisp.org>
113969         * gnulib-tool (func_import): Remove the .tmp files.
113971 2005-09-01  Bruno Haible  <bruno@clisp.org>
113973         * gnulib-tool (func_import): Fix handling of symbolic links.
113975 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113977         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
113978         old glibc regex code mishandles strings longer than 2**31 bytes.
113979         This patch fixes this when the regex code is used in gnulib
113980         (i.e., outside glibc).
113982         This patch should not affect the use of the regex code inside
113983         glibc.  No doubt this problem also needs to be handled for glibc
113984         as well, but the result will be an incompatible change to the
113985         glibc ABI, and the old ABI will have to be supported too.  That
113986         can be the subject for another patch.
113988         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
113989         governing whether the rest of this patch is active.  By default,
113990         the macro is disabled and the patch has no effect.
113991         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
113992         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
113993         (struct re_pattern_buffer, re_search, re_search_2, re_match):
113994         (re_match_2, re_set_registers): Use the new types.
113995         * lib/regex_internal.h (Idx, re_hashval_t): New types.
113996         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
113997         New macros.
113998         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
113999         (re_string_context_at, bin_tree_t, re_dfastate_t):
114000         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
114001         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
114002         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
114003         (re_string_char_size_at, re_string_wchar_at):
114004         (re_string_elem_size_at):
114005         Use the new types and macros to port to 64-bit hosts.
114006         Use unsigned types for internal values, so that the code
114007         mostly works even for arrays larger than SSIZE_MAX.
114008         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
114009         (search_duplicated_node, calc_eclosure_iter, fetch_number):
114010         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
114011         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
114012         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
114013         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
114014         (calc_inveclosure, parse_dup_op, build_range_exp):
114015         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
114016         (fetch_number, create_token_tree, mark_opt_subexp):
114017         Likewise.
114018         * lib/regex_internal.c (re_string_construct_common,
114019         create_ci_newstate):
114020         (create_cd_newstate, re_string_allocate, re_string_construct):
114021         (re_string_realloc_buffers, build_wcs_upper_buffer):
114022         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
114023         (re_string_reconstruct, re_string_peek_byte_case):
114024         (re_string_fetch_byte_case, re_string_context_at):
114025         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
114026         (re_node_set_init_copy, re_node_set_add_intersect):
114027         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
114028         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
114029         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
114030         (re_acquire_state, re_acquire_state_context, register_state):
114031         Likewise.
114032         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
114033         search_cur_bkref_entry):
114034         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
114035         (re_search_internal, re_search_2_stub, re_search_stub)
114036         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
114037         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
114038         (update_cur_sifted_state, check_dst_limits):
114039         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
114040         (check_subexp_limits, sift_states_bkref, merge_state_array):
114041         (check_subexp_matching_top, get_subexp, get_subexp_sub):
114042         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
114043         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
114044         (expand_bkref_cache, check_node_accept_bytes):
114045         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
114046         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
114047         (acquire_init_state_context, check_halt_node_context):
114048         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
114049         (sift_states_backward, clean_state_log_if_needed):
114050         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
114051         (find_recover_state, transit_state_sb, transit_state_mb):
114052         (transit_state_bkref, build_trtable, match_ctx_clean):
114053         Likewise.
114054         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
114055         to work around an assumption that REG_MISSING is negative.
114057         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
114058         (seek_collating_symbol_entry) [defined _LIBC]:
114059         (lookup_collation_sequence_value) [defined _LIBC]:
114060         (build_range_exp, build_collating_symbol) [defined _LIBC]:
114061         Use prototypes rather than old-style function definitions.
114062         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
114063         (transit_state_sb) [0]:
114064         (find_collation_sequence_value) [defined _LIBC]: Likewise.
114066         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
114067         rm_eo.
114069         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
114070         (optimize_subexps, lower_subexp):
114071         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
114072         since the signed shift might overflow.  Use 1u<<31 instead.
114073         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
114074         Likewise.
114075         * lib/regexec.c (check_dst_limits_calc_pos_1,
114076         check_subexp_matching_top): Likewise.
114078         * lib/regcomp.c (optimize_subexps, lower_subexp):
114079         Use CHAR_BIT rather than 8, for clarity.
114080         * lib/regexec.c (check_dst_limits_calc_pos_1):
114081         (check_subexp_matching_top): Likewise.
114082         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
114083         have to worry about portability issues when shifting it left.
114084         Remove no-longer-needed test for table_size > 0.
114085         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
114086         in a word, as the resulting behavior is undefined.
114087         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
114088         in one case, a <= should have been an <, and in another case the
114089         whole test was missing.
114090         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
114091         the standard name CHAR_BIT.
114092         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
114093         this is not true on one's complement and signed-magnitude hosts.
114095         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
114096         next_last_offset.
114097         (struct re_dfa_t): Remove unused member states_alloc.
114098         * lib/regcomp.c (init_dfa): Don't initialize unused members.
114100 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114102         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
114103         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
114104         and large-file glibc and in 32-bit large-file Solaris.
114106 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114108         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
114109         lengths fit in regoff_t; this isn't true if regoff_t is the same
114110         width as size_t.
114111         * lib/regex.c (re_search_internal): 5th arg is LAST_START
114112         (= START + RANGE) instead of RANGE.  This avoids overflow
114113         problems when regoff_t is the same width as size_t.
114114         All callers changed.
114115         (re_search_2_stub): Check for overflow when adding the
114116         sizes of the two strings.
114117         (re_search_stub): Check for overflow when adding START
114118         to RANGE; if it occurs, substitute the extreme value.
114120 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
114122         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
114124 2005-08-31  Jim Meyering  <jim@meyering.net>
114126         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
114127         a pointer-to-const.
114128         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
114129         (register_state): Likewise.
114130         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
114131         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
114132         (group_nodes_into_DFAstates): Likewise.
114134 2005-08-31  Jim Meyering  <jim@meyering.net>
114136         * check-module: Add a FIXME comment.
114138 2005-08-31  Eric Blake  <ebb9@byu.net>
114140         * modules/unistd-safer (Files): Add unistd--.h.
114141         * modules/stdio-safer (Files): Add stdio--.h.
114143 2005-08-31  Derek Price  <derek@ximbiot.com>
114145         * lib/getdelim.c (getdelim): Return EOF on EOF.
114146         Reported by Larry Jones <lawrence.jones@ugs.com>.
114148 2005-08-31  Bruno Haible  <bruno@clisp.org>
114150         Avoid unnecessary diffs in the generated lib/Makefile.am.
114151         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
114152         the generated files.
114153         (func_import): Don't set cmd.
114155 2005-08-31  Bruno Haible  <bruno@clisp.org>
114157         * lib/strstr.c: Include <stddef.h>, for NULL.
114158         * lib/strcasestr.c: Likewise.
114159         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
114161 2005-08-31  Bruno Haible  <bruno@clisp.org>
114163         * gnulib-tool: New option --macro-prefix.
114164         (func_import): Use macro_prefix.
114165         (import): Handle option --macro-prefix.
114167 2005-08-31  Bruno Haible  <bruno@clisp.org>
114169         * gnulib-tool (import): Rename most ac_* variables to cached_*.
114170         Also use new variables cached_lgpl, cached_libtool.
114172 2005-08-31  Bruno Haible  <bruno@clisp.org>
114174         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
114175         always instantiating them.
114177 2005-08-31  Bruno Haible  <bruno@clisp.org>
114179         * gnulib-tool (func_import): Read the previous cached settings
114180         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
114181         earlier added by gnulib but are now dropped. Warn when a gnulib file
114182         overwrites a non-gnulib file.
114184 2005-08-31  Bruno Haible  <bruno@clisp.org>
114186         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
114187         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
114188         projects that don't keep autogenerated files in CVS. Put into
114189         actioncmd only the specified modules, not the transitive closure.
114191 2005-08-31  Bruno Haible  <bruno@clisp.org>
114193         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
114194         Create directories that shall be filled.
114195         (import): Don't look for gl_* macros in configure.ac. Recurse across
114196         all directories containing a gnulib-cache.m4 files, if meaningful.
114198 2005-08-31  Bruno Haible  <bruno@clisp.org>
114200         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
114201         (import): Set seen_libtool when we see gl_LIBTOOL.
114203 2005-08-31  Bruno Haible  <bruno@clisp.org>
114205         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
114206         declaration macro definitions from generated gnulib.m4.
114208 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
114210         * lib/iconvme.h: Add prototype for iconv_alloc.
114212 2005-08-29  Simon Josefsson  <jas@extundo.com>
114214         * lib/iconvme.c: Fix errno.
114216 2005-08-29  Bruno Haible  <bruno@clisp.org>
114218         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
114219         that it works when the directory contains spaces.
114221 2005-08-29  Bruno Haible  <bruno@clisp.org>
114223         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
114225 2005-08-29  Bruno Haible  <bruno@clisp.org>
114227         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
114228         Emit more advice.
114230 2005-08-29  Bruno Haible  <bruno@clisp.org>
114231         and Stepan Kasal  <kasal@ucw.cz>
114233         * check-module: If more parameters are given, check each of them
114234         separately; add more exceptions, as noted by Jim Meyering.
114235         (check_module): New procedure.
114236         (%exempt_header): Now contains all exceptions.
114238 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
114240         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
114242 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
114244         * lib/iconvme.c: Split iconv_string into iconv_alloc.
114246 2005-08-28  Bruno Haible  <bruno@clisp.org>
114248         * m4/gnulib-tool.m4: New file.
114250 2005-08-27  Jim Meyering  <jim@meyering.net>
114252         * modules/unistd-safer (Files): Add pipe-safer.c.
114253         * modules/fcntl-safer (Files): Add creat-safer.c.
114255 2005-08-27  Jim Meyering  <jim@meyering.net>
114257         * m4/stdlib-safer.m4: New file.  From coreutils.
114258         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
114259         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
114260         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
114261         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
114262         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
114264 2005-08-27  Jim Meyering  <jim@meyering.net>
114266         * lib/fopen-safer.c: Merge minor changes from coreutils.
114267         * lib/dup-safer.c: Likewise.
114268         * lib/fd-safer.c: Likewise.
114270         Merge from coreutils.
114271         * lib/stdio--.h: New file.
114272         * lib/stdlib--.h: New file.
114273         * lib/mkstemp-safer.c: New file.
114275         GNU tar needs these.
114276         * lib/pipe-safer.c: New file.
114277         * lib/creat-safer.c: New file.
114278         * lib/fcntl--.h (creat): Define to creat_safer.
114279         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
114280         * lib/unistd--.h (pipe): Define to pipe_safer.
114281         * lib/unistd-safer.h: Declare pipe_safer.
114283 2005-08-26  Simon Josefsson  <jas@extundo.com>
114285         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
114286         Haible <bruno@clisp.org>.
114288 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
114290         * lib/regex_internal.h: Remove all references to
114291         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
114292         or better.
114293         (bitset_not, bitset_merge, bitset_not_merge):
114294         (bitset_mask, re_string_allocate, re_string_construct):
114295         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
114296         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
114297         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
114298         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
114299         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
114300         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
114301         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
114302         (re_acquire_state_context):
114303         Remove unnecessary forward decls.
114304         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
114305         Put __attribute at function definition,
114306         now that the function decl has been removed.
114307         * lib/regex_internal.c (re_string_peek_byte_case):
114308         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
114309         Likewise.
114311 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
114313         * m4/regex.m4: Add AC_PREREQ(2.50).
114314         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
114316 2005-08-25  Simon Josefsson  <jas@extundo.com>
114318         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
114319         __fsetlocking.
114321 2005-08-25  Simon Josefsson  <jas@extundo.com>
114323         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
114324         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
114325         GLIBC specific code.
114327 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114329         Make regex safe for g++.  This fixes one real bug (an "err"
114330         that should have been "*err").  g++ problem reported by
114331         Sam Steingold.
114332         * lib/regex_internal.h (re_calloc): New macro, consistent with
114333         re_malloc etc.  All callers of calloc changed to use re_calloc.
114334         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
114335         not int.  All callers changed.
114336         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
114337         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
114338         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
114339         (find_recover_state): Change "err" to "*err"; this fixes what
114340         appears to be a real bug.
114341         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
114342         versus int.
114344 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114346         * modules/regex (Depends-on): Add malloc, since the code
114347         assumes that !malloc(0) means failure.
114349 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114351         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
114353         alloca modernization/simplification for regex.
114354         * lib/regex.c: Remove portability cruft for alloca.  This no longer
114355         needs to be at the start of the file, and can be moved into
114356         regex_internal.h and simplified.
114357         * lib/regex_internal.h: Include <alloca.h>.
114358         (__libc_use_alloca) [!defined _LIBC]: New macro.
114359         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
114360         now works outside glibc.
114362 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
114364         * config/srclist.txt: Add glibc bugs 1241, 1245.
114366 2005-08-25  Jim Meyering  <jim@meyering.net>
114368         * lib/open-safer.c: Include <config.h>.
114369         Otherwise, we'd lose LARGEFILE support in any file using
114370         e.g. "fcntl--.h"
114372 2005-08-25  Bruno Haible  <bruno@clisp.org>
114374         * m4/minmax.m4: Require autoconf 2.52.
114375         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
114376         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
114377         alternatives of translit over the alphabet.
114378         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
114380 2005-08-24  Simon Josefsson  <jas@extundo.com>
114382         * tests/test-getpass.c: New file.
114384 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114386         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
114387         for GNU regex features.
114389 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114391         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
114392         * lib/regex.h (regerror): Likewise.
114394         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
114395         requires this.  (The code never needed it.)
114397         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
114398         All uses of recently-renamed identifiers changed to use the new,
114399         POSIX-compliant names.  The code will build and run just fine
114400         without these changes, but it's better to eat our own dog food
114401         and use the standard-conforming names.
114403         * lib/regex.h: Fix a multitude of POSIX name space violations.
114404         These changes have an effect only for programs that define
114405         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
114406         do not change anything for programs compiled in the normal way.
114407         Also, there is no effect on the ABI.
114409         (_REGEX_SOURCE): New macro.
114410         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
114411         defined and _GNU_SOURCE is not; this fixes a name space violation.
114413         Rename the following macros to obey POSIX requirements.
114414         The old names are still visible as macros if _REGEX_SOURCE is defined.
114415         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
114416         RE_BACKSLASH_ESCAPE_IN_LISTS.
114417         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
114418         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
114419         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
114420         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
114421         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
114422         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
114423         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
114424         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
114425         (REG_INTERVALS): renamed from RE_INTERVALS.
114426         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
114427         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
114428         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
114429         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
114430         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
114431         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
114432         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
114433         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
114434         RE_UNMATCHED_RIGHT_PAREN_ORD.
114435         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
114436         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
114437         (REG_DEBUG): renamed from RE_DEBUG.
114438         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
114439         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
114440         unusual, since we can't clash with the POSIX REG_ICASE.
114441         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
114442         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
114443         (REG_NO_SUB): renamed from RE_NO_SUB.
114444         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
114445         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
114446         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
114447         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
114448         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
114449         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
114450         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
114451         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
114452         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
114453         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
114454         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
114455         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
114456         RE_SYNTAX_POSIX_MINIMAL_BASIC.
114457         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
114458         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
114459         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
114460         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
114461         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
114462         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
114463         (REG_FIXED): Renamed from REGS_FIXED.
114464         (REG_NREGS): Renamed from RE_NREGS.
114466         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
114467         of other REG_* macros, since POSIX says the user is allowed to
114468         #undef these macros selectively.
114470         (reg_errcode_t): Update comment stating what other tables need
114471         to be consistent.
114473         Rename the following enum values to obey POSIX requirements.
114474         The old names are still visible as macros.
114475         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
114476         is not defined, since GNU is supposed to be a superset of POSIX as
114477         much as possible, and since we want reg_errcode_t to be a signed
114478         type for implementation consistency.
114479         (_REG_NOERROR): Renamed from REG_NOERROR.
114480         (_REG_NOMATCH): Renamed from REG_NOMATCH.
114481         (_REG_BADPAT): Renamed from REG_BADPAT.
114482         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
114483         (_REG_ECTYPE): Renamed from REG_ECTYPE.
114484         (_REG_EESCAPE): Renamed from REG_EESCAPE.
114485         (_REG_ESUBREG): Renamed from REG_ESUBREG.
114486         (_REG_EBRACK): Renamed from REG_EBRACK.
114487         (_REG_EPAREN): Renamed from REG_EPAREN.
114488         (_REG_EBRACE): Renamed from REG_EBRACE.
114489         (_REG_BADBR): Renamed from REG_BADBR.
114490         (_REG_ERANGE): Renamed from REG_ERANGE.
114491         (_REG_ESPACE): Renamed from REG_ESPACE.
114492         (_REG_BADRPT): Renamed from REG_BADRPT.
114493         (_REG_EEND): Renamed from REG_EEND.
114494         (_REG_ESIZE): Renamed from REG_ESIZE.
114495         (_REG_ERPAREN): Renamed from REG_ERPAREN.
114496         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
114497         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
114498         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
114499         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
114501         (_REG_RE_NAME, _REG_RM_NAME): New macros.
114502         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
114503         changed.  But support the old name if the new one is not defined
114504         and if _REGEX_SOURCE.
114506         Change the following member names in struct re_pattern_buffer.
114507         The old names are still supported if !_REGEX_SOURCE.
114508         The new names are always supported, regardless of _REGEX_SOURCE.
114509         (re_buffer): Renamed from buffer.
114510         (re_allocated): Renamed from allocated.
114511         (re_used): Renamed from used.
114512         (re_syntax): Renamed from syntax.
114513         (re_fastmap): Renamed from fastmap.
114514         (re_translate): Renamed from translate.
114515         (re_can_be_null): Renamed from can_be_null.
114516         (re_regs_allocated): Renamed from regs_allocated.
114517         (re_fastmap_accurate): Renamed from fastmap_accurate.
114518         (re_no_sub): Renamed from no_sub.
114519         (re_not_bol): Renamed from not_bol.
114520         (re_not_eol): Renamed from not_eol.
114521         (re_newline_anchor): Renamed from newline_anchor.
114523         Change the following member names in struct re_registers.
114524         The old names are still supported if !_REGEX_SOURCE.
114525         The new names are always supported, regardless of _REGEX_SOURCE.
114526         (rm_num_regs): Renamed from num_regs.
114527         (rm_start): Renamed from start.
114528         (rm_end): Renamed from end.
114530         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
114531         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
114532         Prepend __ to parameter names.
114534         Undo yesterday's changes.
114536 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
114538         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
114539         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
114540         lib/regex.c.
114542 2005-08-24  Jim Meyering  <jim@meyering.net>
114544         Sync from coreutils.
114545         * m4/fcntl-safer.m4: New file.
114547         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
114548         and object files for this module.
114550 2005-08-24  Jim Meyering  <jim@meyering.net>
114552         Sync from coreutils.
114553         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
114555 2005-08-24  Jim Meyering  <jim@meyering.net>
114557         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
114558         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
114560 2005-08-24  Jim Meyering  <jim@meyering.net>
114562         * modules/fcntl-safer: New module.
114563         * modules/fts (Depends-on): Add fcntl-safer.
114564         * MODULES.html.sh (File descriptor based Input/Output):
114565         Add fcntl-safer.
114567 2005-08-24  Bruno Haible  <bruno@clisp.org>
114569         Support for unit test modules.
114570         * modules/README: Mention tests modules.
114571         * modules/TEMPLATE-TESTS: New file.
114572         * gnulib-tool: New options --extract-tests-module, --with-tests and
114573         --tests-base (unused for the moment).
114574         (testsbase, inctests): New variables.
114575         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
114576         (func_verify_module): Exclude TEMPLATE-TESTS.
114577         (func_verify_nontests_module, func_verify_tests_module): New functions.
114578         (func_get_dependencies): Add implicit dependency for tests modules.
114579         (func_get_tests_module): New function.
114580         (func_modules_transitive_closure): When --with-tests was specified,
114581         include the unit tests as well, unless explicitly avoided.
114582         (func_emit_lib_Makefile_am): Ignore the tests modules here.
114583         (func_emit_tests_Makefile_am): New function.
114584         (func_create_testdir): When --with-tests was specified, emit a
114585         tests/ directory.
114586         * MODULES.html.sh (Future developments): Update.
114588 2005-08-24  Bruno Haible  <bruno@clisp.org>
114590         * modules/tls-tests: New file.
114591         * tests/test-tls.c: New file, from GNU gettext.
114593 2005-08-24  Bruno Haible  <bruno@clisp.org>
114595         * modules/lock-tests: New file.
114596         * tests/test-lock.c: New file, from GNU gettext.
114598 2005-08-24  Bruno Haible  <bruno@clisp.org>
114600         * lib/lock.h: Add multiple inclusion guard.
114601         * lib/tls.h: Add multiple inclusion guard.
114603 2005-08-24  Bruno Haible  <bruno@clisp.org>
114605         * gnulib-tool: Add support for the --aux-dir option to
114606         --create-testdir, --create-megatestdir, --test, --megatest.
114607         (func_create_testdir, func_create_megatestdir): Optionally emit a
114608         AC_CONFIG_AUX_DIR directive.
114609         (create-testdir, create-megatestdir, test, megatest): Provide a
114610         default value for $auxdir.
114612 2005-08-24  Bruno Haible  <bruno@clisp.org>
114614         * gnulib-tool (import): Use compound statement instead of subshell
114615         where possible.
114617 2005-08-24  Bruno Haible  <bruno@clisp.org>
114619         * gnulib-tool (import): Change --aux-dir default to "build-aux".
114621 2005-08-24  Bruno Haible  <bruno@clisp.org>
114623         * gnulib-tool (func_version): Update.
114625 2005-08-24  Bruno Haible  <bruno@clisp.org>
114627         * gnulib-tool (func_import, func_create_testdir,
114628         func_create_megatestdir): Quote all autoconf macro arguments.
114630 2005-08-24  Bruno Haible  <bruno@clisp.org>
114632         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
114633         option --force, because --force causes the aclocal.m4 of each
114634         subdirectory to be newer than the corresponding config.h.in.
114636 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114638         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
114639         All contents moved to gl_REGEX.
114640         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
114641         assume that it does.
114643 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114645         * lib/regex.h (REG_NOSYS)
114646         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
114647         Define, since POSIX requires it as of 2001.
114648         (_REG_ENOSYS)
114649         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
114650         New private symbol, used to keep the enum signed in all cases.
114651         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
114652         Youngman in
114653         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
114655         * lib/regex_internal.c (re_string_skip_chars, register_state):
114656         (calc_state_hash):
114657         Remove forward decls; no longer needed now that we use prototypes.
114658         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
114659         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
114660         (clean_state_log_if_needed): Likewise.
114662 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
114664         * config/srclist.txt: Add glibc bugs 1231-1233.
114666 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114668         Fix problems reported by Sam Steingold in
114669         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
114670         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
114671         assumed that reg_errcode_t is a signed type, which is not
114672         necessarily true if _XOPEN_SOURCE is not defined.
114673         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
114674         since some compilers warn about it otherwise.
114676 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114678         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
114679         (init_word_char, create_initial_state, duplicate_node_closure):
114680         (fetch_token, peek_token_bracket, build_range_exp):
114681         (build_collating_symbol): Remove forward decls; no longer needed
114682         now that we use prototypes.
114684         * lib/regcomp.c:
114685         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
114686         (re_compile_fastmap_iter, regcomp, regerror, regfree):
114687         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
114688         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
114689         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
114690         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
114691         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
114692         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
114693         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
114694         (build_range_exp, build_collating_symbol, parse_bracket_exp):
114695         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
114696         (build_charclass, build_charclass_op, fetch_number, create_tree):
114697         (create_token_tree, mark_opt_subexp, duplicate_tree):
114698         Use prototypes rather than old-style definitions.
114700         * lib/regex_internal.c:
114701         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
114702         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
114703         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
114704         (re_string_reconstruct, re_string_peek_byte_case):
114705         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
114706         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
114707         (re_node_set_init_copy, re_node_set_add_intersect):
114708         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
114709         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
114710         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
114711         (re_acquire_state, re_acquire_state_context, register_state):
114712         (create_ci_newstate, create_cd_newstate, free_state):
114713         Likewise.
114714         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
114715         re_search_2):
114716         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
114717         (re_search_internal, prune_impossible_nodes):
114718         (acquire_init_state_context, check_matching, static):
114719         (check_halt_node_context, check_halt_state_context, proceed_next_node):
114720         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
114721         (update_regs, sift_states_backward, build_sifted_states):
114722         (clean_state_log_if_needed, merge_state_array):
114723         (update_cur_sifted_state, add_epsilon_src_nodes):
114724         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
114725         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
114726         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
114727         (find_recover_state, check_subexp_matching_top, transit_state_mb):
114728         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
114729         (check_arrival, check_arrival_add_next_nodes):
114730         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
114731         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
114732         (check_node_accept_bytes, check_node_accept, extend_buffers):
114733         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
114734         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
114735         (sift_ctx_init):
114736         Likewise.
114738         * lib/regex_internal.h:
114739         (re_string_allocate, re_string_construct, re_string_reconstruct):
114740         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
114741         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
114742         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
114743         (re_string_context_at, re_string_peek_byte_case):
114744         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
114745         is defined, since we now use prototypes always.
114747         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
114748         C89 or better.  All uses removed.
114750 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114752         * config/srclist.txt: Add glibc bugs 1220-1227.
114754 2005-08-20  Jim Meyering  <jim@meyering.net>
114756         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
114757         of unused local, dfa.
114759 2005-08-20  Bruno Haible  <bruno@clisp.org>
114761         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
114763 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114765         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
114766         (re_node_set_insert_last, re_dfa_add_node):
114767         Rename local variables to avoid GCC shadowing warnings.
114769 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114771         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
114772         [defined lint]: Suppress bogus uninitialized-variable warnings.
114774         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
114775         and let the caller return REG_ESPACE if out of space.  This
114776         removes an uninitialied-variable warning with GCC 4.0.1, and also
114777         avoids taking the address of a local variable.  All callers
114778         changed.
114780 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114782         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
114783         $LIBCSRC/posix/regexec.c.
114784         Add glibc bug 1217 for regcomp.c.
114786 2005-08-19  Jim Meyering  <jim@meyering.net>
114788         * lib/regexec.c (proceed_next_node): Redo local variables to
114789         avoid GCC shadowing warnings.
114791 2005-08-18  Bruno Haible  <bruno@clisp.org>
114793         * lib/strstr.c (strstr): Fix return value in multibyte case.
114794         * lib/strcasestr.c (strcasestr): Likewise.
114796 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114798         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
114800 2005-08-17  Jim Meyering  <jim@meyering.net>
114802         Make the %s format (seconds since the epoch) work for a negative
114803         number and when used with a zero-padded field width, e.g. %015s.
114805         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
114806         label so that it precedes the code to set `digits'.  Otherwise,
114807         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
114808         print `00-22'.  Now, it prints `-0022', as it should.
114810 2005-08-17  Bruno Haible  <bruno@clisp.org>
114812         * modules/strstr (Files): Add m4/mbrtowc.m4.
114813         (Depends-on): Add mbuiter.
114815 2005-08-17  Bruno Haible  <bruno@clisp.org>
114817         * modules/strcasestr: New file.
114818         * MODULES.html.sh (String handling, based on ANSI C 89): Add
114819         strcasestr.
114821 2005-08-17  Bruno Haible  <bruno@clisp.org>
114823         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
114825 2005-08-17  Bruno Haible  <bruno@clisp.org>
114827         * modules/mbuiter: New file.
114828         * MODULES.html.sh (Extended multibyte and wide character utilities):
114829         Add mbuiter.
114831 2005-08-17  Bruno Haible  <bruno@clisp.org>
114833         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
114834         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
114836 2005-08-17  Bruno Haible  <bruno@clisp.org>
114838         * m4/strcasestr.m4: New file.
114840 2005-08-17  Bruno Haible  <bruno@clisp.org>
114842         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
114843         * lib/strstr.c: Completely rewritten, with multibyte locale support.
114845 2005-08-17  Bruno Haible  <bruno@clisp.org>
114847         * lib/strcasestr.h: New file.
114848         * lib/strcasestr.c: New file.
114850 2005-08-17  Bruno Haible  <bruno@clisp.org>
114852         * lib/strcasecmp.c: Use mbuiter.h.
114854 2005-08-17  Bruno Haible  <bruno@clisp.org>
114856         * lib/mbuiter.h: New file.
114858 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
114861         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
114862         and gl_GETOPT are both invoked via different paths (as happens
114863         with GNU tar CVS because it uses both argp and getopt), the former
114864         wins.
114866 2005-08-16  Bruno Haible  <bruno@clisp.org>
114868         * modules/tls: New file.
114869         * MODULES.html.sh (Multithreading): Add tls.
114871 2005-08-16  Bruno Haible  <bruno@clisp.org>
114873         * modules/strnlen1: New file.
114874         * MODULES.html.sh (String handling): Add strnlen1.
114876 2005-08-16  Bruno Haible  <bruno@clisp.org>
114878         * modules/strcase (Files): Add m4/mbrtowc.m4.
114879         (Depends-on): Add strnlen1, mbchar.
114881 2005-08-16  Bruno Haible  <bruno@clisp.org>
114883         * modules/mbiter: New file.
114884         * MODULES.html.sh (Extended multibyte and wide character utilities):
114885         Add mbiter.
114887 2005-08-16  Bruno Haible  <bruno@clisp.org>
114889         * modules/mbfile: New file.
114890         * MODULES.html.sh (Extended multibyte and wide character utilities):
114891         Add mbfile.
114893 2005-08-16  Bruno Haible  <bruno@clisp.org>
114895         * modules/mbchar: New file.
114896         * MODULES.html.sh (Extended multibyte and wide character utilities):
114897         New section.
114899 2005-08-16  Bruno Haible  <bruno@clisp.org>
114901         * m4/tls.m4: New file, from GNU gettext.
114903 2005-08-16  Bruno Haible  <bruno@clisp.org>
114905         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
114906         always.
114907         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
114909 2005-08-16  Bruno Haible  <bruno@clisp.org>
114911         * m4/mbiter.m4: New file.
114913 2005-08-16  Bruno Haible  <bruno@clisp.org>
114915         * m4/mbfile.m4: New file.
114917 2005-08-16  Bruno Haible  <bruno@clisp.org>
114919         * m4/mbchar.m4: New file.
114921 2005-08-16  Bruno Haible  <bruno@clisp.org>
114923         * lib/tls.h: New file, from GNU gettext.
114924         * lib/tls.c: New file, from GNU gettext.
114926 2005-08-16  Bruno Haible  <bruno@clisp.org>
114928         * lib/strnlen1.h: New file.
114929         * lib/strnlen1.c: New file.
114931 2005-08-16  Bruno Haible  <bruno@clisp.org>
114933         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
114934         (mbi_init): Update.
114935         (mbi_avail, mbi_advance): Let the iteration end before the terminating
114936         NUL byte, not after it.
114938 2005-08-16  Bruno Haible  <bruno@clisp.org>
114940         * lib/strcase.h (strcasecmp): Add note in comments.
114941         * lib/strncasecmp.c: Use code from strcasecmp.c.
114942         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
114943         (strcasecmp): Work correctly in multibyte locales.
114945 2005-08-16  Bruno Haible  <bruno@clisp.org>
114947         * lib/mbiter.h: New file.
114949 2005-08-16  Bruno Haible  <bruno@clisp.org>
114951         * lib/mbfile.h: New file.
114953 2005-08-16  Bruno Haible  <bruno@clisp.org>
114955         * lib/mbchar.h: New file.
114956         * lib/mbchar.c: New file.
114958 2005-08-16  Bruno Haible  <bruno@clisp.org>
114960         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
114961         the valid ones. Makes the comparison operations transitive:
114962         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
114963         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
114965 2005-08-15  Simon Josefsson  <jas@extundo.com>
114967         * modules/ssize_t (License): Change to 'unlimited'.
114969         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
114971 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114973         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
114974         Add comments for each pending glibc patch.
114976 2005-08-15  Bruno Haible  <bruno@clisp.org>
114978         * lib/regex.h (__restrict_arr): Don't define to __restrict if
114979         __cplusplus is defined.
114981 2005-08-14  Jim Meyering  <jim@meyering.net>
114983         Sync from coreutils.
114985         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
114986         Use the hash-table-based cycle-detection code not just when
114987         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
114988         Reported by James Youngman in
114989         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
114990         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
114991         FTS_TIGHT_CYCLE_CHECK.
114992         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
114993         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
114994         once again.
114995         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
114996         * lib/fts.c (fd_safer): Remove decl.
114997         Include fcntl--.h rather than unistd-safer.h
114998         (fts_safe_changedir): Don't call fd_safer; no longer needed
114999         now that we include fcntl--.h.
115001 2005-08-12  Simon Josefsson  <jas@extundo.com>
115003         * modules/getndelim2: Use ssize_t module.
115004         * modules/getnline: Likewise.
115005         * modules/safe-read: Likewise.
115006         * modules/xreadlink: Likewise.
115008         * modules/ssize_t: New file.
115010 2005-08-12  Simon Josefsson  <jas@extundo.com>
115012         * m4/readline.m4: Look for termcap, curses or ncurses if required.
115014 2005-08-12  Simon Josefsson  <jas@extundo.com>
115016         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
115017         ssize_t.
115019 2005-08-12  Simon Josefsson  <jas@extundo.com>
115021         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
115022         readline, getdelim and check_version.
115023         (Support for systems lacking ISO C 99: Sizes of integer types):
115024         Add size_max.
115026 2005-08-12  Bruno Haible  <bruno@clisp.org>
115028         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
115030 2005-08-11  Simon Josefsson  <jas@extundo.com>
115032         * modules/readline: New file.
115034         * modules/strnlen (Files): Add strnlen.h.
115036 2005-08-11  Simon Josefsson  <jas@extundo.com>
115038         * m4/readline.m4: New file.
115040 2005-08-11  Simon Josefsson  <jas@extundo.com>
115042         * lib/readline.h, readline.c: New file.
115044 2005-08-11  Simon Josefsson  <jas@extundo.com>
115046         * doc/gnulib.texi (Initial import, Finishing touches): Mention
115047         gl_AVOID.
115049 2005-08-11  Bruno Haible  <bruno@clisp.org>
115051         * lib/strnlen.h (strnlen): Change parameter name to match comment.
115053 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
115055         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
115057 2005-08-10  Simon Josefsson  <jas@extundo.com>
115059         * tests/test-iconvme.c: New file.
115061 2005-08-10  Simon Josefsson  <jas@extundo.com>
115063         * m4/strnlen.m4: New file.
115065         * m4/strndup.m4: Don't check for strnlen declaration, done in
115066         strnlen.m4.
115068 2005-08-10  Simon Josefsson  <jas@extundo.com>
115070         * lib/strndup.c: Use strnlen.h.
115072         * lib/strnlen.h: New file.
115074 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
115076         * README: Typos.
115078 2005-08-02  Simon Josefsson  <jas@extundo.com>
115080         * modules/readline: New file.
115082 2005-08-02  Simon Josefsson  <jas@extundo.com>
115084         * modules/getdelim: New file.
115086         * modules/getline: Rewrite, don't use getndelim2.
115088 2005-08-02  Simon Josefsson  <jas@extundo.com>
115090         * m4/getline.m4: Separate out getdelim stuff into separate module.
115092         * m4/getdelim.m4: New file.
115094 2005-08-02  Simon Josefsson  <jas@extundo.com>
115096         * lib/getline.h, getline.c: Rewrite.
115098         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
115100 2005-07-31  Bruno Haible  <bruno@clisp.org>
115102         * lib/lock.h (gl_lock_initializer): New macro.
115103         (gl_lock_define_initialized): Use it.
115104         (gl_rwlock_initializer): New macro.
115105         (gl_rwlock_define_initialized): Use it.
115106         (gl_recursive_lock_initializer): New macro.
115107         (gl_recursive_lock_define_initialized): Use it.
115109 2005-07-30  Karl Berry  <karl@gnu.org>
115111         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
115112         Report from Ben Pfaff, regarding getopt.
115114 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
115116         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
115117         normal way.
115118         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
115119         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
115120         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
115121         (gl_GETOPT): Use the new macros.  Most of the implementation
115122         is moved to the new macros.  This is for programs like Emacs
115123         that don't want all the functionality of gl_GETOPT.
115125 2005-07-26  Bruno Haible  <bruno@clisp.org>
115127         * m4/lock.m4: Update from GNU gettext.
115129 2005-07-26  Bruno Haible  <bruno@clisp.org>
115131         * lib/lock.h: Update from GNU gettext.
115132         * lib/lock.c: Update from GNU gettext.
115134 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
115136         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
115137         obsolescent AC_TRY_RUN.  Include the default includes files, for
115138         'exit'.
115140 2005-07-24  Bruno Haible  <bruno@clisp.org>
115142         * modules/visibility: New file.
115143         * MODULES.html.sh (Misc): Add visibility.
115145 2005-07-24  Bruno Haible  <bruno@clisp.org>
115147         * m4/visibility.m4: New file.
115149 2005-07-24  Bruno Haible  <bruno@clisp.org>
115151         * doc/visibility.texi: New file.
115153 2005-07-22  Bruno Haible  <bruno@clisp.org>
115155         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
115156         $(ALLOCA_H), redundant through BUILT_SOURCES.
115157         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
115158         redundant through BUILT_SOURCES.
115159         * modules/byteswap (Makefile.am): Remove explicit dependency on
115160         $(BYTESWAP_H), redundant through BUILT_SOURCES.
115161         * modules/fnmatch (Makefile.am): Remove explicit dependency on
115162         $(FNMATCH_H), redundant through BUILT_SOURCES.
115163         * modules/getopt (Makefile.am): Remove explicit dependency on
115164         $(GETOPT_H), redundant through BUILT_SOURCES.
115165         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
115166         redundant through BUILT_SOURCES.
115167         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
115168         redundant through BUILT_SOURCES.
115169         * modules/stdbool (Makefile.am): Remove explicit dependency on
115170         $(STDBOOL_H), redundant through BUILT_SOURCES.
115171         * modules/stdint (Makefile.am): Remove explicit dependency on
115172         $(STDINT_H), redundant through BUILT_SOURCES.
115173         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
115174         Remove explicit dependency on $(SYSEXITS_H).
115175         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
115177 2005-07-18  Simon Josefsson  <jas@extundo.com>
115179         * lib/check-version.c (check_version): Accept identical versions too.
115181 2005-07-18  Bruno Haible  <bruno@clisp.org>
115183         * modules/lock: New file.
115184         * MODULES.html.sh (Multithreading): New section.
115186 2005-07-18  Bruno Haible  <bruno@clisp.org>
115188         * m4/lock.m4: New file, from GNU gettext.
115190 2005-07-18  Bruno Haible  <bruno@clisp.org>
115192         * lib/lock.h: New file, from GNU gettext.
115193         * lib/lock.c: New file, from GNU gettext.
115195 2005-07-18  Bruno Haible  <bruno@clisp.org>
115197         * lib/lock.h (gl_once_t): New type.
115198         (gl_once_define, gl_once): New macros.
115199         * lib/lock.c (fresh_once): New variable.
115200         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
115201         functions.
115203 2005-07-16  Simon Josefsson  <jas@extundo.com>
115205         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
115206         workaround, suggested by Bruno.
115208 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
115210         * modules/xalloc (Depends-on): Add xalloc-die.
115211         * modules/xvasprintf (Depends-on): Add xalloc-die.
115213 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
115215         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
115216         with a minor change.
115218 2005-07-15  Bruno Haible  <bruno@clisp.org>
115220         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
115221         When using lib/poll.c, define poll as rpl_poll.
115223 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
115225         * modules/argp (Depends-on): Remove unlocked-io.
115227 2005-07-14  Derek Price  <derek@ximbiot.com>
115229         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
115230         for glob symlink bug.
115232 2005-07-14  Bruno Haible  <bruno@clisp.org>
115234         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
115235         Instead, test for *_unlocked function declarations directly.
115237 2005-07-11  Simon Josefsson  <jas@extundo.com>
115239         * modules/size_max: New file.
115241         * modules/xsize: Depend on size_max module for size_max.m4.
115243 2005-07-11  Simon Josefsson  <jas@extundo.com>
115245         * lib/size_max.h: New file.
115247 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
115249         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
115250         copyright symbol and the year.
115251         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
115252         (version_etc_va): Use parameterized copyright notice.
115253         Reword to conform to the current GNU coding standards.
115255 2005-07-11  Karl Berry  <karl@gnu.org>
115257         * doc/gnulib.texi (Quoting): new node.
115258         (Initial import): more info, from Patrice.
115260 2005-07-11  Bruno Haible  <bruno@clisp.org>
115262         * gnulib-tool (func_usage): Document option --avoid.
115263         (Command line options): Handle --avoid.
115264         (func_acceptable): New function.
115265         (func_modules_transitive_closure): Use it.
115267 2005-07-11  Bruno Haible  <bruno@clisp.org>
115269         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
115270         Reported by Jim Meyering.
115272 2005-07-10  Bruno Haible  <bruno@clisp.org>
115274         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
115275         Needed when size_t is smaller than 'unsigned int'.
115276         Reported by Paul Eggert.
115278 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
115280         * modules/argp (Depends-on): Add unlocked-io
115282 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
115284         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
115285         block of defines.
115287 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
115289         * config/srclist.txt: Comment out regcomp.c, since we have a porting
115290         fix now.
115292 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
115293         and Paul Eggert  <eggert@cs.ucla.edu>
115295         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
115296         in wint_t, not wchar_t.  Remove now-unnecessary cast.
115298 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
115300         * modules/regex (Files): Add lib/regex_internal.c,
115301         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
115302         (Depends-on): Add extensions.
115303         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
115305 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
115307         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
115308         pathconf.
115309         * m4/same.m4 (gl_SAME): Likewise.
115310         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
115312         * m4/regex.m4: Adjust to new libc regex implementation.
115313         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
115314         all the .c and .h parts of (the new) regex.
115315         Quote the m4 stuff better.
115316         Check for RE_ICASE bug of old gnulib.
115317         Check for REG_STARTEND of recent libc.
115318         Rename local variables from jm_* to gl_*.
115319         Quote operand of "test -f".
115320         Say "recent enough" version of libc, not "version 2".
115321         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
115322         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
115323         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
115324         Remove check for btowc, isascii.
115325         Require AM_LANGINFO_CODESET.
115327 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
115329         * lib/regex.c, regex.h: Sync from libc.
115330         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
115331         * lib/regexec.c:
115332         New files, synced from libc, except that regex_internal.h
115333         currently has a small porting fix.
115335 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
115337         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
115338         regex_internal.c, regexec.c.
115339         Add regex_internal.h too, but as a comment, since the libc version
115340         is currently broken in gnulib mode.
115342 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115344         Support programs like Emacs that use gnulib but not gettext.
115345         * MODULES.html.sh (Internationalization functions): Add gettext-h.
115346         * modules/gettext-h: New file.
115347         * modules/gettext (Files): Remove lib/gettext.h.
115348         (Depends-on): Add gettext-h.
115349         (Makefile.am): Remove lib_SOURCES.
115350         * modules/argmatch, modules/c-stack, modules/closeout:
115351         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
115352         * modules/execute, modules/file-type, modules/getaddrinfo:
115353         * modules/getopt, modules/human, modules/javacomp:
115354         * modules/javaexec, modules/mkdir-p, modules/obstack:
115355         * modules/openat, modules/pagealign_alloc, modules/pipe:
115356         * modules/quotearg, modules/regex, modules/rpmatch:
115357         * modules/unicodeio, modules/userspec, modules/version-etc:
115358         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
115359         * modules/xsetenv:
115360         Depend on gettext-h, not gettext.
115362 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115364         * gnulib-tool (func_import): Add support for 'public domain' license.
115365         * modules/alloca, modules/atexit, modules/memmove:
115366         Now public domain, not GPL.
115367         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
115368         * modules/realloc, modules/strerror, modules/strtod:
115369         Now LGPL, not GPL.
115371 2005-07-05  Bruno Haible  <bruno@clisp.org>
115373         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
115374         autoconf CVS. Needed for mingw.
115376 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115378         Remove the dependency of the strftime module on the tzset module.
115379         * modules/strftime (Depends-on): Remove dependency on tzset.
115381 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115383         Remove the dependency of the strftime module on the tzset module.
115384         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
115385         gl_FUNC_TZSET_CLOBBER.
115387 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115389         Remove the dependency of the strftime module on the tzset module.
115390         * lib/strftime.c (my_strftime)
115391         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
115392         Copy the input structure, to work around some of the bug with
115393         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
115394         Solaris releases, you should also use the tzset module, but we won't
115395         require it as a dependency any more since we don't want LGPLed code
115396         to depend on GPLed code.
115398 2005-07-02  Jim Meyering  <jim@meyering.net>
115400         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
115401         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
115402         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
115403         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
115405 2005-07-02  Jim Meyering  <jim@meyering.net>
115407         * lib/backupfile.c (backup_args): Change a `0' to NULL.
115409 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115411         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
115412         declares only 'struct timespec;' (!).
115414 2005-07-01  Jim Meyering  <jim@meyering.net>
115416         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
115417         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
115418         * lib/save-cwd.c, tempname.c:
115419         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
115420         and don't include <sys/file.h>).
115422 2005-06-29  Jim Meyering  <jim@meyering.net>
115424         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
115425         type name.  Use the variable name instead.
115426         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
115427         Likewise.
115429 2005-06-28  Simon Josefsson  <jas@extundo.com>
115431         * modules/check-version (Files): Add check-version.m4.
115433 2005-06-28  Simon Josefsson  <jas@extundo.com>
115435         * m4/check-version.m4: New file, suggested by Jim Meyering
115436         <jim@meyering.net>.
115438 2005-06-28  Simon Josefsson  <jas@extundo.com>
115440         * lib/check-version.h, lib/check-version.c: New files.
115442 2005-06-28  Simon Josefsson  <jas@extundo.com>
115444         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
115445         collision with global variable.  Better indentation.  Don't
115446         increment buffer pointer beyond buffer end.  Based on comments
115447         from Paul Eggert <eggert@cs.ucla.edu>.
115449         * lib/base64.h: Indent.
115451 2005-06-28  Simon Josefsson  <jas@extundo.com>
115453         * doc/gnulib.texi (Library version handling): New section.
115455 2005-06-28  Jim Meyering  <jim@meyering.net>
115457         * check-module (find_included_lib_files): Hard-code another
115458         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
115459         but modules/fts-lgpl (correctly) does not list those files.
115461         * modules/canonicalize (Files): Add lib/pathmax.h.
115463 2005-06-25  Simon Josefsson  <jas@extundo.com>
115465         * modules/check-version: New file.
115467 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
115469         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
115470         initializer of struct addrinfo, as an indication that we don't
115471         care how many members the structure has.
115473 2005-06-24  Derek Price  <derek@ximbiot.com>
115474         and Bruno Haible  <bruno@clisp.org>
115476         Remove stat module & update lstat.
115477         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
115478         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
115479         * m4/stat.m4: Remove this file.
115481 2005-06-24  Derek Price  <derek@ximbiot.com>
115482         and Bruno Haible  <bruno@clisp.org>
115484         Remove stat module & update lstat.
115485         * lib/stat.c: Remove this file...
115486         (slash_aware_lstat): ...moving this content and its support...
115487         * lib/lstat.c (rpl_lstat): ...into here.
115488         * lib/lstat.h: New file.
115490 2005-06-24  Derek Price  <derek@ximbiot.com>
115491         and Bruno Haible  <bruno@clisp.org>
115493         Remove stat module & update lstat.
115494         * config/srclist.txt (libc sources): Remove stat.
115496 2005-06-24  Derek Price  <derek@ximbiot.com>
115497         and Bruno Haible  <bruno@clisp.org>
115499         Remove stat module & update lstat.
115500         * MODULES.html.sh (stat): Remove.
115501         * MODULES.html: Regenerated.
115502         * modules/lstat (Description): Correct function name.
115503         (Files): Add "lstat.h".
115504         (Depends-on): Remove stat, add xalloc, stat-macros.
115505         * modules/stat: Remove this file.
115506         (Include): Add "lstat.h", remove <sys/stat.h>.
115508 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
115510         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
115511         (ranged_convert): Don't save conversion in a temporary struct.
115512         This causes a warning with GCC 4.0.0, and anyway in the typical
115513         case it's not worth the extra 100 bytes or so of code.
115514         (ranged_convert, __mktime_internal): When calling a function via a
115515         pointer P, use P () rather than (*P) (), as we now assume C89 or
115516         better.
115518 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
115520         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
115521         "who -r" failed to give output.  Problem reported by Tim Waugh.
115523         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
115524         (xcalloc): Use it to avoid needless tests.
115525         Problem reported by Jim Meyering.
115527 2005-06-20  Derek Price  <derek@ximbiot.com>
115529         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
115530         unnecessary for Autoconfs > 2.59c.
115532 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
115534         * lib/argp.h (__option_is_short): Check upper limit of
115535         __key. Isprint() requires its argument to have the value
115536         of an unsigned char or EOF.
115538 2005-06-16  Jim Meyering  <jim@meyering.net>
115540         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
115541         when either N or S is zero.
115543 2005-06-16  Derek Price  <derek@ximbiot.com>
115545         * m4/bison.m4: Declare YACC & YFLAGS precious.
115547 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
115549         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
115550         multibyte string or pattern, fall back on unibyte matching.
115551         Problem reported by James Youngman.
115553 2005-06-08  Bruno Haible  <bruno@clisp.org>
115555         * modules/csharpcomp: New file.
115556         * MODULES.html.sh (C#): Add csharpcomp.
115558 2005-06-08  Bruno Haible  <bruno@clisp.org>
115560         * m4/csharpcomp.m4: New file, from GNU gettext.
115562 2005-06-08  Bruno Haible  <bruno@clisp.org>
115564         * lib/csharpcomp.h: New file, from GNU gettext.
115565         * lib/csharpcomp.c: New file, from GNU gettext.
115566         * lib/csharpcomp.sh.in: New file, from GNU gettext.
115568 2005-06-08  Bruno Haible  <bruno@clisp.org>
115570         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
115571         warning on mingw.
115573 2005-06-07  Derek Price  <derek@ximbiot.com>
115575         Sync from CVS.
115576         * lib/glob_.h: Indent nested #ifdef.
115578 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
115580         Sync from coreutils.
115581         Use "file name" when talking about file names, instead of "filename"
115582         or "path", as per the GNU coding standards.
115583         * lib/mkdir-p.c: Renamed from makepath.c.
115584         (make_dir_parents): Renamed from make_path.  All callers changed.
115585         * lib/mkdir-p.h: Likewise.  All includers changed.
115586         * lib/filenamecat.c: Renamed from path-concat.c.
115587         (file_name_concat): Renamed from path_concat.  All callers changed.
115588         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
115589         * lib/filenamecat.h: Likewise.  All includers changed.
115590         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
115591         in comments or local variable names.
115592         * lib/basename.c: Likewise.
115593         * lib/canonicalize.c, canonicalize.h: Likewise.
115594         * lib/dirname.c, dirname.h: Likewise.
115595         * lib/euidaccess.c: Likewise.
115596         * lib/exclude.c: Likewise
115597         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
115598         * lib/fsusage.c, fsuage.h: Likewise.
115599         * lib/fts.c, fts_.h: Likewise.
115600         * lib/getcwd.c: Likewise.
115601         * lib/getloadavg.c: Likewise.
115602         * lib/mkstemp.c: Likewise.
115603         * lib/mountlist.c, mountlist.h: Likewise.
115604         * lib/openat.c, openat.h: Likewise.
115605         * lib/readlink-stub.c: Likewise.
115606         * lib/readutmp.c, readutmp.h: Likewise.
115607         * lib/rename.c: Likewise.
115608         * lib/rmdir.c: Likewise.
115609         * lib/same.c: Likewise.
115610         * lib/savedir.c: Likewise.
115611         * lib/stripslash.c: Likewise.
115612         * lib/tempname.c: Likewise.
115613         * lib/xreadlink.c: Likewise.
115614         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
115615         All uses changed.
115616         * lib/exclude.h: Likewise.
115618         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
115619         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
115620         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
115621         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
115622         * lib/pathmax.h: Include <limits.h> unconditionally, since other
115623         files have been getting away with it for years (MORE/BSD 4.3
115624         is extinct now).
115625         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
115626         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
115628         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
115629         Define to 256, not 255, as per modern POSIX.
115631 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
115633         Sync from coreutils.
115634         Use "file name" when talking about file names, instead of "filename"
115635         or "path", as per the GNU coding standards.
115636         * MODULES.html.sh: mkdir-p renamed from makepath.
115637         filenamecat renamed from path-concat.
115638         * modules/filenamecat: Renamed from modules/path-concat.
115639         (Files): filenamecat.h and filenamecat.c renamed from
115640         path-concat.h and path-concat.c.
115641         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
115642         (Include): filenamecat.h, not path-concat.h.
115643         * modules/mkdir-p: Renamed from modules/makepath.
115644         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
115645         makepath.c.
115646         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
115647         (Include): mkdir-p.h, not makepath.h.
115649 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
115651         Sync from coreutils.
115652         * m4/mkdir-p.m4: Renamed from makepath.m4.
115653         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
115654         Rename files from makepath.c to mkdir-p.c, and from
115655         makepath.h to mkdir-p.h.
115656         * m4/filenamecat.m4: Renamed from path-concat.m4.
115657         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
115658         Rename files from path-concat.c to filenamecat.c,
115659         and from path-concat.h to filenamecat.h.
115660         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
115661         "file name" in local variables or comments.
115662         * m4/rename.m4: Likewise.
115664 2005-06-01  Bruno Haible  <bruno@clisp.org>
115666         * modules/csharpexec: New file.
115667         * MODULES.html.sh (C#): New section.
115669 2005-06-01  Bruno Haible  <bruno@clisp.org>
115671         * m4/csharp.m4: New file, from GNU gettext.
115672         * m4/csharpexec.m4: New file, from GNU gettext.
115674 2005-06-01  Bruno Haible  <bruno@clisp.org>
115676         * lib/csharpexec.h: New file, from GNU gettext.
115677         * lib/csharpexec.c: New file, from GNU gettext.
115678         * lib/csharpexec.sh.in: New file, from GNU gettext.
115680 2005-05-31  Derek Price  <derek@ximbiot.com>
115681             Paul Eggert  <eggert@cs.ucla.edu>
115683         Sync from cvs.
115684         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
115686 2005-05-31  Derek Price  <derek@ximbiot.com>
115687             Paul Eggert  <eggert@cs.ucla.edu>
115689         Sync from cvs.
115690         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
115692 2005-05-29  Derek Price  <derek@ximbiot.com>
115694         * config/srclist.txt (glob_.h, glob.c): Add these files.
115696 2005-05-29  Derek Price  <derek@ximbiot.com>
115698         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
115699         * modules/glob: New file.
115700         * modules/getlogin_r: Add link to POSIX spec in description.
115702 2005-05-29  Derek Price  <derek@ximbiot.com>
115703             Paul Eggert  <eggert@cs.ucla.edu>
115705         * m4/glob.m4: New file.
115707 2005-05-29  Derek Price  <derek@ximbiot.com>
115708             Paul Eggert  <eggert@cs.ucla.edu>
115710         * lib/glob_.h, lib/glob.c: New files.
115712 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
115714         * modules/fts (Files): Remove m4/inttypes-pri.m4.
115715         * modules/fts-lgpl (Depends-on): Remove gettext.
115717 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
115719         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
115720         and don't require gt_INTTYPES_PRI.
115722 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
115724         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
115726         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
115727         the configuration hassle isn't worth it.
115728         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
115729         (LONGEST_MODIFIER, PRIuMAX): Remove.
115731 2005-05-27  Bruno Haible  <bruno@clisp.org>
115733         * lib/getlogin_r.h: Remove second include of <stddef.h>.
115735 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
115737         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
115738         _POSIX_PTHREAD_SEMANTICS for Solaris.
115740 2005-05-25  Derek Price  <derek@ximbiot.com>
115742         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
115744 2005-05-25  Derek Price  <derek@ximbiot.com>
115745             Paul Eggert  <eggert@cs.ucla.edu>
115747         * modules/getlogin_r, m4/getlogin_r.m4: New files.
115748         * lib/getlogin_r.c, getlogin_r.h: New files.
115750 2005-05-25  Bruno Haible  <bruno@clisp.org>
115751             Derek Price  <derek@ximbiot.com>
115753         * lib/getlogin_r.h: Simplify API documentation.
115755 2005-05-23  Derek Price  <derek@ximbiot.com>
115757         * modules/minmax (Files): Add m4/minmax.m4.
115758         (configure.ac): Add gl_MINMAX.
115760 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
115762         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
115763         so that unistd-safer.h (GPL'ed code) need not be included.
115765 2005-05-22  Bruno Haible  <bruno@clisp.org>
115767         * m4/minmax.m4: New file.
115768         Based on a patch by Derek Price <derek@ximbiot.com>.
115770 2005-05-22  Bruno Haible  <bruno@clisp.org>
115772         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
115773         (INT64_MIN): Fix definition.
115774         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
115776         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
115777         NEED_SIGNED_INT_TYPES.
115779         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
115780         HAVE_SYSTEM_INTTYPES.
115782 2005-05-22  Bruno Haible  <bruno@clisp.org>
115784         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
115785         Also include <sys/param.h> if it defines MIN, MAX.
115786         Based on a patch by Derek Price <derek@ximbiot.com>.
115788 2005-05-21  Jim Meyering  <jim@meyering.net>
115790         * modules/fts (Files): Add m4/inttypes-pri.m4.
115791         (Depends-on): Add lstat and remove gettext.  Alphabetize.
115793 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
115795         New fts module.
115796         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
115797         (setup_dir, free_dir): New functions.
115798         (enter_dir, leave_dir): Define trivial
115799         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
115800         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
115801         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
115802         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
115803         Move to fts-cycle.c.
115804         (fts_open): Use setup_dir.
115805         (fts_close): Use free_dir.
115806         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
115807         This adds a label and some gotos, but the alternatives were messier.
115808         Check for memory allocation failure when entering a dir.
115809         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
115810         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
115811         (FTS): New member fts_cycle, that is a union that contains the
115812         old active_dir_ht and cycle_state.  All uses changed to mention
115813         fts_cycle.ht and fts_cycle.state.
115814         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
115815         fts.c, with the following changes:
115816         (setup_dir, free_dir): New functions.
115817         (enter_dir): Now returns bool.  Return true if successful, false
115818         if memory exhausted.  All callers changed.
115819         Do not bother partly cleaning up on
115820         memory allocation failure; that is free_dir's job.
115821         However, free ad if hash_insert fails, to avoid memory leak.
115822         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
115823         fts->fts_options to see which union member to use.
115825 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
115827         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
115828         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
115830 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
115832         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
115834 2005-05-20  Jim Meyering  <jim@meyering.net>
115836         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
115837         Now a macro, to pacify GCC.
115839 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
115841         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
115842         of -1.
115844 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
115846         * lib/chown.c (rpl_chown): Return -1 on failure.
115848 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
115850         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
115851         Don't check for stddef.h.
115852         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
115853         don't use its results.
115854         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
115855         since we include them unconditionally.  Don't require
115856         AM_STDBOOL_H, since stdbool is a prerequisite.
115857         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
115858         since we assume C89 or better.
115859         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
115860         as we don't use their results.
115861         Don't check for fchdir, memmove, memset, strrchr, as we use
115862         them unconditionally.
115863         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
115864         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
115866 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
115868         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
115869         Include <stddef.h> unconditionally, since we assume C89 now.
115870         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
115871         * lib/fts.c: Include fts_.h first, to check interface.
115872         Do not include intprops.h; no longer needed.
115873         Include cycle-check.h and hash.h, since fts_.h no longer does.
115874         Remove unnecessary casts of closedir to void.
115875         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
115876         decide whether to decrement nlinks.
115877         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
115878         (FTS): Use struct hash_table * instead of Hash_table, so that
115879         we no longer need to include hash.h here.
115881 2005-05-18  Jim Meyering  <jim@meyering.net>
115883         * modules/dirfd (License): Change to LGPL.  Most of the code
115884         is already in the public domain.
115886 2005-05-18  Jim Meyering  <jim@meyering.net>
115888         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
115889         Reported by Yoann Vandoorselaere.
115891 2005-05-17  Jim Meyering  <jim@meyering.net>
115893         * m4/fts.m4: New file, from coreutils.
115895 2005-05-17  Jim Meyering  <jim@meyering.net>
115897         * lib/fts.c, lib/fts_.h: New files, from coreutils.
115899 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
115901         Sync from coreutils.
115902         * m4/unlinkdir.m4: New file.
115904 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
115906         Sync from coreutils.
115907         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
115908         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
115909         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
115910         White space changes only.
115911         * lib/makepath.c (make_path): Port to hosts where leading "//" is
115912         special.
115913         * lib/yesno.c: Include getline.h, not ctype.h.
115914         (yesno): Don't remove leading white space; POSIX doesn't allow it.
115915         Use getline to remove arbitrary restriction on response length.
115917 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
115919         * config/srclist-update: Spell out "Street" in FSF postal
115920         mail address; this is the style the FSF seems to prefer.
115922         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
115923         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
115924         this updates FSF postal mail address.
115926         Sync from coreutils.
115927         * modules/unlinkdir: New file.
115928         * modules/yesno (Depends-on): Add getline.
115929         * MODULES.html.sh (File system functions): Add unlinkdir.
115931 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
115933         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
115934         lib/strsep.h:
115935         Change the initial comment to refer to GPL, not LGPL.
115936         gnulib-tool will change it to LGPL as needed.
115938         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
115939         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
115940         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
115941         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
115942         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
115943         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
115944         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
115945         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
115946         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
115947         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
115948         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
115949         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
115950         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
115951         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
115952         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
115953         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
115954         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
115955         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
115956         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
115957         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
115958         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
115959         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
115960         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
115961         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
115962         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
115963         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
115964         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
115965         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
115966         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
115967         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
115968         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
115969         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
115970         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
115971         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
115972         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
115973         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
115974         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
115975         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
115976         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
115977         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
115978         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
115979         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
115980         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
115981         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
115982         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
115983         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
115984         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
115985         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
115986         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
115987         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
115988         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
115989         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
115990         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
115991         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
115992         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
115993         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
115994         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
115995         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
115996         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
115997         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
115998         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
115999         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
116000         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
116001         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
116002         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
116003         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
116004         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
116005         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
116006         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
116007         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
116008         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
116009         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
116010         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
116011         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
116012         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
116013         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
116014         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
116015         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
116016         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
116017         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
116018         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
116019         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
116020         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
116021         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
116022         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
116023         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
116024         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
116025         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
116026         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
116027         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
116028         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
116029         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
116030         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
116031         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
116032         lib/yesno.c, lib/yesno.h:
116033         Update FSF postal mail address.
116035 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
116037         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
116038         tests/test-memmem.c, tests/test-stpncpy.c:
116039         Update FSF postal mail address.
116041 2005-05-13  Bruno Haible  <bruno@clisp.org>
116043         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
116044         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
116045         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
116046         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
116047         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
116048         Add support for 64-bit integers in the MSVC compiler.
116050 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
116052         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
116054 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
116056         * gnulib-tool (func_import): Sort and uniquify recommended includes.
116058 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
116060         * doc/getdate.texi (General date syntax): Don't say that date
116061         date --iso-8601=ns generates acceptable dates; it doesn't yet.
116062         Problem reported by Nic Ferrier.
116064 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116066         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
116067         specified in ai_socktype. Fix invalid ai_protocol
116068         check. ai_protocol is usually set to 0 or depending on
116069         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
116070         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
116071         ai_socktype / ai_protocol in the returned addrinfo structure.
116073 2005-05-10  Simon Josefsson  <jas@extundo.com>
116075         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
116076         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
116078 2005-05-10  Karl Berry  <karl@gnu.org>
116080         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
116081         (from http://www.gnu.org/licenses).
116082         * doc/COPYING.LIB: also rename to COPYING.LESSER.
116083         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
116084         fdl.texi suffices.
116086 2005-05-10  Karl Berry  <karl@gnu.org>
116088         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
116089         (COPYING.DOC): remove.
116091         * config/srclist-update: new FSF address.
116093 2005-05-10  Derek Price  <derek@ximbiot.com>
116095         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
116096         possible.
116098 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116099             Bruno Haible  <bruno@clisp.org>
116101         * modules/inet_ntop: New file.
116102         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
116103         inet_ntop.
116105 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116106             Bruno Haible  <bruno@clisp.org>
116108         * m4/inet_ntop.m4: New file.
116110 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116111             Bruno Haible  <bruno@clisp.org>
116113         * lib/inet_ntop.h: New file.
116114         * lib/inet_ntop.c: New file, from glibc with modifications.
116116 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
116118         * modules/time_r (License): Change to LGPL.
116119         * modules/extensions (License): Change to LGPL.  Actually,
116120         the license is more permissive than that, but currently gnulib-tool
116121         doesn't know how to handle more-permissive licenses.
116123         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
116124         Problem reported by Dave Love.
116126 2005-05-08  Jim Meyering  <jim@meyering.net>
116128         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
116129         blank.
116131 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
116133         * modules/argmatch (Depends-on): Add stdbool.
116134         * modules/backupfile (Depends-on): Likewise.
116135         * modules/chdir-long (Depends-on): Likewise.
116136         * modules/closeout (Depends-on): Likewise.
116137         * modules/cycle-check (Depends-on): Likewise.
116138         * modules/dirname (Depends-on): Likewise.
116139         * modules/fnmatch (Depends-on): Likewise.
116140         * modules/fsusage (Depends-on): Likewise.
116141         * modules/fwriteerror (Depends-on): Likewise.
116142         * modules/getcwd (Depends-on): Likewise.
116143         * modules/getloadavg (Depends-on): Likewise.
116144         * modules/hard-locale (Depends-on): Likewise.
116145         * modules/makepath (Depends-on): Likewise.
116146         * modules/mountlist (Depends-on): Likewise.
116147         * modules/nanosleep (Depends-on): Likewise.
116148         * modules/posixtm (Depends-on): Likewise.
116149         * modules/quotearg (Depends-on): Likewise.
116150         * modules/readtokens (Depends-on): Likewise.
116151         * modules/readtokens0 (Depends-on): Likewise.
116152         * modules/readutmp (Depends-on): Likewise.
116153         * modules/save-cwd (Depends-on): Likewise.
116154         * modules/strftime (Depends-on): Likewise.
116155         * modules/userspec (Depends-on): Likewise.
116156         * modules/utimecmp (Depends-on): Likewise.
116157         * modules/xgetcwd (Depends-on): Likewise.
116158         * modules/xnanosleep (Depends-on): Likewise.
116159         * modules/xstrtod (Depends-on): Likewise.
116160         * modules/yesno (Depends-on): Likewise.
116162 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
116164         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
116165         needless checks.
116167 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
116169         Merge from coreutils.  Among other things,
116170         add bulletproofing for cases where stdin, stdout, or stderr are closed.
116171         * lib/fd-safer.c: New file.
116172         * lib/fcntl-safer.h, open-safer.c: Remove.
116173         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
116174         * lib/dup-safer.c: Include unistd-safer.h first.
116175         Don't include errno.h.
116176         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
116177         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
116178         * lib/file-type.c: Rely on file-type.h change.
116179         * lib/getloadavg.c: Include unistd-safer.h.
116180         (getloadavg): Use safer open.
116181         * lib/getusershell.c: Include "stdio-safer.h".
116182         (getusershell): Use safer fopen.
116183         * lib/long-options.c (long_options): Use NULL rather than 0.
116184         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
116185         'free'.
116186         * lib/modechange.c: Likewise.
116187         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
116188         (MODE_DONE): New constant.
116189         (struct mode_change): Remove 'next' member.
116190         (make_node_op_equals): New function; like the old one of the
116191         same name, except it allocates an array.
116192         (mode_compile, mode_create_from_ref): Use it.
116193         (mode_compile): Allocate result as an array, not a linked list.
116194         Parse octal string ourself, so that we catch mistakes like "+0".
116195         (mode_adjust): Arg is an array, not a linked list.
116196         * lib/modechange.c: Include stat-macros.h, xalloc.h.
116197         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
116198         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
116199         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
116200         Remove.  This is now stat-macros.h's job.
116201         (talloc): Remove.  All callers replaced by xalloc, so that
116202         our invokers don't have to worry about reporting memory failures.
116203         (make_node_op_equals): Remove.
116204         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
116205         New constants.
116206         (struct mode_change): Moved here from modechange.h.
116207         (mode_append_entry): Remove.
116208         (mode_compile): Remove MASKED_OPS arg, since it encouraged
116209         apps to have incorrect behavior.  Use simpler algorithm for head
116210         and tail.  Don't futz with umask; that's now the job of mode_adjust.
116211         Detect more invalid usages rather than having somewhat-random behavior.
116212         Don't insert an "a=" action, as that leads to incorrect behavior.
116213         (mode_compile, mode_create_from_ref): Return NULL on error instead
116214         of an enum, since now there's only one way to have an error.  All
116215         callers changed.
116216         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
116217         at the correct time.  Simplify calculation of "+u" and its ilk.
116218         Don't mishandle "+X".
116219         (mode_free): Remove "register" and localize decls.
116220         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
116221         (struct mode_change): Move to modechange.c; callers don't
116222         need to see this stuff.
116223         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
116224         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
116225         (mode_change, mode_adjust): Reflect the new signatures noted above.
116226         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
116227         that might redefine system include files.
116228         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
116229         (my_usleep): Use NULL rather than (void *) 0.
116230         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
116231         Use siginterrupt to specify that system calls should be interrupted.
116232         (rpl_nanosleep): Move initialization of suspended closer to call of
116233         my_usleep.
116234         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
116235         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
116236         (desirable_utmp_entry): New function.
116237         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
116238         using x2nrealloc, to simplify logic.
116239         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
116240         size calculation.  Do not assume utmp file is a regular file.
116241         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
116242         (READ_UTMP_CHECK_PIDS): New constant.
116243         * lib/save-cwd.c: Include unistd-safer.h.
116244         (save_cwd): Use fd_safer.
116245         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
116246         [!_LIBC] Include "stat-macros.h" instead.
116247         * lib/unistd-safer.h (fd_safer): New decl.
116249 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
116251         * modules/getloadavg (Depends-on): Add unistd-safer.
116252         * modules/getusershell (Depends-on): Add stdio-safer.
116253         * modules/lstat (Depends-on): Remove xalloc.
116254         * modules/mkstemp (Depends-on): Add stat-macros.
116255         * modules/modechange (Depends-on): Remove xstrtol.
116256         Add stat-macros, xalloc.
116257         * modules/save-cwd (Depends-on): Add unistd-safer.
116258         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
116259         * modules/unistd-safer (Files): Add lib/fd-safer.c
116260         (Makefile.am): Remove lib_SOURCES.
116262         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
116263         Remove fcntl-safer; unistd-safer supersedes it.
116265 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
116267         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
116268         AC_HEADER_STAT.
116269         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
116270         (gl_PREREQ_CHOWN): Remove.
116271         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
116272         it.  Don't require AC_HEADER_STAT.
116273         (gl_PREREQ_LSTAT): Remove.
116274         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
116275         Don't require AC_HEADER_STAT.
116276         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
116277         (gl_PREREQ_RMDIR): Remove.
116278         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
116279         mention stat-macros.h or AC_HEADER_STAT, since we'll make
116280         the stat-macros module a prerequisite.
116281         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
116282         * m4/filemode.m4 (gl_FILEMODE): Likewise.
116283         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
116284         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
116285         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
116286         variable names.
116287         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
116288         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
116289         variable prefixes.
116290         * m4/fcntl-safer.m4: Remove.
116291         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
116292         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
116293         Invoke gl_PREREQ_FD_SAFER.
116294         (gl_PREREQ_FD_SAFER): New macro.
116295         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
116296         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
116297         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
116298         Remove duplicate call to AC_LIBOBJ(readutmp).
116299         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
116301         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
116302         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
116304 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
116306         * MODULES.html.sh (Misc): Add byteswap.
116308 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
116310         * modules/getcwd (Depends-on): Add extensions.
116311         * modules/openat (Depends-on): Likewise.
116313 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
116315         * modules/byteswap: New file.
116317 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
116319         * m4/byteswap.m4: New file.
116321 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
116323         * lib/byteswap_.h: New file.
116325 2005-04-25  Karl Berry  <karl@gnu.org>
116327         * m4/gettext.m4: Update from GNU gettext 0.14.4.
116329 2005-04-25  Albert Chin  <china@thewrittenword.com>
116331         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
116332         Toolkit C bug.
116334 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
116336         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
116337         (func_ln_if_changed): Remove forcibly for no error message
116338         in case file does not exist.
116340 2005-04-19  Simon Josefsson  <jas@extundo.com>
116342         * gnulib-tool (Options): Make --symlink mean --symbolic.
116344 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
116346         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
116348 2005-04-16  Simon Josefsson  <jas@extundo.com>
116350         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
116352 2005-04-15  Simon Josefsson  <jas@extundo.com>
116354         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
116356 2005-04-15  Simon Josefsson  <jas@extundo.com>
116358         * gnulib-tool: Rename --symlink to --symbolic.
116360 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
116362         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
116363         symbolic links to files instead of copying/moving.  Add --aux-dir,
116364         specifying directory relative --dir where auxiliary build tools
116365         are placed.
116367 2005-04-14  Bruno Haible  <bruno@clisp.org>
116369         * modules/allocsa (License): Change to LGPL.
116370         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
116372 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
116374         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
116375         that "UTC +1 second" continues to work.  Problem reported
116376         by Dmitry V. Levin.
116377         (relunit_snumber): New rule.
116378         (relunit): Use it.
116380 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
116382         * lib/getdate.y (universal_time_zone_table): New constant.
116383         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
116384         universal_time_zone_table.
116385         (lookup_zone): Prefer universal_time_zone_table to
116386         local_time_zone_table, so that "GMT" time stamps are allowed in
116387         London during the summer.  Problem reported by Ian Abbott.
116389 2005-04-12  Jim Meyering  <jim@meyering.net>
116391         * lib/human.c (humblock): Set *options even when returning due to
116392         xstrtoumax conversion failure.  Thanks to a used-uninitialized
116393         warning from gcc-4.
116395 2005-04-09  Jim Meyering  <jim@meyering.net>
116397         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
116398         -Wuninitialized: initialize tm0.tm_year.
116400 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
116402         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
116403         count, since there's no maximum.  All uses changed.
116404         Add member dsts_seen.
116405         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
116406         not being INT_MAX.
116407         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
116408         Use pc_rels_seen to decide whether a date is absolute.
116410         * lib/getdate.y (number): Don't overwrite year.
116411         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
116412         check.
116414 2005-04-02  Simon Josefsson  <jas@extundo.com>
116416         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
116417         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
116419 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
116421         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
116422         where no absolute path name can be longer than PATH_MAX.
116424 2005-03-27  Jim Meyering  <jim@meyering.net>
116426         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
116428 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
116430         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
116431         "one's complement" -> "ones' complement" in comment, as per Knuth.
116432         "value of type" -> "type or expression" in comment.
116433         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
116435 2005-03-26  Jim Meyering  <jim@meyering.net>
116437         Comment nits.
116438         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
116439         Correct typos: s/or/of/.
116441 2005-03-26  Jim Meyering  <jim@meyering.net>
116443         * modules/check-include-files: Move to ../ and rename to...
116444         * check-module: ...this.
116446 2005-03-25  Jim Meyering  <jim@meyering.net>
116448         * modules/xvasprintf (Files): Add xalloc.h.
116450 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
116452         * modules/gettext (Files): config/config.rpath ->
116453         build-aux/config.rpath
116454         * modules/iconv (Files): Likewise.
116455         Problem reported by Oskar Liljeblad.
116457 2005-03-23  Jim Meyering  <jim@meyering.net>
116459         * modules/check-include-files: New script to check for
116460         missing dependencies, multiple includes, etc.
116462         * modules/c-strtold (Depends-on): Add xalloc.
116463         * modules/c-strtod (Depends-on): Add xalloc.
116464         * modules/hash (Depends-on): Add xalloc.
116465         (Files): Remove lib/xalloc.h.
116467         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
116468         * modules/userspec (Files): Add lib/inttostr.h.
116470 2005-03-23  Jim Meyering  <jim@meyering.net>
116472         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
116474 2005-03-22  Jim Meyering  <jim@meyering.net>
116476         * modules/stat-macros: New module.
116477         * modules/canonicalize, modules/euidaccess, modules/file-type,
116478         * modules/filemode, modules/lchown, modules/makepath,
116479         * modules/rmdir, modules/stat: Depend on new stat-macros module
116480         rather than listing lib/stat-macros.h manually.
116481         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
116483 2005-03-22  Jim Meyering  <jim@meyering.net>
116485         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
116487 2005-03-22  Bruno Haible  <bruno@clisp.org>
116489         * config/srclist.txt: Replace target directory 'config' with
116490         'build-aux'.
116491         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
116492         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
116493         ../build-aux/.
116495 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
116497         * modules/chdir-long (Depends-on): Add mempcpy.
116499         * modules/acl, modules/backupfile, modules/c-strtod,
116500         modules/c-strtold, modules/canon-host, modules/canonicalize,
116501         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
116502         modules/exclude, modules/exitfail, modules/file-type,
116503         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
116504         modules/getdate, modules/getline, modules/getpagesize,
116505         modules/getpass, modules/getugroups, modules/group-member,
116506         modules/hard-locale, modules/hash, modules/human, modules/idcache,
116507         modules/inttostr, modules/long-options, modules/makepath,
116508         modules/md5, modules/memcasecmp, modules/memcoll,
116509         modules/modechange, modules/mountlist, modules/path-concat,
116510         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
116511         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
116512         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
116513         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
116514         modules/strftime, modules/strndup, modules/strverscmp,
116515         modules/timespec, modules/unlocked-io, modules/userspec,
116516         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
116517         modules/yesno:
116518         Remove lib_SOURCES line from Makefile.am section, as this is now
116519         done automatically by the corresponding Autoconf macro.
116521 2005-03-21  Jim Meyering  <jim@meyering.net>
116523         Changes imported from coreutils.
116525         * lib/cycle-check.c: Don't include xalloc.h.
116527         * lib/path-concat.c: Don't include assert.h.
116528         (path_concat): Remove assertion that would have triggered
116529         for ABASE starting with more than one slash.
116530         Reported by Andreas Schwab.
116532         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
116533         properly when ABASE is an absolute file name.
116534         Correct the description of this function.
116535         Include <assert.h>.
116536         Add an assertion and a test driver.
116537         This fixes a bug introduced on 2004-07-02.
116538         Andreas Schwab reported the resulting failure of cp --parents:
116539         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
116541 2005-03-21  Jim Meyering  <jim@meyering.net>
116543         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
116544         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
116546 2005-03-21  Jim Meyering  <jim@meyering.net>
116547         and  Paul Eggert  <eggert@cs.ucla.edu>
116549         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
116550         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
116551         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
116552         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
116553         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
116554         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
116555         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
116556         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
116557         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
116558         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
116559         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
116560         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
116561         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
116562         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
116563         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
116564         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
116565         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
116566         for these modules.
116568 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
116570         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
116571         (which shouldn't happen), generate nothing instead of returning 0
116572         immediately, so that nstrftime (NULL, ...) doesn't return 0.
116574 2005-03-16  Bruno Haible  <bruno@clisp.org>
116576         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
116577         HAVE_LONGLONG_64BIT.
116579 2005-03-16  Bruno Haible  <bruno@clisp.org>
116581         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
116582         HAVE_LONGLONG_64BIT.
116584 2005-03-16  Bruno Haible  <bruno@clisp.org>
116586         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
116587         HAVE_LONGLONG_64BIT.
116589 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
116591         * lib/strftime.c (my_strftime): Prepend space to format so that we can
116592         reliably distinguish strftime failure from empty output on POSIX
116593         hosts.
116595 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
116597         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
116598         (iconv_string): Don't guess a size-zero buffer, as that might cause
116599         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
116600         result would be 'too large', where 'too large' is (heuristically)
116601         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
116602         overflow concerns.  This will prevent some unwanted malloc failures
116603         when the inputs are very large.
116605 2005-03-15  Karl Berry  <karl@gnu.org>
116607         * config/srclist.txt (config.rpath): from gettext.
116608         * config/config.rpath: update.
116610 2005-03-15  Bruno Haible  <bruno@clisp.org>
116612         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
116613         to 'negate'.
116615         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
116616         variable.
116618         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
116619         results.
116621 2005-03-14  Simon Josefsson  <jas@extundo.com>
116623         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
116624         <fx@gnu.org>.
116626 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
116628         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
116629         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
116630         intprops.h.
116631         * lib/strtol.c: Likewise.
116633 2005-03-14  Jim Meyering  <jim@meyering.net>
116635         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
116636         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
116637         to be nonzero so that we (and caller) can detect the difference
116638         between a valid zero-length expansion and an error return, even
116639         when the underlying strftime fails before writing anything into
116640         that location.
116642 2005-03-14  Bruno Haible  <bruno@clisp.org>
116644         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
116645         Update from GNU gettext 0.14.3.
116647 2005-03-10  Jim Meyering  <jim@meyering.net>
116649         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
116651 2005-03-10  Jim Meyering  <jim@meyering.net>
116653         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
116654         so that this module works on systems without fchdir.
116656 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
116658         Factor int-properties macros into a single file, except for
116659         glibc-related files.
116660         * lib/intprops.h: New file.
116661         * lib/getloadavg.c: Include it instead of limits.h.
116662         (INT_STRLEN_BOUND): Remove.
116663         * lib/human.c: Include intprops.h.
116664         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
116665         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
116666         302/1000.
116667         * lib/inttostr.h: Include intprops.h instead of limits.h.
116668         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
116669         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
116670         for consistency with intprops.h.
116671         (time_t_is_integer, twos_complement_arithmetic): Use them.
116672         * lib/sig2str.h: Include <signal.h>, intprops.h.
116673         (INT_STRLEN_BOUND): Remove.
116674         * lib/strftime.c (TYPE_SIGNED): Remove.
116675         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
116676         * lib/strtol.c: Adjust comments to match intprops.h.
116677         * lib/userspec.c: Include intprops.h.
116678         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
116679         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
116680         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
116681         instead of rolling our own expressions.
116682         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
116684         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
116685         instead of int.
116686         (my_strftime): Do not mishandle years close to INT_MAX, by doing
116687         the right thing even if adding 1900 would overflow.  Similarly
116688         for tm_mon + 1 and tm_yday + 1.
116689         Make %Y always equivalent to %C%y, and similarly for %G and %g.
116690         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
116691         (DO_SIGNED_NUMBER): New macro.
116692         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
116694 2005-03-07  Bruno Haible  <bruno@clisp.org>
116696         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
116698 2005-03-07  Bruno Haible  <bruno@clisp.org>
116700         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
116702 2005-03-04  Derek R. Price  <derek@ximbiot.com>
116704         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
116705         (func_import): Only replace files via --import when they have actually
116706         changed.
116708 2005-03-03  Derek R. Price  <derek@ximbiot.com>
116710         * m4/mmap-anon.m4: New file.
116711         * m4/pagealign_alloc.m4: New file.
116713 2005-03-03  Derek R. Price  <derek@ximbiot.com>
116714             Bruno Haible  <bruno@clisp.org>
116716         * modules/pagealign_alloc: New file.
116717         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
116719 2005-03-03  Derek R. Price  <derek@ximbiot.com>
116720             Bruno Haible  <bruno@clisp.org>
116722         * lib/pagealign_alloc.h: New file.
116723         * lib/pagealign_alloc.c: New file.
116725 2005-03-03  Bruno Haible  <bruno@clisp.org>
116727         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
116728         Use an all-permissive copyright notice, recommended by RMS.
116730 2005-03-02  Bruno Haible  <bruno@clisp.org>
116732         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
116733         of AIX, the replacement has to be done only after <string.h> is
116734         included, therefore not in config.h. stpncpy.h does the replacement,
116735         and stpncpy.c uses it.
116737 2005-03-02  Bruno Haible  <bruno@clisp.org>
116739         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
116740         stpncpy.c uses it.
116742 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116744         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
116745         The workaround isn't strictly needed for POSIX conformance, and
116746         it's too much of a pain to configure and maintain.  We'll ask
116747         people to fix their kernels instead.
116748         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
116749         (NANOSLEEP_BUG_WORKAROUND): Remove.
116750         (xnanosleep): Remove the workaround.
116752 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116754         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
116755         Reported by Derek Price.
116756         (Include): Add "timespec.h".
116758         * modules/xnanosleep (Depends-on): Remove gethrxtime.
116760 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
116762         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
116763         to detect nanosleep bug.
116765 2005-03-01  Bruno Haible  <bruno@clisp.org>
116767         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
116769 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
116771         * modules/gethrxtime: New file.
116772         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
116773         (Depends-on): Add gethrxtime.
116774         (configure.ac): Add gl_XNANOSLEEP.
116775         (Makefile.am): Remove lib_SOURCES line.
116777 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
116779         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
116780         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
116782 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
116784         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
116785         * lib/timespec.h (gettime): Return void, since it always
116786         succeeds now.  All uses changed.
116787         * lib/gettime.c (gettime): Likewise.
116788         [HAVE_NANOTIME]: Prefer nanotime.
116789         Assume gettimeofday succeeds, as POSIX requires.
116790         Assime time () succeeds, since other code already does.
116791         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
116792         (timespec_subtract): Remove.
116793         (NANOSLEEP_BUG_WORKAROUND): New constant.
116794         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
116795         things considerably.  Use it only on GNU/Linux hosts, since the
116796         workaround shouldn't be needed elsewhere.
116798 2005-02-24  Bruno Haible  <bruno@clisp.org>
116800         * modules/gettext (Files): Add m4/glibc2.m4.
116802 2005-02-24  Bruno Haible  <bruno@clisp.org>
116804         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
116805         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
116806         * m4/progtest.m4:
116807         Update from GNU gettext 0.14.2.
116808         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
116810 2005-02-24  Bruno Haible  <bruno@clisp.org>
116812         * lib/localcharset.c: Update from GNU gettext 0.14.2.
116813         * lib/config.charset: Update from GNU gettext 0.14.2.
116815 2005-02-24  Bruno Haible  <bruno@clisp.org>
116817         * lib/gettext.h: Update from GNU gettext 0.14.2.
116819 2005-02-23  Simon Josefsson  <jas@extundo.com>
116821         * m4/iconvme.m4: New file.
116823 2005-02-23  Jim Meyering  <jim@meyering.net>
116825         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
116826         change.
116827         Thanks to Bruno Haible for catching it.
116829 2005-02-22  Simon Josefsson  <jas@extundo.com>
116831         * modules/iconvme: New file.
116833         * MODULES.html.sh: Add iconvme.
116835 2005-02-22  Simon Josefsson  <jas@extundo.com>
116837         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
116839 2005-02-22  Simon Josefsson  <jas@extundo.com>
116841         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
116843 2005-02-22  Jim Meyering  <jim@meyering.net>
116845         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
116846         s/ifndef/ifdef/.
116848 2005-02-20  Neil Conway  <neilc@samurai.com>
116850         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
116851         returned by OSX/Darwin if the specified buffer is not large
116852         enough for the hostname.
116854 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
116856         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
116857         pass it to _help, otherwise the latter coredumps trying to
116858         dereference state.root_argp.
116860 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
116862         * modules/chdir-long (Depends-on): Add memrchr.
116863         * modules/memrchr (Files): Add lib/memrchr.h.
116864         (Include): "memrchr.h".
116866 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
116868         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
116870 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
116872         * lib/memrchr.h: New file.
116873         * lib/chdir-long.c: Include it.
116874         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
116875         Don't bother including stddef.h.
116877 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
116879         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
116880         inclusion.
116881         Include <sys/types.h>, for dev_t.
116882         (ME_DUMMY, ME_REMOTE): Move from here....
116883         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
116884         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
116885         Dmitry V. Levin.
116886         Include mountlist.h first, to test the interface.
116888 2005-01-29  Bruno Haible  <bruno@clisp.org>
116890         * lib/progname.c (program_name): Initialize.
116891         Needed when linking statically on MacOS X.
116893 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
116895         Sync from coreutils.
116896         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
116897         (Depends-on): Add c-strtod.
116898         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
116900 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
116902         Sync from coreutils.
116903         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
116905         Remove files that are specific to coreutils.
116906         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
116908 2005-01-28  Bruno Haible  <bruno@clisp.org>
116910         * modules/javacomp: New file.
116911         * MODULES.html.sh (Java): Add javacomp.
116913 2005-01-28  Bruno Haible  <bruno@clisp.org>
116915         * m4/javacomp.m4: New file, from GNU gettext.
116917 2005-01-28  Bruno Haible  <bruno@clisp.org>
116919         * lib/javacomp.sh.in: New file, from GNU gettext.
116920         * lib/javacomp.h: New file, from GNU gettext.
116921         * lib/javacomp.c: New file, from GNU gettext.
116923 2005-01-26  Simon Josefsson  <jas@extundo.com>
116925         * lib/gai_strerror.c: Use GPL in header.
116927 2005-01-26  Bruno Haible  <bruno@clisp.org>
116929         * modules/javaexec: New file.
116930         * MODULES.html.sh (Java): Add javaexec.
116932 2005-01-26  Bruno Haible  <bruno@clisp.org>
116934         * m4/javaexec.m4: New file, from GNU gettext.
116936 2005-01-26  Bruno Haible  <bruno@clisp.org>
116938         * lib/javaexec.sh.in: New file, from GNU gettext.
116939         * lib/javaexec.h: New file, from GNU gettext.
116940         * lib/javaexec.c: New file, from GNU gettext.
116942 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
116944         * modules/lchown (Depends-on): Remove lchown.h
116946 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
116948         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
116949         must be defined if the header file was not found, in order
116950         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
116952 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
116954         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
116955         initializers for struct pentry_state.
116956         (__argp_error): Check return value of __asprintf
116957         (__argp_failure): Translate error message
116959         * lib/argp-parse.c: Removed braces around the expansion of N_()
116961 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
116963         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
116964         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
116965         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
116966         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
116967         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
116968         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
116969         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
116970         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
116971         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
116972         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
116973         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
116974         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
116975         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
116976         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
116977         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
116978         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
116979         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
116980         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
116981         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
116982         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
116983         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
116984         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
116985         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
116986         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
116987         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
116988         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
116989         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
116990         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
116991         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
116992         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
116993         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
116994         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
116995         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
116996         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
116997         xstrtol.m4, xstrtoumax.m4, yesno.m4:
116998         Use an all-permissive copyright notice, recommended by RMS.
117000 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
117002         * modules/chdir-long (Depends-on): Remove mempcpy.
117004 2005-01-21  Jim Meyering  <jim@meyering.net>
117006         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
117007         same value as for Solaris 9.
117009         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
117010         component length.  This included changing the parameter to be
117011         of type `char *' rather than `char const *'.
117012         * lib/chdir-long.h (chdir_long): Update prototype.
117014         * lib/openat.c (fdopendir, fstatat): New functions.
117015         * lib/openat.h: Include headers required for use of DIR and struct
117016         stat.
117017         [AT_SYMLINK_NOFOLLOW]: Define.
117018         (fdopendir, fstatat): Add prototypes.
117020 2005-01-21  Bruno Haible  <bruno@clisp.org>
117022         * modules/classpath: New file.
117023         * MODULES.html.sh (Java): Add classpath.
117025 2005-01-21  Bruno Haible  <bruno@clisp.org>
117027         * lib/classpath.h: New file, from GNU gettext.
117028         * lib/classpath.c: New file, from GNU gettext.
117030 2005-01-20  Simon Josefsson  <jas@extundo.com>
117032         * modules/version-etc-fsf: New file.
117034 2005-01-20  Simon Josefsson  <jas@extundo.com>
117036         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
117037         * lib/version-etc.c: Remove version_etc_copyright.
117038         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
117039         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
117041 2005-01-20  Simon Josefsson  <jas@extundo.com>
117043         * lib/base64.h (isbase64): Add.
117045         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
117046         using a unsigned prototype, don't inline.
117047         (base64_decode): Use it.
117049 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117051         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
117052         it.
117054 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117056         * lib/save-cwd.c (save_cwd): Remove code to support the case
117057         where fchdir is missing or flaky.
117059 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117061         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
117063 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
117065         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
117066         AC_LIBSOURCES now does this.
117067         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
117068         with new ullong_max module.
117070 2005-01-19  Bruno Haible  <bruno@clisp.org>
117072         * modules/sh-quote: New file.
117073         * MODULES.html.sh (Executing programs): Add sh-quote.
117075 2005-01-19  Bruno Haible  <bruno@clisp.org>
117077         * lib/sh-quote.h: New file, from GNU gettext.
117078         * lib/sh-quote.c: New file, from GNU gettext.
117080 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
117082         Merge from coreutils.
117083         * m4/ullong_max.m4: New file.
117084         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
117085         (gl_MACROS): Assume localeconv exists.
117087 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
117089         Merge changes from coreutils, as described below in several
117090         changelogs dated today.
117092         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
117093         (O_DIRECTORY): Remove; not needed here, since "." must be
117094         a directory.  All uses removed.
117095         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
117096         universal on Suns, and we also need to test for IRIX.
117097         Revamp code to use 'if' rather than '#if'.
117098         Avoid unnecessary comparison of cwd->desc to 0.
117100         * lib/utimens.c (futimens): Robustify the previous patch, by checking
117101         for known valid error numbers rather than observed invalid ones.
117103 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
117105         * modules/ullong_max: New file.
117107         * modules/chdir-long, modules/openat: New files.
117108         * modules/save-cwd (Depends-on): Depend on chdir-long.
117109         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
117111 2005-01-18  Jim Meyering  <jim@meyering.net>
117113         Merge from coreutils.
117114         * m4/chdir-long.m4, m4/openat.m4: New files.
117115         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
117116         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
117117         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
117118         is sane and DOES follow symlinks.  Besides, testing 20 different
117119         systems found no broken chown implementations.
117120         Prompted by a change in rsync's copy of this macro.
117121         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
117123         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
117125         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
117126         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
117127         NULL-means-set-to-current-time semantics.
117128         Remove temporary file immediately, rather than waiting
117129         for configure's at-exit trap code to do it.
117131 2005-01-18  Jim Meyering  <jim@meyering.net>
117133         * lib/version-etc.c (version_etc_copyright): Update copyright date.
117135         * lib/utimens.c (futimens): Account for the fact that futimes
117136         can also fail with errno == ENOSYS or errno == ENOENT.
117137         Patch from Dmitry V. Levin.
117139         Change the name of the robust chdir function from chdir to chdir_long.
117140         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
117141         (restore_cwd): Use chdir_long, not chdir.
117142         * lib/chdir-long.c: Renamed from chdir.c.
117143         * lib/chdir-long.h: Renamed from chdir.h.
117144         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
117145         Hurd.
117147 2005-01-18  Bruno Haible  <bruno@clisp.org>
117149         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
117150         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
117151         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
117152         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
117153         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
117154         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
117155         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
117156         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
117157         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
117158         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
117159         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
117160         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
117161         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
117162         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
117163         Use an all-permissive copyright notice, recommended by RMS.
117165 2005-01-18  Bob Proulx  <bob@proulx.com>
117167         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
117168         simplify offsetof() macro construct to avoid compile failure with
117169         native HP-UX 11.0 ANSI C compiler.
117171 2005-01-17  Bruno Haible  <bruno@clisp.org>
117173         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
117174         redundant because stpncpy.m4 takes care of it.
117176 2005-01-17  Bruno Haible  <bruno@clisp.org>
117178         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
117180 2005-01-17  Bruno Haible  <bruno@clisp.org>
117182         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
117183         used.
117185 2005-01-17  Bruno Haible  <bruno@clisp.org>
117187         * lib/fwriteerror.h (fwriteerror): Change specification to include
117188         fclose.
117189         * lib/fwriteerror.c: Include <stdbool.h>.
117190         (fwriteerror): At the end, close the file stream. Record whether
117191         stdout was already closed.
117193 2005-01-17  Bruno Haible  <bruno@clisp.org>
117195         * lib/execute.c (environ): Declare if needed.
117196         * lib/pipe.c (environ): Likewise.
117197         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
117199 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
117201         * modules/argp: Depend on vsnprintf
117203 2005-01-10  Jim Meyering  <jim@meyering.net>
117205         * modules/closeout (Depends-on): Add atexit.
117207 2005-01-06  Bruno Haible  <bruno@clisp.org>
117209         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
117211 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
117213         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
117214         definitions to be after all include files, to avoid collisions.
117215         Problem reported by Bob Proulx.
117217 2005-01-04  Jim Meyering  <jim@meyering.net>
117219         Changes imported from coreutils.
117220         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
117221         as the mkstemp template, use a temporary directory and an
117222         8.3-friendly template to avoid trouble on systems like DJGPP.
117223         Reported by Juan M. Guerrero via Stepan Kasal.
117224         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
117225         close. Remove the temporary directory right away, rather than waiting
117226         for configure's at-exit trap code to do it.
117227         Suggestion from Stepan Kasal.
117229 2005-01-01  Simon Josefsson  <jas@extundo.com>
117231         * gnulib-tool: Print #include directives when --import'ing.
117233 2004-12-28  Simon Josefsson  <jas@extundo.com>
117235         * tests/test-base64.c: Include required header files.  Remove
117236         unused variables.
117238 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
117240         * modules/error (Depends-on): Remove gettext.
117242 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
117244         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
117245         not needed.  This removes a dependency on the gettext module.
117246         [defined _LIBC]: Do not include <libintl.h>; not needed.
117248 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117250         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
117251         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
117253 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
117255         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
117256         HAVE_DECL_STRTOLD.
117258 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
117260         * modules/getdate (Depends-on): Remove alloca-opt.
117262 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
117264         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
117266 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
117268         * lib/argp-parse.c: Include <stddef.h>.
117269         (alignof, alignto): New macros.
117270         (parser_init): Don't assume that void * is aligned sufficiently
117271         for struct option.
117273         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
117274         need to extend the stack.
117275         (YYINITDEPTH): New macro, so that the initial stack isn't overly
117276         large.
117278 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
117280         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
117282 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
117284         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
117285         (2004-10-24) change.  Apparently this was a false alarm.
117287         * modules/getdate: Depend on alloca-opt, not alloca.
117289 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
117291         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
117292         Remove now-obsolete comment about AIX.
117293         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
117294         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
117295         (YYMAXDEPTH): New macro.
117297 2004-12-18  Simon Josefsson  <jas@extundo.com>
117299         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
117301 2004-12-18  Bruno Haible  <bruno@clisp.org>
117303         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
117305 2004-12-18  Bruno Haible  <bruno@clisp.org>
117307         * lib/fatal-signal.c (fatal_signals): Make non-const.
117308         (init_fatal_signals): New function.
117309         (uninstall_handlers, install_handlers): Ignore signals that were set to
117310         SIG_IGN.
117311         (at_fatal_signal): Call init_fatal_signals.
117312         (init_fatal_signal_set): Likewise. Ignore signals that were set to
117313         SIG_IGN.
117314         Reported by Paul Eggert.
117316 2004-12-18  Bruno Haible  <bruno@clisp.org>
117318         * doc/alloca.texi: New file.
117319         * doc/alloca-opt.texi: New file.
117321 2004-12-17  Jim Meyering  <jim@meyering.net>
117323         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
117324         Otherwise, install-sh could exit with improper exit status when
117325         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
117327 2004-12-16  Simon Josefsson  <jas@extundo.com>
117329         * tests/test-base64.c: Add license.
117331 2004-12-15  Stepan Kasal  <address@hidden>
117333         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
117335 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
117337         * modules/getcwd (Files): Add m4/d-ino.m4.
117338         Suggested by Mark D. Baushke.
117340 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
117342         * lib/getdate.y (textint): New member "negative".
117343         (time_zone_hhmm): New function.
117344         Expect 14 shift-reduce conflicts, not 13.
117345         (o_colon_minutes): New rule.
117346         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
117347         (yylex): Set the "negative" member of signed numbers.
117349 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
117351         * doc/getdate.texi (Time of day items, Time zone items):
117352         Describe new formats +00:00, UTC+00:00.
117354 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117356         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
117357         spurious "-l"s.  Problem reported by Stepan Kasal.
117359 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
117361         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
117362         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
117364 2004-12-04  Simon Josefsson  <jas@extundo.com>
117366         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
117367         Vandoorselaere <yoann@prelude-ids.org>.
117369 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
117371         Changes imported from coreutils.
117372         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
117373         exist.
117374         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
117376 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
117378         Changes imported from coreutils.
117379         * lib/hard-locale.c: Assume <locale.h> exists.
117380         Include "strdup.h".
117381         (GLIBC_VERSION): New macro.
117382         (hard_locale): Assume setlocale exists.
117383         Rewrite to avoid #ifdef.
117384         Use strdup rather than malloc + strcpy.
117385         * lib/human.c: Assume <locale.h> exists.
117386         (human_readable): Assume localeconv exists.
117388 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
117390         * modules/hard-locale (Depends-on): Add strdup.
117392 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
117394         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
117395         convert T2, not T.  (Imported from libc.)
117397 2004-11-30  Simon Josefsson  <jas@extundo.com>
117399         * modules/restrict (License): Change to LGPL.
117401 2004-11-30  Simon Josefsson  <jas@extundo.com>
117403         * m4/restrict.m4: Add copyright and copying conditions.
117405 2004-11-30  Simon Josefsson  <jas@extundo.com>
117407         * m4/base64.m4: New file.
117409 2004-11-30  Simon Josefsson  <jas@extundo.com>
117411         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
117412         base64.
117414         * tests/test-base64.c: New file.
117416         * modules/base64: New file.
117418 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
117420         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
117421         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
117423         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
117425 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
117427         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
117428         (__getcwd.c): Don't restore errno; glibc doesn't.
117429         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
117430         first, falling back to our code only if its results look suspicious.
117431         Ensure that the resulting buffer is only as large as necessary.
117433         * lib/readutmp.c: Include readutmp.h first.
117434         Include <errno.h>, since readutmp.h no longer does that.
117435         * lib/readutmp.h: Don't include <errno.h>,
117436         <sys/param.h>, <time.h>; not needed to establish interface.
117437         (errno): Remove decl.
117438         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
117439         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
117440         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
117442 2004-11-28  Simon Josefsson  <jas@extundo.com>
117444         * lib/base64.h, base64.c: New file.
117446 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
117448         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
117450 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
117452         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
117453         (Depends-on): Remove pathmax, same.  Add mempcpy.
117454         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
117455         (Makefile.am): Append getcwd.h to lib_SOURCES.
117456         (Include): Add getcwd.h.
117457         (Maintainer): Change from Jim Meyering to "all, glibc",
117458         since getdate now uses intended-for-glibc code.
117459         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
117460         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
117462 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
117464         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
117465         HP's ANSI C compiler.
117466         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
117467         Declaring int functions causes warnings on some modern systems and
117468         shouldn't be needed to compile on ancient ones.
117469         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
117470         defined.
117472         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
117473         with the following changes.
117474         (__set_errno): Parenthesize properly.
117475         Include <stdbool.h>.
117476         (MIN, MAX, MATCHING_INO): New macros.
117477         (__getcwd): Define with prototype, not K&R form.
117478         Use heuristics to allocate default buffer on stack if possible.
117479         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
117480         behavior, and to avoid the PATH_MAX limit when computing
117481         ../../../../...
117482         Use MATCHING_INO to compare inode number to file.
117483         Check for arithmetic overflow in size calculations.
117484         Fix bug in reallocation of dot array that caused getcwd to fail
117485         on directories nested deeper than 75.
117486         Be more careful about saving errno on error.
117487         Do not use realloc; use only free+malloc, as this is a bit
117488         more flexible and avoids a needless copy operation.
117489         Do not inspect st_dev and st_ino for symbolic links; POSIX
117490         doesn't specify the latter.
117491         Check for closedir errors.
117492         Avoid needless casts.
117493         Use "#ifdef weak_alias" around weak_alias, to be like other
117494         glibc code.
117495         The following changes to getcwd.c have effect only when used in
117496         gnulib; they have no effect inside glibc proper.
117497         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
117498         as alloca isn't used.
117499         (alloca, __alloca): Likewise.
117500         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
117501         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
117502         unconditionally, as gnulib assumes C89 or better.
117503         Do not include <sys/param.h>.
117504         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
117505         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
117506         better.
117507         (NULL) [!defined NULL]: Remove; we assume C89 or better.
117508         Include <dirent.h> in a way that is compatible with modern Autoconf.
117509         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
117510         New macros, if not already defined.
117511         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
117512         Use "_LIBC", not "defined _LIBC", for consistency.
117513         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
117514         a mempcpy module.
117515         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
117516         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
117517         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
117518         credit only to Jim Meyering and adjust the copyright dates.
117519         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
117520         <stdlib.h>, <unistd.h>, "pathmax.h".
117521         Instead, include "xgetcwd.h" (first) and "getcwd.h".
117522         (INITIAL_BUFFER_SIZE): Remove.
117523         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
117525 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
117527         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
117528         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
117529         Use the _ONCE methods, for efficiency.
117530         Check for fcntl.h.  In test program, include <errno.h>
117531         and <fcntl.h> if available.  Remove old K&R cruft from
117532         test program.  Check for common errors in GNU/Linux,
117533         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
117534         don't do AC_LIBOBJ, as that's getcwd.m4's job.
117535         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
117536         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
117537         name accordingly.
117538         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
117539         accommodate new getcwd.c.
117540         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
117541         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
117542         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
117543         that's all we need now.
117545 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
117547         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
117548         argp-parse.c depends on getopt internals, that means we should
117549         always use our getopt, to be on the safe side.
117550         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
117551         order not to spoil the result of an eventual previous invocation
117552         of gl_GETOPT_SUBSTITUTE.
117554 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
117556         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
117557         redefinition warnings. To avoid them, include the defines
117558         in `#if !defined __need_getopt ... #endif'. The only place
117559         where __getopt_argv_const is used is in definitions
117560         of getopt_long and getopt_long_only below, which are as well
117561         protected by `#ifndef __need_getopt'.
117562         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
117563         __need_getopt after including <stdio.h> and <unistd.h> These
117564         headers might have defined it.
117566 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
117568         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
117570 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
117572         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
117573         (futimens): New function, which uses futimes if available.
117574         (futimens, utimens): Support timespec==NULL, with same semantics
117575         as utime and utimens.
117576         * lib/utimens.h (futimens): New decl.
117578 2004-11-23  Jim Meyering  <jim@meyering.net>
117580         * lib/getopt_.h: Remove trailing blanks.
117582 2004-11-23  Jim Meyering  <jim@meyering.net>
117584         * lib/__fpending.c: Add comment.
117586 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
117588         * modules/canonicalize (Depends-on): Add xreadlink.
117589         Problem reported by James Youngman.
117591 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
117593         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
117594         New macros.
117595         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
117596         optopt): Use them instead of invoking ## directly; otherwise, the
117597         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
117599 2004-11-19  Bruno Haible  <bruno@clisp.org>
117601         * lib/strtok_r.c: Move comments from here...
117602         * lib/strtok_r.h: ... to here.
117604 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
117606         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
117607         implementations that mishandle size_t overflow.
117609 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
117611         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
117612         might fail.  Problem reported by Yoann Vandoorselaere.
117613         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
117614         implementations that mishandle size_t overflow.
117616 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
117618         * modules/canon-host (Depends-on): Add strdup.
117620 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
117622         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
117624 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
117626         * lib/canon-host.c: Include "strdup.h".
117627         (canon_host): Use getaddrinfo if available, so that IPv6 works.
117628         Use strdup instead of malloc/strcpy to duplicate strings.
117630         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
117631         (human_space_before_unit): New constant.
117632         * lib/human.c (human_readable): Support it.
117634         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
117635         (xgetcwd): Set errno correctly when failing.
117636         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
117637         the failure is actually due to a PATH_MAX problem.
117639         Further getopt changes to make it more likely that glibc will
117640         buy the changes back.
117641         * lib/getopt.c (POSIXLY_CORRECT): New constant.
117642         (getopt): Use it, so to preserve glibc semantic
117643         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
117644         when compiling for libc.
117645         * lib/getopt_.h (__getopt_argv_const): Bring it back.
117646         (getopt_long, getopt_long_only): Use it.
117648         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
117649         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
117650         (getopt): Argv is now char * const *, as per standard.
117651         (_getopt_internal_r, _getopt_internal): Argv is now char **,
117652         not char *__getopt_argv_const *.
117653         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
117654         _getopt_long_only_r): Likewise.
117655         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
117656         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
117657         _getopt_long_r, _getopt_long_only_r): Likewise.
117658         * lib/getopt_.h (__getopt_argv_const): Remove.
117659         (getopt): Argv is now char * const *, as per standard.
117661         * lib/getdate.y (tORDINAL): New token.
117662         (day, relunit): Allow it for relative times.
117663         (relative_time_table): Use tORDINAL for ordinals.
117665 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
117667         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
117668         Document that "second" isn't allowed as an ordinal number.
117670 2004-11-16  Jim Meyering  <jim@meyering.net>
117672         * modules/closeout (Depends-on): Add fpending.
117674 2004-11-15  Jim Meyering  <jim@meyering.net>
117676         * lib/closeout.c: Include "__fpending.h" once again.
117677         Include <stdbool.h>.
117678         (close_stdout): Don't fail just because stdout was closed initially,
117679         since some programs don't write to stdout in the normal course of
117680         operation (other than --version and --help), and we don't want this
117681         function to make e.g. `touch file >&-' fail.
117682         But do fail if it was closed and someone has tried to write to it.
117683         E.g., `printf foo >&-' must fail.
117685 2004-11-13  Jim Meyering  <jim@meyering.net>
117687         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
117689 2004-11-12  Simon Josefsson  <jas@extundo.com>
117691         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
117692         small doc fix is still pending.
117694 2004-11-11  Simon Josefsson  <jas@extundo.com>
117696         * modules/strtok_r: New file.
117698         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
117699         strtok_r.
117701 2004-11-11  Simon Josefsson  <jas@extundo.com>
117703         * m4/strtok_r.m4: New file.
117705         * m4/getopt.m4: Replace opterr.
117707 2004-11-11  Simon Josefsson  <jas@extundo.com>
117709         * lib/strtok_r.h, strtok_r.c: New file.
117711 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
117713         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
117714         of replacing opterr, getopt, etc.  This should handle the
117715         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
117717 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
117719         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
117720         we can stop lying to compilers about the constness of argv when we
117721         are compiled outside glibc.
117722         (getopt, getopt_long, getopt_long_only): Use it.
117723         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
117724         _getopt_internal, getopt): Likewise.
117725         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
117726         _getopt_long_only_r): Likewise.
117727         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
117728         _getopt_long_r, _getopt_long_only_r): Likewise.
117730         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
117731         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
117732         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
117733         the other external symbols.
117734         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
117735         declaration, since the above renaming now works around collisions.
117737 2004-11-11  Jim Meyering  <jim@meyering.net>
117739         * lib/linebreak.c: Remove trailing blanks.
117740         * lib/alloca_.h: Likewise.
117741         * lib/acosl.c: Likewise.
117742         * lib/euidaccess.c: Likewise.
117743         * lib/allocsa.h: Likewise.
117745 2004-11-10  Simon Josefsson  <jas@extundo.com>
117747         * m4/getaddrinfo.m4: New file.
117749 2004-11-10  Simon Josefsson  <jas@extundo.com>
117751         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
117753 2004-11-10  Simon Josefsson  <jas@extundo.com>
117755         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
117756         getaddrinfo.
117758         * modules/getaddrinfo: New file.
117760 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117762         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
117764 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
117766         * lib/mktime.c (SHR): New macro, which is a portable
117767         substitute for >> that should work even on Crays.
117768         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
117769         Problem reported by Mark D. Baushke in
117770         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
117771         * lib/getdate.y (SHR): Likewise.
117772         (tm_diff): Use it.
117773         * lib/strftime.c (SHR): Likewise.
117774         (tm_diff): Use it.
117775         * lib/quotearg.c (struct quoting_options): Use unsigned int for
117776         quote_these_too, so that right shifts are well defined.  All uses
117777         changed.
117779 2004-11-10  Jim Meyering  <jim@meyering.net>
117781         Ensure that no close failure goes unreported.
117782         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
117783         return early when it seems there's nothing to flush.
117784         Don't include __fpending.h.
117786 2004-11-10  Jim Meyering  <jim@meyering.net>
117788         * modules/closeout (Depends-on): Remove fpending.
117790 2004-11-10  Jim Meyering  <jim@meyering.net>
117792         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
117794 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
117796         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
117797         gl_FUNC_STRFTIME.
117798         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
117799         and AC_REQUIRE when possible, to avoid duplicate checks.
117800         Check for <wchar.h>.
117802 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
117804         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
117806 2004-11-09  Bruno Haible  <bruno@clisp.org>
117808         * m4/sockpfaf.m4: New file.
117810 2004-11-05  Bruno Haible  <bruno@clisp.org>
117812         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
117813         Reported by Mark D. Baushke <mdb@cvshome.org>.
117815 2004-11-04  Bruno Haible  <bruno@clisp.org>
117817         2004-09-11  Bruno Haible  <bruno@clisp.org>
117818                 * allocsa.valgrind: New file.
117819         2004-02-06  Bruno Haible  <bruno@clisp.org>
117820                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
117821                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
117822                 Reported by Christopher Seip <chris.seip@hp.com>.
117824 2004-11-04  Bruno Haible  <bruno@clisp.org>
117826         * modules/allocsa (Files): Add lib/allocsa.valgrind.
117827         (Makefile.am): Distribute it.
117829 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
117831         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
117832         with errno == ERANGE if the buffer is too small.
117833         Problem reported by Mark D. Baushke.
117835 2004-11-03  Albert Chin  <china@thewrittenword.com>
117836             Paul Eggert  <eggert@cs.ucla.edu>
117838         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
117839         equivalent, substitute $ac_type for equivalent type rather than
117840         blindly using uint32_t *always* which won't work if uint32_t is not
117841         available.  Define _UINT32_T to work around typedef of uint32_t if
117842         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
117843         2.5.1.
117845 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
117847         * m4/jm-macros.m4: Sync from coreutils.
117848         (gl_MACROS): Check for mbrlen, for pathchk.
117849         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
117851 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
117853         * lib/xreadlink.c (MAXSIZE): New macro.
117854         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
117855         size does not exceed MAXSIZE.  Avoid cast.
117856         As suggested by Mark D. Baushke in
117857         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
117858         if readlink fails with buffer size just under MAXSIZE, try again
117859         with MAXSIZE.
117861 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
117863         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
117865 2004-11-02  Derek R. Price  <derek@ximbiot.com>
117866         and  Paul Eggert  <eggert@cs.ucla.edu>
117868         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
117869         (get_date): Overparenthesize to avoid GCC warning.
117871 2004-11-02  Bruno Haible  <bruno@clisp.org>
117873         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
117874         returns void.
117876 2004-11-02  Bruno Haible  <bruno@clisp.org>
117878         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
117879         function returns void.
117881 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
117883         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
117884         fflush_unlocked, flockfile, funlockfile, funlockfile,
117885         fputs_unlocked, putc_unlocked.
117887 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
117889         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
117890         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
117891         already declared.
117893 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
117895         * modules/getdate (Files): Add doc/getdate.texi.
117896         (Depends-on): Add setenv, xalloc.
117898 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
117900         * lib/getdate.y: Add support for TZ="foo" within a date string.
117901         Fix some bugs near time_t boundaries.  Reject dates with
117902         out-of-range components, e.g., "Sept 31".
117903         Include <stdlib.h>, "setenv.h", "xalloc.h".
117904         (ISDIGIT_LOCALE): Remove; unused.
117905         Note that the TZ and time functions used here are not reentrant.
117906         (mktime_ok, get_tz): New functions.
117907         (TZBUFSIZE): New constant.
117908         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
117909         This requires that we sometimes generate our own TZ="XXX..." setting.
117911 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
117913         * doc/getdate.texi: New file, from coreutils with modifications for
117914         the new TZ parsing.
117916 2004-10-27  Derek R. Price  <derek@ximbiot.com>
117918         * lib/mktime.c (not_equal_tm): Remove redundant check.
117920 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
117922         * modules/regex (lib_SOURCES): Add regex.c.
117923         Reported by James Youngman in
117924         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
117926 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
117928         * lib/getdate.y: Use Bison 1.875 features, and some minor
117929         code cleanups.  This change does not affect semantics.
117930         Don't include <stdlib.h>; no longer needed.
117931         Don't include unlocked-io.h; only the "#if TEST" code uses
117932         stdio, and performance isn't crucial there.
117933         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
117934         Bison 1.875 features as described below.
117935         All uses of "PC." replaced by "pc->".
117936         (YYSTYPE): Add a forward declaration.
117937         (yylex, yyerror): Use full prototypes in forward decls.
117938         Use "%pure-parser" rather than obsolescent "%pure_parser".
117939         Use %parse-param and %lex-param instead of obsolescent
117940         YYPARSE_PARAM and YYLEX_PARAM.
117941         (meridian_table, month_and_day_table, time_units_table,
117942         relative_time_table, time_zone_table, military_table,
117943         lookup_zone, lookup_word, get_date):
117944         Use NULL instead of 0 where appropriate.
117945         (to_hour): Avoid abort (), to avoid a dependency on
117946         stdlib.h.
117947         (yyerror, yylex): Now accepts parser_control * arg.
117948         (main) [TEST]: Use '\0' rather than 0 for char.
117950 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
117952         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
117954 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
117956         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
117957         It's now the caller's responsibility to handle the case where
117958         !HAVE_GETPAGESIZE && !defined getpagesize.
117960         * lib/mktime.c (leapyear): Arg is long int, not int.
117962 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
117964         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
117966 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
117968         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
117969         missing.  Problem reported by James Youngman.
117971 2004-10-16  Simon Josefsson  <jas@extundo.com>
117973         * gnulib-tool: Fix comments.  Fix parse problem.
117974         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
117976 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
117978         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
117979         implementation of getopt_long.  Problem reported by Alexander Taler in:
117980         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
117982 2004-10-15  Bruno Haible  <bruno@clisp.org>
117984         * gnulib-tool: Untabify. Initialize supplied_libname.
117985         (func_usage): More homogenous output.
117986         (func_modules_transitive_closure, func_modules_to_filelist,
117987         func_emit_lib_Makefile_am): New functions.
117988         (func_import): New function, extracted from big case statement. Use
117989         func_get_license, func_modules_transitive_closure,
117990         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
117991         opt_lgpl. Don't use test -a, as it's not portable.
117992         (func_create_testdir): Use func_modules_transitive_closure,
117993         func_modules_to_filelist, func_emit_lib_Makefile_am.
117995 2004-10-15  Bruno Haible  <bruno@clisp.org>
117997         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
117999 2004-10-15  Bruno Haible  <bruno@clisp.org>
118001         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
118002         the portions belonging to each module.
118003         Suggested by Derek Robert Price <derek@ximbiot.com>.
118005 2004-10-12  Simon Josefsson  <jas@extundo.com>
118007         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
118008         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
118009         to real functions.
118011 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118013         * modules/vsnprintf: New file.
118015 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118017         * m4/vsnprintf.m4: New file.
118019 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118021         * lib/vsnprintf.h: New file.
118022         * lib/vsnprintf.c: New file.
118024 2004-10-11  Bruno Haible  <bruno@clisp.org>
118026         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
118027         vsnprintf.
118029 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
118031         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
118033 2004-10-07  Bruno Haible  <bruno@clisp.org>
118035         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
118036         fits into the provided buffer.
118038 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
118040         * lib/diacrit.c, diacrit.h: Add GPL notice.
118042         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
118043         notice.
118044         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
118045         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
118046         This avoids a potential constant-folding bug.
118048 2004-10-05  Bruno Haible  <bruno@clisp.org>
118050         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
118051         for the declaration of strsep.
118053 2004-10-05  Bruno Haible  <bruno@clisp.org>
118055         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
118057 2004-10-04  Simon Josefsson  <jas@extundo.com>
118059         * modules/memmem: New file.
118060         * tests/test-memmem.c: New file.
118061         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
118063 2004-10-04  Simon Josefsson  <jas@extundo.com>
118065         * m4/memmem.m4: New file.
118067 2004-10-04  Simon Josefsson  <jas@extundo.com>
118069         * lib/memmem.h: New file.
118070         * lib/memmem.c: New file, taken from glibc.
118072 2004-10-04  Simon Josefsson  <jas@extundo.com>
118074         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
118075         '#ifdef USE_UNLOCKED_IO'.
118077 2004-10-04  Simon Josefsson  <jas@extundo.com>
118079         * config/srclist.txt: Add memmem from glibc.
118081 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
118083         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
118085         * modules/argmatch, modules/argp, modules/closeout, modules/error,
118086         modules/exclude, modules/getdate, modules/getline,
118087         modules/getndelim2, modules/getpass, modules/getpass-gnu,
118088         modules/getusershell, modules/linebuffer, modules/md5,
118089         modules/mountlist, modules/posixtm, modules/readtokens,
118090         modules/readutmp, modules/regex, modules/sha1,
118091         modules/version-etc, modules/yesno:
118092         Remove dependency on unlocked-io.
118094 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
118096         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
118098         * m4/unlocked-io.m4: Add copyright notice.
118099         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
118101 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
118103         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
118104         * lib/xmalloc.c (xmemdup): Likewise.
118105         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
118106         XFREE): Remove these long-obsolescent macros.
118107         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
118108         * lib/xstrdup.c: Remove.
118110         * lib/regex.c (re_comp): Cast gettext return value to char *,
118111         Problem reported by Martin Neitzel via Mark D. Baushke.
118113 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
118115         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
118116         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
118117         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
118118         regex.c, sha1.c, version-etc.c, yesno.c:
118119         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
118120         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
118121         the includer's responsibility.
118123         Sync from coreutils.
118125         * lib/modechange.c (mode_compile): Don't decrement a pointer that
118126         points to the start of a string, as the C Standard says the
118127         resulting behavior is undefined.
118129         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
118130         simple -> simple_backups, numbered_existing ->
118131         numbered_existing_backups, numbered -> numbered_backups
118132         to avoid shadowing problems.  All uses changed.
118133         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
118134         * lib/backupfile.c (check_extension, numbered_backup):
118135         Rename locals to avoid shadowing 'basename'.
118136         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
118137         once.
118139         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
118140         * lib/.cvsignore: Add getopt.h.
118142 2004-10-04  Bruno Haible  <bruno@clisp.org>
118144         * modules/README: New file.
118145         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
118146         not a module.
118148 2004-10-02  Jim Meyering  <jim@meyering.net>
118150         * lib/dirfd.h, getpagesize.h: Add copyright notice.
118152 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118154         * modules/strsep: New file.
118156 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118158         * m4/strsep.m4: New file.
118160 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
118162         * lib/strsep.h: New file.
118163         * lib/strsep.c: New file.
118165 2004-10-01  Simon Josefsson  <jas@extundo.com>
118167         * lib/snprintf.c (snprintf): Handle size==0.
118169 2004-10-01  Simon Josefsson  <jas@extundo.com>
118170             Bruno Haible  <bruno@clisp.org>
118172         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
118173         (snprintf): Declare 'args'.
118175 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
118177         * lib/snprintf.c: Remove comments as to why each header is needed.
118179 2004-10-01  Bruno Haible  <bruno@clisp.org>
118181         * MODULES.html.sh: Add strsep.
118183 2004-09-30  Simon Josefsson  <jas@extundo.com>
118185         * modules/snprintf: New file.
118187 2004-09-30  Simon Josefsson  <jas@extundo.com>
118189         * m4/snprintf.m4: New file.
118191 2004-09-30  Simon Josefsson  <jas@extundo.com>
118193         * lib/snprintf.h, lib/snprintf.c: New files.
118195 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
118197         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
118198         (hol_entry_help): Never translate an empty string.
118199         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
118200         * lib/argp.h (OPTION_NO_TRANS): New option.
118202 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
118204         * modules/argp (Maintainer): Replace Simon Josefsson
118205         by Sergey Poznyakoff.
118207 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
118209         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
118210         changes merged back into glibc.
118212 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
118214         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
118216 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
118218         * lib/xvasprintf.c: Include xalloc.h.
118219         (xvasprintf): Use xalloc_die, not xmalloc_die.
118221 2004-09-29  Bruno Haible  <bruno@clisp.org>
118223         * modules/alloca-opt: New file, derived from modules/alloca.
118224         * modules/allocsa: Depend on alloca-opt instead of alloca.
118225         * modules/setenv: Likewise.
118226         * modules/vasnprintf: Likewise.
118227         * MODULES.html.sh: Add alloca-opt.
118229 2004-09-28  Simon Josefsson  <jas@extundo.com>
118231         * gnulib-tool: New parameter --lgpl, to asseert that modules are
118232         LGPL, and to replace license template from GPL to LGPL.
118234 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
118236         * modules/dummy: Change license to LGPL.
118238 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
118240         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
118242 2004-09-24  Simon Josefsson  <jas@extundo.com>
118244         * modules/minmax (License): Change from GPL to LGPL.
118246 2004-09-23  Simon Josefsson  <jas@extundo.com>
118248         * gnulib-tool (--import): Typo.
118250 2004-09-23  Simon Josefsson  <jas@extundo.com>
118252         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
118254 2004-09-22  Bruno Haible  <bruno@clisp.org>
118256         * modules/*: Add 'License' field.
118257         * gnulib-tool: Accept --extract-license option.
118258         (func_get_license): New function.
118260 2004-09-21  Bruno Haible  <bruno@clisp.org>
118262         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
118263         Reported by Simon Josefsson.
118265 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
118267         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
118268         gl_AC_TYPE_LONG_LONG.
118270 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
118272         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
118274 2004-09-18  Simon Josefsson  <jas@extundo.com>
118275         and  Paul Eggert  <eggert@cs.ucla.edu>
118277         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
118278         calls with autoreconf.  Define GL_LIB.
118280 2004-09-14  Karl Berry  <karl@gnu.org>
118282         * config/srclist.txt: unsync setenv.c, sigh.
118284 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
118286         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
118287         Problem reported by Bruno Haible in:
118288         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
118290 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
118292         * config/srclist.txt: Comment out argp-pvh.c.
118294 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
118296         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
118297         in case some system header has #define'd it.  Problem reported by
118298         Soeren D. Schulze in
118299         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
118301 2004-09-09  Karl Berry  <karl@gnu.org>
118303         * regex.[ch]: delete from the root.  These were supposed to be
118304                 synced with emacs cvs, but this has not happened for about
118305                 a year, and anyway nothing else uses emacs regex.[ch].
118306                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
118307                 lib/regex[.ch] is untouched.
118309 2004-09-09  Bruno Haible  <bruno@clisp.org>
118311         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
118313 2004-09-09  Bruno Haible  <bruno@clisp.org>
118315         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
118316         modifications.
118317         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
118319 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
118321         * modules/xvasprintf: New file.
118322         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
118324 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
118326         * lib/xvasprintf.h: New file.
118327         * lib/xvasprintf.c: New file.
118328         * lib/xasprintf.c: New file.
118330 2004-09-08  Bruno Haible  <bruno@clisp.org>
118332         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
118334 2004-09-08  Bruno Haible  <bruno@clisp.org>
118336         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
118337         length is > INT_MAX.
118338         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
118339         more.
118341 2004-09-08  Bruno Haible  <bruno@clisp.org>
118343         * lib/stdint_.h: New file, taken from GNU clisp.
118345 2004-09-08  Bruno Haible  <bruno@clisp.org>
118346             Oskar Liljeblad  <oskar@osk.mine.nu>
118348         * modules/stdint: New file.
118349         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
118351 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
118353         Import from coreutils.
118354         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
118355         strings on unbounded length.  alloca's performance benefits aren't
118356         that important here.
118357         (V_STRDUP): Remove.
118358         (parse_with_separator): New function, with most of the internals
118359         of the old parse_user_spec.  Allow user to omit both user and group,
118360         for compatibility with FreeBSD.
118361         Clone only the user name, not the entire spec.
118362         Do not set *uid, *gid unless entirely successful.
118363         Avoid memory leak in some failing cases.
118364         Fix regression for USER.GROUP reported by Dmitry V. Levin in
118365         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
118366         (parse_user_spec): Rewrite to use parse_with_separator.
118368 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
118370         * modules/userspec: Don't depend on alloca.
118372 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
118374         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
118376 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
118378         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
118379         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
118380         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
118382 2004-08-16  Simon Josefsson  <jas@extundo.com>
118384         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
118385         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
118386         Add --dry-run for --import.
118387         Let user provided command line parameters override configure.ac
118388         settings.
118390 2004-08-12  Simon Josefsson  <jas@extundo.com>
118392         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
118393         as discussed with Paul Eggert in threads rooted at
118394         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
118395         and
118396         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
118397         Before, the test was empty, and relied on ELIDE_CODE in source
118398         code.)
118399         (gl_PREREQ_GETOPT): New macro.
118400         (gl_GETOPT): Use them.
118402 2004-08-12  Simon Josefsson  <jas@extundo.com>
118404         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
118405         * lib/getopt_.h: Renamed from getopt.h.
118407 2004-08-12  Simon Josefsson  <jas@extundo.com>
118409         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
118410         Change default library name from libfoo to libgnu.
118411         Now, if you have a configure.ac that says:
118412                 gl_SOURCE_BASE(gl)
118413                 gl_M4_BASE(gl/m4)
118414                 gl_MODULES(error getopt etcetera)
118415                 gl_INIT
118416         you can import all you need by running:
118417                 ../gnulib/gnulib-tool --import
118419         * modules/getopt (Files): Rename getopt.h to getopt_.h.
118420         (Makefile.am): Rewrite, use logic from argz.
118421         (Include): Use <getopt.h> instead of "getopt.h".
118423 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
118425         * modules/argp (Files): Add m4/unlocked-io.m4.
118426         (Depends-on): Add extensions.
118428 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
118430         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
118431         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
118432         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
118433         Check for program_invocation_name, program_invocation_short_name,
118434         flockfile, funlockfile, features.h, _getopt_long_only_r.
118436 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
118438         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
118439         its complicated substitute.
118440         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
118441         and program_invocation_name.
118442         (__argp_basename) [!_LIBC]: Remove; the only use was
118443         replaced by its body.
118444         (__argp_short_program_name): Change condition from
118445         !defined __argp_short_program_name to
118446         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
118447         to match argp-namefrob.h.
118448         (__argp_failure): Don't assume strerror_r returns char *.
118449         * lib/argp-parse.c (N_): Define unconditionally.
118450         (argp_default_options): Fill out initializers with 0 to avoid
118451         gcc warnings.
118453 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
118455         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
118456         getopt1.c.
118458 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
118460         Merge from coreutils.
118462         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
118464         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
118465         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
118467 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
118469         Merge from coreutils.
118471         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
118472         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
118473         for Reliant Unix 5.43.
118475         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
118476         (union fooround): Use uintmax_t, not long int.
118477         The rest is a merge from libc:
118478         [defined _LIBC]: Include <shlib-compat.h>.
118479         (_obstack) [defined _LIBC]: Remove after 2.3.4.
118481         * lib/settime.c (settime): Recode to avoid warning with
118482         Sun Forte C 6U2.
118484         * lib/strverscmp.c: Convert to UTF-8.
118486 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
118488         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
118489         m4/uintmax_t.m4.
118491 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
118493         * modules/xalloc-die: New file.
118494         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
118496         * modules/md5 (Files): Add m4/uint32_t.m4.
118497         * modules/sha1: Renamed from modules/sha.
118498         (Files):
118499         Rename lib/sha.h to lib/sha1.h.
118500         Rename lib/sha.c to lib/sha1.c.
118501         Rename m4/sha.m4 to m4/sha1.m4.
118502         (lib_SOURCES): Likewise.
118503         (configure.ac): Rename gl_SHA to gl_SHA1.
118504         (Include): sha.h -> sha1.h.
118506 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
118508         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
118509         * m4/sha1.m4: Renamed from sha.m4.
118510         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
118512 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
118514         * lib/obstack.h (obstack_empty_p):
118515         Don't assume that chunk->contents is suitably aligned.
118516         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
118517         Likewise. Problem reported by Benno in
118518         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
118520         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
118521         readable.  This could be improved further but it'd take some work.
118523 2004-08-08  Simon Josefsson  <jas@extundo.com>
118525         * modules/xgethostname (Depends-on): Remove exit and error (not
118526         used).
118528         * modules/getpass-gnu: Add getpass.h.
118529         (Depends-on): Add stdbool.
118530         * modules/getpass: Add getpass.h.
118532 2004-08-08  Simon Josefsson  <jas@extundo.com>
118534         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
118535         Check getpass declaration.
118537 2004-08-08  Simon Josefsson  <jas@extundo.com>
118539         * lib/xgethostname.c: Don't include error.h (not used).
118541         * lib/getpass.h: Add.
118542         * lib/getpass.c: Include getpass.h first.
118544 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
118546         * lib/xalloc-die.c: New file.
118547         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
118548         All uses removed.
118549         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
118550         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
118551         xalloc-die.c.
118552         (_, N_, xalloc_die): Move to xalloc-die.c.
118553         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
118554         so that we needn't mess with xalloc_msg_memory_exhausted.
118556         * lib/sha1.h: Renamed from sha.h.
118557         (SHA1_H): Renamed from _SHA_H.
118558         (sha1_ctx): Renamed from sha_ctx.
118559         (sha1_init_ctx): Renamed from sha_init_ctx.
118560         (sha1_process_block): Renamed from sha_process_block.
118561         (sha1_process_bytes): Renamed from sha_process_bytes.
118562         (sha1_finish_ctx): Renamed from sha_finish_ctx.
118563         (sha1_read_ctx): Renamed from sha_read_ctx.
118564         (sha1_stream): Renamed from sha_stream.
118565         (sha1_buffer): Renamed from sha_buffer.
118566         * lib/sha1.c: Likewise; renamed from sha.c.
118567         Do not include <sys/types.h>.
118568         Include <stddef.h> rather than <stdlib.h>.
118570 2004-08-08  Bruno Haible  <bruno@clisp.org>
118572         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
118573         FILESYSTEM_PREFIX_LEN.
118574         * lib/progreloc.c: Likewise.
118575         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
118577 2004-08-06  Simon Josefsson  <jas@extundo.com>
118579         * modules/progname (Depends-on): Don't depend on stdbool.
118581 2004-08-06  Simon Josefsson  <jas@extundo.com>
118583         * modules/getsubopt: New file.
118584         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
118585         getsubopt.
118587 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
118589         More merge from coreutils.
118591         * m4/utimens.m4, m4/utimecmp.m4: New files.
118592         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
118593         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
118594         prereq.m4, sha.m4: Import changes from coreutils.
118596 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
118598         More merge from coreutils.
118599         * modules/raise, modules/readtokens0, modules/utimens:
118600         * modules/utimecmp, module/xnanosleep: New files.
118601         * modules/strftime: Add lib/strftime.h.
118602         Change include from <time.h> to "strftime.h".
118603         * modules/yesno: Add lib/yesno.h.
118604         * modules/backupfile: Remove lib/addext.c.
118605         * modules/euidaccess: Add stat-macros.h.
118606         * modules/canonicalize, modules/euidaccess,
118607         modules/filemode, modules/lchown, modules/makepath,
118608         modules/rmdir, modules/stat: Likewise.
118610 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
118612         Merge from tar.
118613         * lib/argp-help.c (make_hol, hol_append): Don't assume that
118614         SIZE_MAX is a valid preprocessor constant.
118615         (__argp_basename): Change from "#ifndef _LIBC"
118616         to "#ifndef __argp_short_program_name", so that
118617         we don't compile these functions for tar.
118619         More merges from coreutils.
118620         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
118621         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
118622         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
118623         * lib/addext.c: Remove; no longer needed.
118624         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
118625         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
118626         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
118627         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
118628         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
118629         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
118630         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
118631         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
118632         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
118633         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
118634         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
118635         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
118636         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
118637         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
118638         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
118639         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
118640         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
118641         Import changes from coreutils.
118643 2004-08-05  Simon Josefsson  <jas@extundo.com>
118645         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
118647 2004-08-05  Simon Josefsson  <jas@extundo.com>
118649         * m4/getsubopt.m4: New file.
118651 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
118653         Merge from coreutils.
118655         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
118656         * m4/getcwd-path-max.m4: New files.
118658         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
118659         FILESYSTEM_PREFIX_LEN ->
118660         FILE_SYSTEM_PREFIX_LEN.
118661         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
118662         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
118663         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
118664         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
118666         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
118667         prerequisite modules now handle the DOS stuff.
118668         Don't check for unistd.h.
118670 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
118672         Merge from coreutils.
118674         * lib/.gdb-history: Remove; this doesn't belong here.
118676         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
118677         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
118678         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
118679         * lib/getcwd.c: New files.
118681         * lib/dirname.h: Include <stdbool.h>.
118682         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
118683         for consistency with POSIX terminology.  All uses changed.
118684         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
118685         (strip_trailing_slashes): Use bool for booleans.
118686         * lib/stripslash.c (strip_trailing_slashes): Likewise.
118688         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
118689         sometimes returns a positive errno value even when it succeeds.
118690         (print_errno_message) [!LIBC]: Fall back on strerror if
118691         __strerror_r fails.
118693         * lib/path-concat.c (mempcpy): Don't define if a system header defines
118694         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
118695         (longest_relative_suffix): New function.
118696         (path_concat): Use it.  Assume first argument is not NULL.
118697         Port to DOS.  Omit redundant separators.
118698         Report an error instead of returning NULL.
118699         Use mempcpy instead of memcpy.
118700         (xpath_concat): Remove: not declared or used.
118702         * lib/same.h: Include <stdbool.h>
118703         (same_name): Return bool, not int.
118704         * lib/same.c (same_name): Likewise.
118705         (errno): Don't declare; we assume C89 or better now.
118707         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
118708         if not already defined.
118710         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
118711         * lib/dup-safer.c (errno): Likewise.
118713 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
118715         Merge from coreutils.
118716         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
118717         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
118718         * modules/path-concat: Don't depend on strdup.
118720 2004-08-03  Simon Josefsson  <jas@extundo.com>
118722         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
118723         * lib/progname.h: Don't include stdbool.h.
118725 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
118727         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
118728         * MODULES.html.sh (func_all_modules): Remove fatal.
118730 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
118732         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
118734 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
118736         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
118737         working.
118739 2004-08-02  Simon Josefsson  <jas@extundo.com>
118741         * lib/getsubopt.h: New file, with comments from Bruno Haible.
118742         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
118743         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
118745 2004-08-01  Simon Josefsson  <jas@extundo.com>
118747         * lib/xgetdomainname.c: Include stdlib.h, for free().
118749 2004-07-19  Bruno Haible  <bruno@clisp.org>
118751         * MODULES.html.sh (func_all_modules): Add dummy.
118753 2004-07-16  Simon Josefsson  <jas@extundo.com>
118755         * modules/dummy: New file.
118757 2004-07-16  Simon Josefsson  <jas@extundo.com>
118759         * lib/dummy.c: New file.
118761 2004-07-16  Bruno Haible  <bruno@clisp.org>
118763         * lib/backupfile.h: Add extern "C" for C++.
118764         * lib/closeout.h: Likewise.
118765         * lib/copy-file.h: Likewise.
118766         * lib/findprog.h: Likewise.
118767         * lib/full-write.h: Likewise.
118768         * lib/pathname.h: Likewise.
118769         * lib/progname.h: Likewise.
118770         * lib/stpcpy.h: Likewise.
118771         * lib/stpncpy.h: Likewise.
118772         * lib/strcase.h: Likewise.
118773         * lib/strstr.h: Likewise.
118774         * lib/xalloc.h: Likewise.
118776         * lib/mbswidth.h: Add extern "C" for C++.
118777         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
118779 2004-07-13  Robert Millan  <robertmh@gnu.org>
118781         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
118783 2004-07-09  Simon Josefsson  <jas@extundo.com>
118785         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
118786         failed without this.)
118788 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
118790         * modules/chown (Files): Add lib/fchown-stub.c, since
118791         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
118793 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
118795         * lib/fchown-stub.c: New file.
118797 2004-06-24  Jim Meyering  <jim@meyering.net>
118799         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
118801 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
118803         * modules/argz: Omit "#include".
118805         * MODULES.html.sh (func_all_modules): Add calloc, to match
118806         2004-06-01 addition of calloc module.
118808 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
118810         * m4/argz.m4: New file, which is autoupdated from libtool.
118812 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
118814         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
118815         libtool.
118817 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
118819         * config/srclist-update: Don't insist on "USA." before the
118820         close-comment, as libtool omits the period and puts the */ on a
118821         separate line.
118822         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
118823         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
118825 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
118827         * modules/argz: New file.
118828         * MODULES.html.sh (func_all_modules): Add argz.
118830 2004-06-12  Jim Meyering  <jim@meyering.net>
118831         and  Paul Eggert  <eggert@cs.ucla.edu>
118833         * modules/hash (Files): Add lib/xalloc.h.
118834         * modules/pipe (Depends-on): Add wait-process.
118835         * modules/stat (Depends-on): Add xalloc.
118836         * modules/userspec (Files): Add lib/userspec.h.
118837         * modules/xstrto
118839         Upgrade from gettext-0.13.
118840         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
118841         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
118842         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
118844 2004-06-10  Jim Meyering  <jim@meyering.net>
118846         * lib/calloc.c: New file.
118848 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
118850         * lib/getdate.y (yylex): Allow space between sign and number.
118851         Problem reported by Dan Jacobson.
118853 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
118855         Merge from coreutils CVS.
118857         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
118858         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
118859         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
118860         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
118861         xstrtol.m4: Fix copyright date and/or serial number.
118863         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
118864         See if we need an fchown replacement.
118865         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
118866         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
118867         and use the replacement function if we detect either defect.
118869         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
118870         gl_UTIMECMP.
118872 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
118873         and  Jim Meyering  <jim@meyering.net>
118875         Merge from coreutils CVS.
118877         * lib/stat-macros.h: New file, with contents from file-type.h
118878         and coreutils' system.h.
118879         * lib/file-type.c: Include "stat-macros.h".
118880         * lib/file-type.h (file_type): Move all macro definitions to new file,
118881         stat-macros.h.
118883         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
118884         Wrap old code with this conditional.
118885         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
118886         function that does not dereference symlinks.
118887         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
118889         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
118890         dependency problems.
118891         (xreadlink): Accept new arg SIZE, for efficiency.
118892         All decls and uses changed.
118893         * lib/xreadlink.h: Include <stddef.h>, for size_t.
118895         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
118896         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
118898         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
118899         sysexits.h.
118901 2004-06-01  Jim Meyering  <jim@meyering.net>
118903         * m4/calloc.m4: New file.
118905 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
118907         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
118908         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
118909         Also, fix a typo in a diagnostic.
118911 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
118913         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
118914         or AC_FUNC_REALLOC.
118916 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
118918         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
118919         macros to be defined.
118920         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
118921         the allocator returns NULL because the requested size is zero.
118923 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
118925         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
118926         var.  Add comment explaining why libc still defines it.  This
118927         merges the following patch from glibc:
118928         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
118930 2004-05-20  Andreas Schwab  <schwab@suse.de>
118932         * m4/free.m4: Replace free if it not known to work, not the other
118933         way round.
118935 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
118937         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
118938         present in glibc since revision 1.1 of this file.
118939         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
118940         obstack_alignment_mask, obstack_alloc, obstack_base,
118941         obstack_blank, obstack_blank_fast, obstack_chunk_size,
118942         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
118943         obstack_grow0, obstack_init, obstack_int_grow,
118944         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
118945         obstack_next_free, obstack_object_size, obstack_ptr_grow,
118946         obstack_ptr_grow_fast, obstack_room): Remove declarations of
118947         nonexistent functions.
118949 2004-05-18  Karl Berry  <karl@gnu.org>
118951         * config/srclist.txt: break link for vasnprintf.c.
118953 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
118955         Port obstack to the AS/400, where pointers are 16 bytes wide and
118956         you cannot cast an integer to a valid pointer.  This patch is
118957         currently waiting to be integrated into glibc; see
118958         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
118960         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
118961         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
118962         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
118963         (struct obstack): temp member is now a union of a pointer and
118964         an integer, instead of an integer.  All integer uses changed.
118965         This does not affect the physical layout of struct obstack,
118966         except on hosts (like the AS/400) where the size or alignment of
118967         void * is greater than that of ptrdiff_t.
118968         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
118969         __STDC__)]: Store temporary in pointer member of union, not
118970         integer member.
118971         * lib/obstack.c: Include <stddef.h>, for offsetof.
118972         (struct fooalign): Remove; it doesn't need a name.
118973         (union fooround): Change double to long double, and add void *.
118974         (DEFAULT_ALIGNMENT): Use offsetof to compute.
118975         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
118976         not a macro.  Hence the values are always int; so remove all
118977         casts-to-int in uses.
118979 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
118981         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
118982         we can get this patch merged into glibc.
118984 2004-05-17  Derek R. Price  <derek@ximbiot.com>
118985             Paul Eggert  <eggert@cs.ucla.edu>
118987         * m4/argp: Depend on alloca.
118989 2004-05-17  Derek R. Price  <derek@ximbiot.com>
118990             Paul Eggert  <eggert@cs.ucla.edu>
118992         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
118993         freecoding.
118995 2004-05-17  Bruno Haible  <bruno@clisp.org>
118997         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
118998         precision that consists of a '.' followed by an empty digit string.
118999         Patch by Tor Lillqvist <tml@iki.fi>.
119001 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
119003         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
119004         for backward compatibility with older code.  We need our own
119005         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
119006         it under some other name, and our alloca.h will define it.
119008 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
119009             Derek Price  <derek@ximbiot.com>
119011         * lib/alloca.c: Include <alloca.h>, to get our interface.
119012         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
119013         include <alloca.h> first.  Use C89 prototype for alloca; this
119014         requires including <stddef.h> for size_t.  Use extern "C" if C++.
119015         Use #elif for simplicity, since we can assume C89 now.
119016         Don't try to source the system alloca.h since it will not be found
119017         and to prevent recursively including its replacement.
119018         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
119019         * lib/regex.c: Likewise.
119021 2004-05-16  Derek Price  <derek@ximbiot.com>
119022             Paul Eggert  <eggert@cs.ucla.edu>
119024         getline cleanup.  This changes the getndelim2 API: both order of
119025         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
119026         no delimiter).
119028         * lib/getline.c: Don't include stddef.h or stdio.h, since our
119029         interface does that.
119030         (getline): Always use getdelim, so that we don't have two
119031         copies of this code.
119032         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
119033         if available.
119034         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
119035         (GETNDELIM2_MAXIMUM): New macro.
119036         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
119037         instead of the old practice of delim2==0.  All callers changed.
119038         Return -1 on overflow, instead of returning junk.
119039         Do not set *linesize unless allocation succeeds.
119040         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
119041         that we include sys/types.h.
119042         * lib/getnline.h: Likewise.
119043         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
119044         (getndelim2): Reorder arguments.
119045         * lib/getnline.c (getnline, getndelim):
119046         Don't discard the NMAX argument.
119047         (getnline): Invoke getndelim, to avoid code duplication.
119048         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
119049         of (size_t) -1 by callers of the getnline family.
119051 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
119053         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
119054         Check for gettimeofday.
119055         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
119056         Check for settimeofday, stime.
119058 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
119060         * lib/nanosleep.c (suspended): Change its type from int to
119061         sig_atomic_t volatile.
119062         (first_call): Make it private to rpl_nanosleep, and have it
119063         be zero initially as that's a bit faster.
119064         (my_usleep): Round up fractional times instead of truncating them,
119065         as this is the usual meaning for 'sleep'.
119067         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
119068         doesn't work.
119069         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
119070         (ENOSYS): Define if not defined.
119071         (settime): Fall back on stime if it exists and settimeofday fails.
119072         But don't bother with fallbacks if a method fails with errno == EPERM.
119074 2004-05-11  Jim Meyering  <jim@meyering.net>
119076         Prior to this change, the save_cwd caller required read access to the
119077         current directory on most systems (ones with the fchdir function).
119079         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
119080         fails, try write-only, and finally, resort to using xgetcwd.
119082 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
119084         * lib/obstack.c, obstack.h: Import changes from libc.
119086 2004-04-28  Bruno Haible  <bruno@clisp.org>
119088         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
119089         also implicitly appends .exe to executables.
119090         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
119091         accepts Windows pathnames.
119092         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
119093         Treat Cygwin like Windows, since it now accepts Windows pathnames.
119094         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
119095         Treat Cygwin like Windows, since it now accepts Windows pathnames.
119096         Reported by Derek Robert Price <derek@ximbiot.com>.
119098 2004-04-21  Karl Berry  <karl@gnu.org>
119100         * config/srclist.txt (localcharset.c): break sync.
119102 2004-04-20  Paul Eggert  <eggert@twinsun.com>
119104         * m4/host-os.m4: Add a copyright notice.
119106 2004-04-20  Jim Meyering  <jim@meyering.net>
119108         Change UTILS_ to gl_ in AC_DEFINE'd names.
119109         Change utils_- and jm_-prefixed variables, too.
119110         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
119111         UTILS_FUNC_MKDIR_TRAILING_SLASH.
119112         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
119114         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
119115         Don't emit trailing blanks.
119116         Also rename jm_-prefixed variables to have gl_ prefix.
119118         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
119119         Also rename jm_-prefixed variables to have gl_ prefix.
119121         * m4/jm-macros.m4: Reflect the renamings.
119122         * m4/prereq.m4: Likewise.
119124 2004-04-20  Jim Meyering  <jim@meyering.net>
119126         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
119127         memory.
119129 2004-04-20  Jim Meyering  <jim@meyering.net>
119130             Bruno Haible  <bruno@clisp.org>
119132         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
119133         memory when realloc fails.
119135 2004-04-19  Jim Meyering  <jim@meyering.net>
119137         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
119138         now that readutmp.c may call `free (0)'.
119140 2004-04-19  Bruno Haible  <bruno@clisp.org>
119142         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
119143         * m4/inttypes_h.m4: Likewise.
119144         * m4/stdint_h.m4: Likewise.
119145         * m4/intmax_t.m4: Likewise.
119146         * m4/uintmax_t.m4: Likewise.
119148 2004-04-18  Jim Meyering  <jim@meyering.net>
119150         * m4/prereq.m4: Don't forbid jm_ prefix.
119152         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
119153         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
119154         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
119155         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
119156         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
119157         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
119158         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
119159         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
119160         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
119161         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
119162         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
119163         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
119164         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
119165         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
119166         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
119167         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
119168         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
119169         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
119170         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
119172 2004-04-18  Jim Meyering  <jim@meyering.net>
119174         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
119175         failure, don't leak memory and do call END_UTMP_ENT.
119177 2004-04-16  Jim Meyering  <jim@meyering.net>
119179         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
119180         coreutils' stat program.
119181         (gl_PREREQ): Don't require jm_PREREQ_STAT.
119183 2004-04-11  Paul Eggert  <eggert@twinsun.com>
119185         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
119186         C89.
119187         (CHAR_BIT): Remove, since we assume C89.
119188         Include <stdint.h> if available, as per current Autoconf CVS advice.
119190 2004-03-31  Jim Meyering  <jim@meyering.net>
119192         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
119193         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
119194         * m4/xalloc.m4: Likewise.
119196 2004-03-30  Paul Eggert  <eggert@twinsun.com>
119198         Merge from coreutils.
119200         * m4/inttostr.m4: New file.
119201         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
119202         Require AM_STDBOOL_H and gl_TIMESPEC instead.
119203         Require gl_CLOCK_TIME.
119204         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
119206 2004-03-30  Paul Eggert  <eggert@twinsun.com>
119208         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
119209         not bool, to be more consistent with Unix conventions.
119210         Suggested by Bruno Haible.
119212         Merge from coreutils.
119214         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
119215         * lib/umaxtostr.c: New files.
119217         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
119218         the usual <time.h> dance.
119219         (get_date): Change signature to support fractional time stamps.
119220         All callers changed.
119221         * lib/getdate.y: Include "getdate.h" first, as we can now
119222         assume C89 and don't need to worry about 'const'.
119223         Similarly, include "unlocked-io.h" near start, not in middle.
119224         Include <limits.h>.
119225         (textint.value): Use long int rather than int.
119226         (textint.digits): Use size_t rather than int.
119227         (BILLION, LOG10_BILLION): New constants.
119228         (parser_control): New member rel_ns.  Members day_ordinal,
119229         time_zone, month, day, hour, minutes, rel_year, rel_month,
119230         rel_day, rel_hour, rel_minutes, rel_seconds
119231         are now long int, not int.  Member seconds is now struct timespec,
119232         not int.  New member timespec_seen.  Members dates_seen, days_seen,
119233         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
119234         not int.
119235         (%union.intval): Now long int, not int.
119236         New member timespec.
119237         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
119238         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
119239         (spec): Now is a timespec or an item list.
119240         (timespec, items): New nonterminals.
119241         (time, rel, relunit, number, get_date):
119242         Add support for fractional seconds.
119243         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
119244         (gmtime, localtime, mktime): Remove decls; not needed with C89.
119245         (to_hour): First arg is now long int, not int.
119246         (to_year): Returns long int, not int.
119247         Don't treat year -70 like 70.
119248         (tm_diff): Returns long int, not int.
119249         (lookup_word): Use bool instead of int when appropriate.
119250         (yylex): Use size_t for count, not int.
119251         Detect overflow when parsing large integer constants.
119252         Add support for fractions.
119253         (get_date): Make pointers 'const' if possible.
119254         Use more-portable code to detect integer overflow.
119255         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
119256         Don't use ctime; it's not reliable if the year has >4 digits.
119258         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
119259         This is for compatibility with BSD.
119261         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
119262         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
119263         From coreutils' system.h.
119265         * lib/userspec.c: Don't include "posixver.h".
119266         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
119267         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
119268         compatible extension.  Simplify code by removing a boolean int
119269         that was always nonzero if a string was nonnull.
119271 2004-03-30  Jim Meyering  <jim@meyering.net>
119273         Merge from coreutils.
119275         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
119276         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
119277         on some systems one must include <grp.h> before it.
119278         Reported by Christian Krackowizer.
119280 2004-03-30  Jim Meyering  <jim@meyering.net>
119282         Merge from coreutils.
119284         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
119286         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
119287         an empty input stream.
119289         * lib/readtokens.c: Include <stdbool.h>.
119290         (readtoken): Use `size_t' rather than int/long.
119291         All callers adjusted.
119292         Use `bool' rather than `int' where appropriate.
119293         Use memset rather than an explicit loop.
119294         Use x2nrealloc rather than xrealloc.
119295         Allow the use of `\0' as a delimiter.
119296         (readtokens): Likewise.
119297         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
119299 2004-03-30  Jim Meyering  <jim@meyering.net>
119301         * m4/realloc.m4: Remove file, since now it does no more than
119302         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
119303         the `configure.ac' section of module/realloc.
119304         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
119306 2004-03-30  Bruno Haible  <bruno@clisp.org>
119308         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
119309         nonnull.
119311 2004-03-29  Paul Eggert  <eggert@twinsun.com>
119313         Merge changes to getloadavg.c from coreutils and Emacs.
119315         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
119316         Define to an expression, not to the empty string.
119317         Include cloexec.h and xalloc.h.
119318         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
119319         Use set_cloexec_flag rather than rolling our own.
119320         * lib/cloexec.c, lib/cloexec.h: New files.
119322 2004-03-29  Paul Eggert  <eggert@twinsun.com>
119324         * m4/cloexec.m4: New file.
119326 2004-03-18  Paul Eggert  <eggert@twinsun.com>
119328         * lib/getopt.h: Sync with libc CVS.
119330 2004-03-18  Paul Eggert  <eggert@twinsun.com>
119331             Bruno Haible  <bruno@clisp.org>
119333         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
119334         mbswidth.
119336 2004-03-18  Paul Eggert  <eggert@twinsun.com>
119337             Bruno Haible  <bruno@clisp.org>
119339         * lib/mbswidth.h: Include <wchar.h> only if
119340         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
119341         <wchar.h>.
119342         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
119344 2004-03-09  Paul Eggert  <eggert@twinsun.com>
119346         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
119347         Sync with libc CVS.
119348         * lib/getopt_int.h: New file, also synced from libc.
119350 2004-03-09  Paul Eggert  <eggert@twinsun.com>
119352         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
119353         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
119354         Bring back getopt.c, getopt.h, getopt1.c.
119356 2004-03-07  Paul Eggert  <eggert@twinsun.com>
119358         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
119359         All uses changed.  Check for sa_sigaction member; this fixes
119360         a bug first reported by Jason Andrade in
119361         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
119363 2004-03-07  Paul Eggert  <eggert@twinsun.com>
119365         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
119366         '#if' expressions.  Unlike the code it replaces, it does not
119367         depend on (defined _SC_PAGESIZE).  However, it does depend on
119368         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
119369         first reported by Jason Andrade in
119370         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
119372 2004-02-25  Simon Josefsson  <jas@extundo.com>
119374         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
119376 2004-02-25  Simon Josefsson  <jas@extundo.com>
119378         * lib/strdup.h: New file.
119379         * lib/strdup.c: Include it.
119380         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
119381         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
119383 2004-02-23  Karl Berry  <karl@gnu.org>
119385         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
119386         (from fencepost.gnu.org:/gd/gnuorg).
119388 2004-02-23  Karl Berry  <karl@gnu.org>
119390         * config/srclistvars.sh (GNUORG) [karl]: redefine.
119391         * config/srclist.txt: add maintain/standards documents.
119393 2004-02-18  Bruno Haible  <bruno@clisp.org>
119395         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
119396         Reported by Derek Robert Price <derek@ximbiot.com>.
119398 2004-02-16  Karl Berry  <karl@gnu.org>
119400         * config/mkinstalldirs, install-sh: update from automake.
119402 2004-02-06  Karl Berry  <karl@gnu.org>
119404         * m4/po.m4: update from gettext 0.14.1.
119406 2004-02-06  Karl Berry  <karl@gnu.org>
119408         * lib/config.charset: update from gettext 0.14.1.
119410 2004-02-05  Paul Eggert  <eggert@twinsun.com>
119412         Add comments and code, prompted by suggestions from Bruno Haible
119413         for sh-quote.
119414         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
119415         describing the enum quoting_style values.
119416         * lib/quotearg.c (quotearg_alloc): New function.
119417         (quotearg_buffer_restyled): Treat lone { and } as special.
119418         Treat = as special.  Work around bug with older shells
119419         that "see" a '\' that is really the 2nd byte of a multibyte char.
119420         Quote empty string with shell_quoting_style.
119422 2004-02-03  Bruno Haible  <bruno@clisp.org>
119424         * m4/pipe.m4: New file, from GNU gettext.
119426 2004-02-03  Bruno Haible  <bruno@clisp.org>
119428         * lib/pipe.h: New file, from GNU gettext.
119429         * lib/pipe.c: New file, from GNU gettext.
119431 2004-01-27  Bruno Haible  <bruno@clisp.org>
119433         * m4/execute.m4: New file, from GNU gettext.
119435 2004-01-27  Bruno Haible  <bruno@clisp.org>
119437         * lib/execute.h: New file, from GNU gettext.
119438         * lib/execute.c: New file, from GNU gettext.
119439         * lib/w32spawn.h: New file, from GNU gettext.
119441 2004-01-24  Paul Eggert  <eggert@twinsun.com>
119443         Merge from diffutils.
119445         * lib/file-type.c (file_type): Add typed memory objects.
119446         * lib/file-type.h (S_TYPEISTMO): New macro.
119448         * lib/c-stack.h (c_stack_action): Remove argv argument.
119449         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
119450         (die): Don't calculate message unless segv_action returns.
119451         (get_stack_location, min_address_from_argv, max_address_from_argv,
119452         volatile stack_base, volatile_stack_size): Remove.
119453         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
119454         that every segmentation violation is a stack overflow.  (Ouch!)
119455         See Debian bug 136249 (still outstanding) for more info about why
119456         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
119458 2004-01-24  Paul Eggert  <eggert@twinsun.com>
119460         Exit-status fix from coreutils.
119462         Use exit_failure consistently in place of EXIT_FAILURE,
119463         so that program exit statuses are consistent on failure.
119465         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
119466         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
119467         * lib/argmatch.h: Comment fix to match the above.
119468         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
119469         Now a macro referring to exit_failure, instead of a separate
119470         variable.  Include "exitfail.h" to get it.
119471         * lib/xstrtol.h: Include "exitfail.h".
119472         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
119474         * lib/long-options.c (parse_long_options): Use prototype
119475         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
119476         for clarity.
119478 2004-01-21  Jim Meyering  <jim@meyering.net>
119480         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
119481         so as not to conflict with a different-sized __mktime_internal
119482         function in GNU libc.
119483         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
119484         Problem building statically-linked `ls' reported by Michael Brunnbauer.
119486 2004-01-20  Karl Berry  <karl@gnu.org>
119488         * config/config.guess: update from config.
119490         * config/srclistvars.sh: GNUWWWLICENSES for karl.
119492 2004-01-20  Bruno Haible  <bruno@clisp.org>
119494         Safer stack allocation.
119495         * lib/setenv.c: Include allocsa.h.
119496         (alloca): Remove fallback definition.
119497         (freea): Remove macro.
119498         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
119499         instead of freea.
119501 2004-01-20  Bruno Haible  <bruno@clisp.org>
119503         * m4/eealloc.m4: New file, from GNU gettext.
119505 2004-01-20  Bruno Haible  <bruno@clisp.org>
119507         * m4/allocsa.m4: New file, from GNU gettext.
119509 2004-01-20  Bruno Haible  <bruno@clisp.org>
119511         * lib/xallocsa.h: New file, from GNU gettext.
119512         * lib/xallocsa.c: New file, from GNU gettext.
119514 2004-01-20  Bruno Haible  <bruno@clisp.org>
119516         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
119518 2004-01-20  Bruno Haible  <bruno@clisp.org>
119520         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
119521         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
119522         specially.
119524 2004-01-20  Bruno Haible  <bruno@clisp.org>
119526         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
119527         patch.
119529 2004-01-20  Bruno Haible  <bruno@clisp.org>
119531         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
119533 2004-01-20  Bruno Haible  <bruno@clisp.org>
119535         * lib/eealloc.h: New file.
119537 2004-01-20  Bruno Haible  <bruno@clisp.org>
119539         * lib/binary-io.h: Avoid warnings on Cygwin.
119541 2004-01-20  Bruno Haible  <bruno@clisp.org>
119543         * lib/allocsa.h: New file, from GNU gettext.
119544         * lib/allocsa.c: New file, from GNU gettext.
119546 2004-01-18  Karl Berry  <karl@gnu.org>
119548         * doc/gpl.texi, doc/lgpl.texi: new files.
119550 2004-01-18  Karl Berry  <karl@gnu.org>
119552         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
119553         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
119555 2004-01-15  Paul Eggert  <eggert@twinsun.com>
119557         Merge from coreutils.
119559         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
119560         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
119561         (gl_DEFAULT_POSIX2_VERSION): Move
119562         the documentation from 'configure' into 'config.hin',
119563         so that 'configure --help' isn't burdened by it and
119564         we don't have to worry about its formatting there.
119565         Reword the documentation so that it's more succinct
119566         and can be run together into a single paragraph.
119567         * m4/same.m4 (gl_SAME): Check for pathconf.
119569 2004-01-15  Paul Eggert  <eggert@twinsun.com>
119571         Merge from coreutils.
119573         * lib/posixver.c: Include posixver.h.
119575         * lib/same.c: Include <stdbool.h>, <limits.h>.
119576         (_POSIX_NAME_MAX): Define if not defined.
119577         (MIN): New macro.
119578         (same_name): If file names are silently truncated, report
119579         that the file names are the same if they are the same after
119580         the silent truncation.
119582         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
119583         conversion function.
119584         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
119585         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
119586         longer needed.
119588 2004-01-15  Jim Meyering  <jim@meyering.net>
119590         Merge from coreutils.
119592         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
119593         if no library is required.
119594         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
119595         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
119596         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
119597         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
119598         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
119599         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
119600         value, $ac_cv_search_crypt, if it's "none required".
119601         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
119602         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
119603         not gl_FUNC_GETLOADAVG.
119604         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
119605         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
119607 2004-01-15  Jim Meyering  <jim@meyering.net>
119609         Merge from coreutils.
119611         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
119612         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
119613         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
119615         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
119616         optional configure-time default.
119618         * lib/version-etc.c (version_etc_copyright): Update copyright date.
119620         * lib/xreadlink.c (xreadlink): Correct outdated comment.
119622 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
119624         Merge from coreutils.
119626         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
119627         value, $ac_cv_search_nanosleep, if it's "none required".
119629 2004-01-14  Paul Eggert  <eggert@twinsun.com>
119631         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
119632         with like-named macro in fnmatch.c.
119633         (EXT): Use an internal constant instead.
119635         Merge fnmatch patches from glibc.
119636         * lib/fnmatch.c (mbsinit): Remove define.
119637         Add libc_hidden_ver (__fnmatch, fnmatch).
119638         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
119639         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
119641 2004-01-14  Karl Berry  <karl@gnu.org>
119643         * config/install-sh: update from automake.
119645 2004-01-13  Karl Berry  <karl@gnu.org>
119647         * config/install-sh: update from automake.
119649 2004-01-09  Karl Berry  <karl@gnu.org>
119651         * config/install-sh: update from automake.
119653 2004-01-05  Karl Berry  <karl@gnu.org>
119655         * config/config.{sub,guess}: update from config.
119657 2003-12-31  Karl Berry  <karl@gnu.org>
119659         * config/depcomp: update from automake.
119661 2003-12-14  Karl Berry  <karl@gnu.org>
119663         * lib/config.charset: update from gettext-runtime.
119665 2003-12-03  Paul Eggert  <eggert@twinsun.com>
119667         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
119668         Bug reported by Alfred M. Szmidt.
119670 2003-12-03  Bruno Haible  <bruno@clisp.org>
119672         * m4/gettext.m4: Upgrade from gettext-0.13.
119673         * m4/po.m4: Upgrade from gettext-0.13.
119674         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
119675         * m4/intmax.m4: New file, from gettext-0.13.
119676         * m4/printf-posix.m4: New file, from gettext-0.13.
119678 2003-11-29  Karl Berry  <karl@gnu.org>
119680         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
119682 2003-11-25  Paul Eggert  <eggert@twinsun.com>
119683             Bruno Haible  <bruno@clisp.org>
119685         * lib/printf-parse.h: Don't include sys/types.h.
119686         (ARG_NONE): New macro.
119687         (char_directive): Change type of *arg_index fields to size_t.
119688         * lib/printf-parse.c: Don't include sys/types.h.
119689         (SSIZE_MAX): Remove macro.
119690         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
119691         Remove unnecessary overflow check.
119692         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
119693         fields.
119695 2003-11-25  Bruno Haible  <bruno@clisp.org>
119697         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
119699 2003-11-25  Bruno Haible  <bruno@clisp.org>
119701         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
119702         gt_TYPE_SSIZE_T.
119704 2003-11-24  Paul Eggert  <eggert@twinsun.com>
119706         * modules/alloca: Remove dependency on xalloc.
119708 2003-11-24  Paul Eggert  <eggert@twinsun.com>
119710         * lib/alloca.c: Remove dependency on xalloc module.
119711         (xalloc_die): Remove.
119712         (memory_full) [!defined emacs]: New macro.
119713         [!defined emacs]: Don't include xalloc.h.
119714         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
119715         address arithmetic overflows.  Change datatypes a bit to avoid
119716         unnecessary casts.
119718 2003-11-22  Jim Meyering  <jim@meyering.net>
119720         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
119721         s/size/size_t/.
119723 2003-11-21  Karl Berry  <karl@gnu.org>
119725         * config/config.{sub,guess}: update from config.
119727 2003-11-18  Karl Berry  <karl@gnu.org>
119729         * config/config.{sub,guess}: update from config.
119731         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
119733 2003-11-17  Paul Eggert  <eggert@twinsun.com>
119735         * README: Mention that S+T cannot overflow if S is the size of
119736         an existing object and T is sufficiently small.
119738 2003-11-17  Jim Meyering  <jim@meyering.net>
119740         On systems without utime and without a utimes function capable of
119741         dealing with a NULL struct utimbuf* argument, this utime replacement
119742         could -- in unusual circumstances -- leak a file descriptor.
119743         * lib/utime.c: Include <unistd.h> and <errno.h>.
119744         (utime_null): Be sure to close `fd' and to preserve errno.
119745         Reported by Geoff Collyer via Arnold Robbins.
119747 2003-11-17  Bruno Haible  <bruno@clisp.org>
119749         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
119750         (Depends-on): Add xsize.
119752 2003-11-17  Bruno Haible  <bruno@clisp.org>
119754         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
119756 2003-11-17  Bruno Haible  <bruno@clisp.org>
119758         * lib/vasnprintf.c (alloca): Remove fallback definition.
119759         (freea): Remove definition.
119760         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
119761         Reported by Paul Eggert.
119763 2003-11-16  Paul Eggert  <eggert@twinsun.com>
119764             Bruno Haible  <bruno@clisp.org>
119766         Protect against address arithmetic overflow.
119767         * lib/printf-args.h: Include stddef.h.
119768         (arguments): Change type of field 'count' to size_t.
119769         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
119770         'unsigned int' where appropriate.
119771         * lib/printf-parse.h: Include sys/types.h.
119772         (char_directive): Change type of *arg_index fields to ssize_t.
119773         (char_directives): Change type of fields 'count', max_*_length to
119774         size_t.
119775         * lib/printf-parse.c: Include sys/types.h and xsize.h.
119776         (SSIZE_MAX): Define fallback value.
119777         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
119778         instead of 'int' where appropriate. Check a_allocated, d_allocated
119779         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
119780         * lib/vasnprintf.c: Include xsize.h.
119781         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
119782         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
119783         overflow. Avoid wraparound when converting a width or precision from
119784         decimal to binary.
119786 2003-11-16  Bruno Haible  <bruno@clisp.org>
119788         Update from GNU gettext.
119789         * lib/printf-parse.c: Generalize to it can be compiled for wide
119790         strings.
119791         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
119792         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
119793         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
119794         SNPRINTF): New macros.
119795         Don't include <alloca.h> if the file is used inside libintl.
119796         (local_wcslen): New function, for Solaris 2.5.1.
119797         (VASNPRINTF): Use it instead of wcslen.
119799 2003-11-16  Bruno Haible  <bruno@clisp.org>
119801         * lib/xsize.h (xmax): New function.
119802         (xsum, xsum3, xsum4): Declare as "pure" functions.
119804 2003-11-12  Paul Eggert  <eggert@twinsun.com>
119806         * modules/xalloc (Files): Undo latest change, since xalloc.h
119807         no longer needs SIZE_MAX or PTRDIFF_MAX.
119809 2003-11-12  Paul Eggert  <eggert@twinsun.com>
119811         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
119812         gl_PTRDIFF_MAX.
119814 2003-11-12  Paul Eggert  <eggert@twinsun.com>
119816         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
119817         "return", to pacify some unknown compiler.  Problem reported
119818         by Joerg Schilling.
119820 2003-11-12  Paul Eggert  <eggert@twinsun.com>
119822         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
119823         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
119824         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
119825         heuristic is just as accurate as far as we know, and it removes a
119826         dependency on size_max.m4 and ptrdiff_max.m4.
119828 2003-11-11  Bruno Haible  <bruno@clisp.org>
119830         * modules/xsize (Files): Add m4/size_max.m4.
119831         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
119833 2003-11-11  Bruno Haible  <bruno@clisp.org>
119835         * m4/size_max.m4: New file.
119836         * m4/ptrdiff_max.m4: New file.
119837         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
119838         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
119839         (gl_XALLOC): Invoke it.
119841 2003-11-11  Bruno Haible  <bruno@clisp.org>
119843         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
119844         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
119845         defined.
119847 2003-11-10  Paul Eggert  <eggert@twinsun.com>
119849         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
119850         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
119851         rejected some allocations of exactly SIZE_MAX - 2 bytes.
119852         From Bruno Haible.
119853         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
119854         not (size_t) -1, since it's defined here.
119856 2003-11-09  Karl Berry  <karl@gnu.org>
119858         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
119860 2003-11-06  Paul Eggert  <eggert@twinsun.com>
119862         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
119863         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
119864         Reject sizes of exactly SIZE_MAX bytes.
119865         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
119866         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
119868 2003-11-05  Bruno Haible  <bruno@clisp.org>
119870         * lib/xsize.h: Include limits.h, to avoid a possible collision with
119871         SIZE_MAX defined in <limits.h> on Solaris.
119873 2003-11-04  Jim Meyering  <jim@meyering.net>
119875         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
119876         variable names, rather than @VAR@.
119877         * modules/poll: Likewise.
119879 2003-11-04  Bruno Haible  <bruno@clisp.org>
119881         * modules/xsize: New file.
119882         * modules/linebreak: Depend on xsize.
119883         * MODULES.html.sh (func_all_modules): Add xsize.
119885 2003-11-04  Bruno Haible  <bruno@clisp.org>
119887         * m4/xsize.m4: New file.
119889 2003-11-04  Bruno Haible  <bruno@clisp.org>
119891         * lib/xsize.h: New file.
119892         * lib/linebreak.c: Include xsize.h.
119893         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
119894         argument for overflow.
119895         Suggested by Paul Eggert.
119897 2003-11-03  Karl Berry  <karl@gnu.org>
119899         * config/config.{guess,sub}: update from config.
119901 2003-11-03  Jim Meyering  <jim@meyering.net>
119903         * modules/userspec (lib_SOURCES): Add userspec.h.
119904         (Include): Add "userspec.h".
119905         Improve description.
119907 2003-11-03  Jim Meyering  <jim@meyering.net>
119909         * lib/userspec.c: Include "userspec.h".
119910         * lib/userspec.h: New file.
119912 2003-11-03  Bruno Haible  <bruno@clisp.org>
119914         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
119916 2003-11-03  Bruno Haible  <bruno@clisp.org>
119918         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
119919         available, to avoid (extremely rare) race condition.
119920         Suggested by Paul Eggert.
119922 2003-11-02  Karl Berry  <karl@gnu.org>
119924         * config/srclist.txt (vasprintf.c): sync broken, sigh.
119926 2003-10-31  Paul Eggert  <eggert@twinsun.com>
119928         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
119929         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
119930         (read_filesystem_list): Set and use me_type_malloced.
119931         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
119932         whatever the type happens to be), for brevity and consistency.
119933         Check for size calculation overflow on Alphas running OSF/1.
119935 2003-10-31  Jim Meyering  <jim@meyering.net>
119937         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
119939         * lib/linebuffer.c: Include <string.h> for declaration of memset.
119941 2003-10-30  Paul Eggert  <eggert@twinsun.com>
119942             Bruno Haible  <bruno@clisp.org>
119944         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
119945         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
119947 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
119949         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
119950         netbsd*-gnu*.  Suggested by Robert Millan.
119952 2003-10-29  Paul Eggert  <eggert@twinsun.com>
119954         * modules/group-member: Depend on stdbool.
119956 2003-10-29  Paul Eggert  <eggert@twinsun.com>
119958         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
119960 2003-10-29  Paul Eggert  <eggert@twinsun.com>
119962         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
119963         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
119964         after the 'gnu' in these cases.  This fixes some bugs in the
119965         previous change, and is based on suggestions by Robert Millan.
119967 2003-10-29  Paul Eggert  <eggert@twinsun.com>
119969         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
119970         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
119971         no longer needed.
119972         * lib/quotearg.c (quotearg_n_options): Use it.
119973         * lib/group-member.c: Include <stdbool.h>.
119974         (free_group_info): Arg is now const *; don't free arg.
119975         (get_group_info): Now returns bool and accepts struct group_info *,
119976         rather than returning a malloc'ed struct group_info *.
119977         All uses changed.  Check for overflow in internal size calculation.
119979         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
119980         rather than xmalloc/xrealloc.
119981         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
119982         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
119983         conformance bug: the old code used a pointer after freeing the
119984         storage that it addressed.
119985         * lib/hash.c (hash_initialize): Simplify the code by using
119986         xalloc_oversized rather than doing it by hand.
119987         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
119988         the buffer preserved.  Use free and xmalloc instead.
119989         * lib/quotearg.c (quotearg_n_options): Likewise.
119990         Use a simpler test for size overflow.  Don't use xalloc_oversized
119991         because unsigned int might be wider than size_t (!); this suggests
119992         that we should switch from unsigned int to size_t for slot numbers.
119994 2003-10-28  Paul Eggert  <eggert@twinsun.com>
119996         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
119997         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
119998         NetBSD kernels.  Requested by Richard Stallman.
120000 2003-10-27  Paul Eggert  <eggert@twinsun.com>
120002         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
120003         to allocate the returned structure.  Do not allocate a subarray,
120004         as x2nrealloc will do that.
120005         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
120006         instead of xnrealloc.
120007         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
120009 2003-10-27  Bruno Haible  <bruno@clisp.org>
120011         * lib/stdbool_.h: Better support for BeOS.
120013 2003-10-26  Paul Eggert  <eggert@twinsun.com>
120015         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
120016         now uses inline.
120018 2003-10-26  Paul Eggert  <eggert@twinsun.com>
120020         * lib/xalloc.h (xalloc_oversized): New static inline function, for
120021         callers that want to do their own size-overflow checking.  Include
120022         <stdbool.h>, since xalloc_oversized returns bool.
120023         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
120024         to use xalloc_oversized.
120026         Add two functions x2realloc, x2nrealloc, for programs that grow
120027         arrays dynamically by doubling their sizes.
120028         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
120029         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
120030         New functions.
120032         Port to C99 semantics for 'inline' of external functions.
120033         Bug reported by Bruno Haible.
120034         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
120035         with the old contents of xnmalloc.
120036         (xnmalloc, xmalloc): Use it.
120037         (xnrealloc_inline): New static inline function,
120038         with the old contents of xnrealloc.
120039         (xnrealloc, xrealloc): Use it.
120041         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
120042         that.
120044 2003-10-26  Karl Berry  <karl@gnu.org>
120046         * config/srclist.txt (COPYING.DOC): no longer available from
120047         /gd/gnuorg; don't know where the ultimate source is.
120049 2003-10-25  Paul Eggert  <eggert@twinsun.com>
120051         Fix several address-calculation bugs in the hash modules,
120052         plus some minor code cleanup.
120054         * lib/hash.h: Include <stdbool.h>, for bool.
120055         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
120056         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
120057         hash_get_n_entries, hash_get_max_bucket_length,
120058         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
120059         hash_rehash): Use size_t rather than unsigned.
120060         * lib/hash.c (struct hash_table, hash_get_n_buckets,
120061         hash_get_n_buckets_used, hash_get_n_entries,
120062         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
120063         hash_get_entries, hash_do_for_each, hash_string, is_prime,
120064         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
120065         Likewise.
120066         (SIZE_MAX): Define if not defined.
120067         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
120068         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
120069         hash_print):
120070         Use const * when possible.
120071         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
120072         (check_tuning): Fix bug: if tuning parameters were very close to
120073         0 or 1, rounding errors could have caused subscript violations.
120074         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
120075         (hash_initialize): Add 'fail:' label
120076         to free table and return NULL, and use it to simplify code.
120077         Use calloc rather than clearing the storage ourself.
120078         (hash_initialize, hash_rehash): Check for arithmetic overflow in
120079         buffer size calculations.
120080         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
120081         Include <stddef.h>, for size_t.
120082         * lib/hash-pjw.c (hash_pjw): Likewise.
120083         Switch to method described by Bruno Haible.
120084         Include <limits.h>, for CHAR_BIT.
120085         (SIZE_BITS): New macro.
120087 2003-10-23  Paul Eggert  <eggert@twinsun.com>
120089         * m4/getline.m4 (AM_FUNC_GETLINE):
120090         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
120091         hosts.  Problem reported by Derek Robert Price in
120092         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
120093         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
120094         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
120096 2003-10-21  Paul Eggert  <eggert@twinsun.com>
120098         * lib/getndelim2.c (getndelim2): When size calculation overflows,
120099         ceiling the allocation at NMAX bytes rather than silently
120100         discarding input bytes before NMAX is reached.  This makes
120101         a difference only if NMAX exceeds SIZE_MAX / 2.
120103         * lib/obstack.c: Merge from glibc.
120104         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
120105         Add libc_hidden_def (_obstack_newchunk).
120106         (_obstack_free) [! defined _LIBC]: Remove.
120107         [defined _LIBC]: Make a strong alias from obstack_free, rather than
120108         a clone of the function body.
120109         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
120110         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
120112         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
120113         glibc.
120114         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
120115         arg to memcpy.
120117         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
120118         (obstack_ptr_grow_fast, obstack_int_grow_fast):
120119         Don't use lvalue casts, as GCC plans to remove support for them
120120         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
120121         was also present in the non-GCC version, indicating that this
120122         code had always been buggy and had never been widely used.
120123         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
120124         Use the fast variant of each macro, rather than copying the
120125         definiens of the fast variant; that way, we'll be more likely to
120126         catch future bugs in the fast variants.
120128 2003-10-20  Bruno Haible  <bruno@clisp.org>
120130         * modules/wait-process: New file.
120131         * MODULES.html.sh (func_all_modules): Add wait-process.
120133 2003-10-20  Bruno Haible  <bruno@clisp.org>
120135         * m4/wait-process.m4: New file.
120137 2003-10-20  Bruno Haible  <bruno@clisp.org>
120139         * lib/wait-process.h: New file, from GNU gettext.
120140         * lib/wait-process.c: New file, from GNU gettext.
120142 2003-10-19  Jim Meyering  <jim@meyering.net>
120144         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
120145         HPUX 10.20.
120147 2003-10-18  Karl Berry  <karl@gnu.org>
120149         * config/config.guess: update from config.
120151 2003-10-16  Paul Eggert  <eggert@twinsun.com>
120153         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
120154         (getgroups): First arg is int, not size_t.
120155         Don't let 'free' mangle errno.
120157 2003-10-16  Paul Eggert  <eggert@twinsun.com>
120159         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
120161 2003-10-16  Karl Berry  <karl@gnu.org>
120163         * config/config.{guess,sub}: update from config.
120165 2003-10-16  Jim Meyering  <jim@meyering.net>
120167         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
120168         memcpy.
120170 2003-10-15  Paul Eggert  <eggert@twinsun.com>
120172         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
120173         (SIZE_MAX): Remove.
120174         (new_exclude, add_exclude_file): Initial size no longer needs to
120175         be a power of 2.
120176         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
120177         our own address arithmetic overflow checking.
120179         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
120180         (fnmatch): Do not alloca more than 2000 wide characters;
120181         instead, use malloc for large buffers.
120182         Check for address arithmetic overflow, and return -1
120183         with errno set to ENOMEM in that case.
120184         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
120185         (NEW_PATTERN): Do not alloca more than 8000 bytes;
120186         instead, return -1.  Check for address arithmetic overflow.
120188 2003-10-14  Paul Eggert  <eggert@twinsun.com>
120190         Handle invalid suffixes and overflow independently, so that
120191         callers can treat them independently as needed.  Fix some bugs in
120192         suffix handling, e.g., "100k@" was not diagnosed as an invalid
120193         suffix for a human-readable blocksize.  The major caller-visible
120194         change is the addition of a new
120195         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
120196         that both overflow and suffix chars were found.
120198         * lib/human.c (humblock): Don't check separately for invalid suffix
120199         char; that is xstrtoumax's job (now that its bug is fixed).
120200         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
120201         INTMAX_MAX]: New macros.
120202         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
120203         TYPE_MAXIMUM): New macros.
120204         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
120205         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
120206         if overflow occurs, as it's what __strtol does and it's more useful
120207         in practice.
120208         (__xstrtol): If __strtol reports some error other than ERANGE,
120209         reflect it to the caller as LONGINT_INVALID.  If it reports
120210         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
120211         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
120212         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
120213         value.
120214         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
120215         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
120216         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
120217         [defined UINTMAX_MAX]: New macros.
120219 2003-10-14  Bruno Haible  <bruno@clisp.org>
120221         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
120223 2003-10-14  Bruno Haible  <bruno@clisp.org>
120225         * m4/sig_atomic_t: New file, from GNU gettext.
120226         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
120228 2003-10-14  Bruno Haible  <bruno@clisp.org>
120230         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
120231         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
120232         Also use volatile where needed.
120234 2003-10-12  Paul Eggert  <eggert@twinsun.com>
120236         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
120237         Change maintainer from Bruno Haible to 'all'.
120239 2003-10-12  Paul Eggert  <eggert@twinsun.com>
120241         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
120243 2003-10-12  Paul Eggert  <eggert@twinsun.com>
120245         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
120246         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
120247         and define in terms of the other primitives.
120248         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
120249         (SIZE_MAX): Define if not already defined.
120250         (array_size_overflow): New function.
120251         (xalloc_die): Abort instead of exiting if 'error' returns.
120252         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
120253         (xmalloc, xrealloc): Use them.
120254         (xcalloc): Check for address arithmetic overflow.
120255         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
120256         a bit faster than strcpy.
120258 2003-10-10  Simon Josefsson  <jas@extundo.com>
120260         * modules/argp (Depends-on): Add restrict and strcase.
120262 2003-10-10  Simon Josefsson  <jas@extundo.com>
120264         * m4/argp.m4: Add AC_C_INLINE.
120266 2003-10-08  Paul Eggert  <eggert@twinsun.com>
120268         Merge getpass from libc, plus a few fixes.
120270         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
120271         Include <stdbool.h>.
120272         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
120273         __fsetlocking to empty.
120274         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
120275         do include <bits/libc-lock.h>.
120276         Do not include <fcntl.h>; not needed.
120277         [_LIBC]: Include <wchar.h>.
120278         (NOTCANCEL_MODE): New macro.
120279         (flockfile, funlockfile) [_LIBC]: New macros.
120280         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
120281         [!_LIBC]: New macros.
120282         (call_fclose): New function.
120283         (getpass): Use it.  Save tty stream separately; this simplifies the
120284         code and makes it more reliable if stdin happens to equal stdout.
120285         Invoke __fsetlocking on tty.
120286         Handle thread cancellation if needed.
120287         Namespace cleanup (use __tcgetattr, __getline).
120288         Use bool for Booleans.
120289         [USE_IN_LIBIO]: Handle wide streams.
120290         [!_LIBC]: Unconditionally do the fseek, since we don't know what
120291         stream might go where.
120293         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
120294         doesn't have to include <stdio.h> before us.
120295         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
120296         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
120297         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
120298         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
120299         if not declared, so that we can use getpass.c code from libc without
120300         rewriting it.
120301         (flockfile, ftrylockfile, funlockfile): New macros.
120303 2003-10-08  Paul Eggert  <eggert@twinsun.com>
120305         * modules/getpass: Depend on stdbool.
120307 2003-10-08  Paul Eggert  <eggert@twinsun.com>
120309         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
120311 2003-10-07  Karl Berry  <karl@gnu.org>
120313         * config/config.{guess,sub}: update from config.
120315 2003-10-06  Jim Meyering  <jim@meyering.net>
120316             Bruno Haible  <bruno@clisp.org>
120318         This lets translators provide better translations for the
120319         "Written by ..." part of --version output.
120320         * lib/version-etc.h: Include stdarg.h.
120321         (version_etc_copyright): Declare as readonly.
120322         (version_etc): Make this function variadic with a NULL-terminated list
120323         of author name strings.
120324         (version_etc_va): New declaration.
120325         * lib/version-etc.c: Include stdarg.h, stdlib.h.
120326         (version_etc_copyright): Declare as readonly.
120327         (version_etc_va): New function. Provide a different translatable string
120328         for each possible number of authors < 10. Abbreviate when there are 10
120329         authors or more.
120330         (version_etc): Make this function variadic. Call version_etc_va.
120331         Suggestion from Gary V. Vaughan.
120333         * lib/long-options.h (parse_long_options): Change prototype: the
120334         authors string is moved to the end and becomes variadic.
120335         * lib/long-options.c: Include stdarg.h.
120336         (parse_long_options): Make this function variadic, too.
120337         Call version_etc_va, not version_etc.
120339 2003-10-06  Bruno Haible  <bruno@clisp.org>
120341         * modules/version-etc-2: Remove file.
120342         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
120344 2003-10-06  Bruno Haible  <bruno@clisp.org>
120346         * modules/fatal-signal: New file.
120347         * MODULES.html.sh (func_all_modules): Add fatal-signal.
120349 2003-10-06  Bruno Haible  <bruno@clisp.org>
120351         * m4/fatal-signal.m4: New file.
120352         * m4/signalblocking.m4: New file, from GNU gettext.
120354 2003-10-06  Bruno Haible  <bruno@clisp.org>
120356         * lib/version-etc-2.h: Remove file.
120357         * lib/version-etc-2.c: Remove file.
120359 2003-10-06  Bruno Haible  <bruno@clisp.org>
120361         * lib/fatal-signal.h: New file, from GNU gettext.
120362         * lib/fatal-signal.c: New file, from GNU gettext.
120364 2003-10-05  Paul Eggert  <eggert@twinsun.com>
120366         * README: Rework advice for preventing empty .o files.
120367         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
120368         not <sys/types.h>.
120370 2003-10-04  Karl Berry  <karl@gnu.org>
120372         * lib/argp*: update from libc.
120374 2003-10-04  Karl Berry  <karl@gnu.org>
120376         * config/config.{guess,sub}: update from config.
120378 2003-10-02  Bruno Haible  <bruno@clisp.org>
120380         * modules/lchown (Include): Add lchown.h.
120381         * modules/time_r (Include): Use "..." syntax.
120382         * modules/xgetdomainname (Include): Add xgetdomainname.h.
120384 2003-10-01  Simon Josefsson  <jas@extundo.com>
120386         * MODULES.html.sh (func_all_modules): Move gethostname from section
120387         'based on' to section 'lacking' POSIX:2001.
120389 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
120391         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
120392         to output mode on the same stream.
120394 2003-09-29  Paul Eggert  <eggert@twinsun.com>
120396         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
120397         Fix arg typo in previous patch.
120399 2003-09-28  Jim Meyering  <jim@meyering.net>
120401         * lib/error.c: Correct cpp indentation.
120403 2003-09-27  Paul Eggert  <eggert@twinsun.com>
120405         * modules/free: New file.
120407 2003-09-27  Paul Eggert  <eggert@twinsun.com>
120409         * m4/free.m4: New file.
120411 2003-09-27  Paul Eggert  <eggert@twinsun.com>
120413         * lib/minmax.h (MIN, MAX)
120414         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
120415         Omit the special code that used __typeof__, since we worry that
120416         it could be more trouble than it's worth.  See:
120417         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
120418         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
120420         * lib/free.c: New file.
120422 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
120424         Trivial fixes to Makefile.am parts of module listings.
120425         * modules/strstr: Append strstr.h to lib_SOURCES.
120426         * modules/strcase: Likewise, for strcase.h.
120428 2003-09-27  Karl Berry  <karl@gnu.org>
120430         * config/mkinstalldirs: update from automake.
120432 2003-09-26  Paul Eggert  <eggert@twinsun.com>
120434         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
120435         (error_tail): Do not loop, reallocating temporary buffer, since
120436         the output cannot contain more wide characters than the input
120437         contains bytes, the size must be big enough already.  This avoids
120438         one potential size overflow calculation.  Check for size overflow
120439         when calculating temporary buffer size.  Free temporary buffer
120440         when done, if it was allocated with malloc; this plugs a memory
120441         leak.  Remove casts from void * to pointers, that are no longer
120442         needed now that we're assuming C89 or better.
120444         Merge error changes from glibc.
120446         * lib/error.c, error.h: Update copyright notice header to match glibc.
120447         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
120448         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
120449         Disable cancellation while printing error.
120450         * lib/error.h: Prepend __ to parameter names.
120452 2003-09-26  Jim Meyering  <jim@meyering.net>
120454         * lib/error.c (error_tail): Move some declarations
120455         into inner scope where the local variables are used.
120457 2003-09-26  Bruno Haible  <bruno@clisp.org>
120459         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
120460         stpncpy().
120461         Don't define stpncpy through config.h; it's now done through stpncpy.h.
120463 2003-09-26  Bruno Haible  <bruno@clisp.org>
120465         * lib/stpncpy.h (gnu_stpncpy): New declaration.
120466         (stpncpy): Define as alias for gnu_stpncpy.
120467         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
120469 2003-09-25  Simon Josefsson  <jas@extundo.com>
120471         * lib/xgetdomainname.h: New file.
120472         * lib/xgetdomainname.c: New file.
120474 2003-09-25  Simon Josefsson  <jas@extundo.com>
120475             Bruno Haible  <bruno@clisp.org>
120477         * modules/getdomainname: New file.
120478         * modules/xgetdomainname: New file.
120479         * MODULES.html.sh (func_all_modules): Add getdomainname,
120480         xgetdomainname.
120482 2003-09-25  Simon Josefsson  <jas@extundo.com>
120483             Bruno Haible  <bruno@clisp.org>
120485         * m4/getdomainname.m4: New file.
120487 2003-09-25  Simon Josefsson  <jas@extundo.com>
120488             Bruno Haible  <bruno@clisp.org>
120490         * lib/getdomainname.h: New file.
120491         * lib/getdomainname.c: New file.
120493 2003-09-25  Karl Berry  <karl@gnu.org>
120495         * lib/argp-fmtstream.c, argp-help.c: update from libc.
120497 2003-09-25  Karl Berry  <karl@gnu.org>
120499         * config/install-sh: update from automake.
120501 2003-09-25  Bruno Haible  <bruno@clisp.org>
120503         * modules/version-etc-2: New file, from modules/version-etc with
120504         modifications.
120505         * MODULES.html.sh (func_all_modules): Add version-etc-2.
120507 2003-09-25  Bruno Haible  <bruno@clisp.org>
120509         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
120510         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
120512 2003-09-24  Simon Josefsson  <jas@extundo.com>
120514         * modules/xgethostname: Add xgethostname.h.
120516 2003-09-24  Paul Eggert  <eggert@twinsun.com>
120518         * lib/linebuffer.c (freebuffer): Don't free the argument, just
120519         the buffer associated with the argument.  Bug reported by
120520         Simon Josefsson.
120522 2003-09-24  Paul Eggert  <eggert@twinsun.com>
120524         * README: Document assumptions that 'int' is at least 32 bits
120525         wide, that integer arithmetic is 2's complement without overflow,
120526         that there are no holes in integer values, that adding sizes of
120527         two nonoverlapping objects can't overflow, and that all-bits-zero
120528         yields scalar zero.  Fix spelling and capitalization typos.
120530 2003-09-19  Karl Berry  <karl@gnu.org>
120532         * lib/argp.h: update from libc.
120534 2003-09-17  Paul Eggert  <eggert@twinsun.com>
120536         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
120537         to avoid spurious warnings like "AC_RUN_IFELSE was called before
120538         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
120540 2003-09-17  Paul Eggert  <eggert@twinsun.com>
120542         * gnulib-tool: Use "test -h", not "test -L", for portability
120543         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
120544         (tags_regexp): Remove, since \| doesn't conform to POSIX.
120545         (sed_extract_prog): Issue s commands one-by-one, rather than
120546         using \| in one s command.
120548 2003-09-16  Paul Eggert  <eggert@twinsun.com>
120550         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
120551         input error, instead of returning NULL the next time we are called
120552         (and therefore losing track of errno).
120554 2003-09-16  Bruno Haible  <bruno@clisp.org>
120556         * gnulib-tool (func_create_testdir): Warn about duplicated
120557         dependencies.
120559 2003-09-15  Paul Eggert  <eggert@twinsun.com>
120561         * modules/argmatch, modules/fatal, modules/obstack,
120562         modules/xalloc, modules/xgethostname: Sort dependencies by
120563         importance, not alphabetically.
120565 2003-09-15  Paul Eggert  <eggert@twinsun.com>
120567         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
120568         fails, so that the caller gets the proper errno.
120570         * lib/readutmp.c (read_utmp): Likewise.
120571         Check for fstat error.  Close stream and free storage
120572         when failing.
120574 2003-09-14  Karl Berry  <karl@gnu.org>
120576         * config/srclist.txt (strdup.c): disable for c89 changes.
120578 2003-09-14  Jim Meyering  <jim@meyering.net>
120580         * lib/getloadavg.c: Correct cpp indentation.
120581         * lib/strdup.c: Likewise.
120582         * lib/vasnprintf.c: Likewise.
120584 2003-09-14  Bruno Haible  <bruno@clisp.org>
120586         * modules/fwriteerror: New file.
120587         * MODULES.html.sh (func_all_modules): Add fwriteerror.
120589 2003-09-14  Bruno Haible  <bruno@clisp.org>
120591         * lib/fwriteerror.h: New file.
120592         * lib/fwriteerror.c: New file.
120594 2003-09-12  Paul Eggert  <eggert@twinsun.com>
120596         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
120597         modules/xgethostname, modules/xalloc: Depend on exit.
120599 2003-09-12  Paul Eggert  <eggert@twinsun.com>
120601         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
120603         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
120604         and AC_MINIX, too, so that their extensions are available.
120606         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
120607         This macro has been superseded by gl_BACKUPFILE.
120609         More patches to assume C89 or better.
120611         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
120613         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
120614         unconditionally.
120615         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
120616         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
120617         Include <string.h>, <stdlib.h> unconditionally.
120618         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
120619         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
120620         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
120621         headers or for string.h.
120622         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
120623         or strtoul.
120625         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
120626         headers.
120627         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
120628         * m4/userspec.m4 (gl_USERSPEC): Likewise.
120629         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
120630         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
120631         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
120632         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
120633         memcpy, memset.
120634         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
120635         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
120636         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
120637         strtol.
120638         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
120639         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
120640         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
120641         strtoul.
120643 2003-09-12  Paul Eggert  <eggert@twinsun.com>
120645         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
120646         * lib/obstack.c [!defined _LIBC]: Likewise.
120647         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
120648         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
120649         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
120651         More changes to assume C89 or better.
120653         * lib/error.c (error_tail): Assume vprintf.
120655         * lib/argmatch.c (getenv): Remove decl.
120656         * lib/progreloc.c (get_full_program_name): Define via prototype.
120657         * lib/setenv.c (clearenv): Likewise.
120658         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
120659         needed.
120660         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
120661         (malloc, memcpy): Remove decls.
120662         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
120663         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
120664         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
120665         (memcpy): Remove macro.
120666         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
120667         (__P): Remove.  All uses removed.
120668         (PTR): Remove.  All uses changed to void *.
120669         (CHAR_BIT, NULL): Remove.
120670         (spaces, zeros, memset_space, memset_zero)
120671         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
120672         Remove.
120673         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
120674         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
120675         Define with prototype.
120676         Remove now-unnecessary prototype decl.
120677         (extra_args_spec): Assume ANSI C.  All uses changed.
120678         (extra_args_spec_iso): Remove.
120679         (my_strftime, emacs_strftimeu): Define via prototype.
120680         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
120681         unconditionally.
120682         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
120683         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
120684         (strtoul, strtol): Remove decls.
120685         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
120686         LONG_MAX): Remove.
120687         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
120688         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
120689         (LOCALE_PARAM_PROTO): New macro.
120690         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
120691         (INTERNAL (strtol), strtol): Define with a prototype.
120692         (PARAMS): Remove.  All uses removed.
120693         * lib/tempname.c: Include <string.h> unconditionally.
120694         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
120695         * lib/xgethostname.c (main): Define with a prototype.
120696         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
120697         Include <stdlib.h> unconditionally.
120698         (calloc, malloc, realloc, free): Remove decls.
120699         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
120700         Include <stdlib.h> unconditionally.  Sort include file names.
120701         (strtod): Remove.
120702         (xstrtod): Define with a prototype.
120703         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
120704         (strtol, strtoul): Remove decls.
120706 2003-09-11  Paul Eggert  <eggert@twinsun.com>
120708         More patches to assume C89 or better.
120709         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
120710         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
120711         string.h, memchr, STDC_HEADERS.
120713 2003-09-11  Paul Eggert  <eggert@twinsun.com>
120715         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
120716         Include <stdlib.h>, <string.h> unconditionally.
120717         Remove now-unnecessary cast to char *.
120718         * lib/strnlen.c: Include <string.h> unconditionally.
120719         * lib/yesno.c (yesno): Define with a prototype.
120721 2003-09-11  Bruno Haible  <bruno@clisp.org>
120723         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
120725 2003-09-10  Jim Meyering  <jim@meyering.net>
120727         * lib/error.c: Correct indentation of cpp directives.
120729 2003-09-10  Bruno Haible  <bruno@clisp.org>
120731         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
120732         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
120733         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
120734         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
120735         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
120736         <stdlib.h> and <string.h> checks.
120737         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
120738         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
120740 2003-09-10  Bruno Haible  <bruno@clisp.org>
120742         * lib/strcspn.c: Include <string.h> unconditionally.
120743         * lib/strpbrk.c: Include <string.h> unconditionally.
120744         * lib/strstr.c: Include <string.h> unconditionally.
120745         * lib/unicodeio.c: Include <string.h> unconditionally.
120746         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
120747         * lib/unsetenv.c: Likewise.
120748         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
120749         * lib/yesno.c: Include <stdlib.h> unconditionally.
120750         (rpmatch): Add prototype.
120752 2003-09-09  Paul Eggert  <eggert@twinsun.com>
120754         More patches to assume C89 or better.
120755         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
120756         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
120757         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
120758         or for string.h.
120759         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
120760         stdlib.h.
120761         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
120762         C headers.
120763         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
120764         string.h.
120765         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
120766         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
120767         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
120768         or for string.h.
120769         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
120770         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
120771         C headers.
120772         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
120773         memcpy.
120774         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
120775         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
120776         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
120777         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
120778         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
120779         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
120780         string.h, free.
120781         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
120782         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
120783         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
120784         C headers, or for string.h.
120785         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
120786         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
120787         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
120788         headers, memory.h, stdlib.h, string.h, strings.h.
120789         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
120790         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
120791         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
120792         strchr.
120793         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
120794         headers, memory.h, string.h.
120795         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
120796         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
120797         free.
120798         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
120799         headers.
120800         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
120801         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
120802         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
120803         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
120804         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
120806 2003-09-09  Paul Eggert  <eggert@twinsun.com>
120808         More K&R removal.
120810         * lib/acosl.c (main): Use a prototype.
120811         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
120812         tanl.c: Likewise.
120814         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
120816         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
120817         (getopt, etopt_long, getopt_long_only, _getopt_internal)
120818         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
120819         with a prototype.
120820         * lib/getopt.c (const): Remove macro.
120821         Include <string.h> unconditionally.
120822         (my_index): Remove; all uses changed to strchr.
120823         (strlen): Remove decl.
120824         (exchange): Remove forward decl; no longer needed.
120825         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
120826         Define with prototype.
120827         * lib/getopt1.c (const): Remove macro.
120828         (getopt_long, getopt_long_only, main): Define with prototype.
120830         * lib/getugroups.c: Include <string.h> unconditionally.
120832         * lib/getusershell.c: Include <stdlib.h> unconditionally.
120833         (getusershell, setusershell, endusershell, readname, main):
120834         Define with prototypes.
120836         * lib/group-member.c: Include group-member.h first.
120837         Include <stdlib.h> unconditionally.
120839         * lib/hard-locale.c: Include hard-locale.h first.
120840         Include <stdlib.h>, <string.h> unconditionally.
120842         * lib/hash.c (free, malloc): Remove decls.
120843         Include <stdlib.h> unconditionally.
120845         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
120846         (getenv): Do not declare.
120848         * lib/idcache.c: Include <string.h> unconditionally.
120850         * lib/long-options.c: Include long-options.h first, to test interface.
120851         Include <stdlib.h> unconditionally.
120853         * lib/makepath.c: Include makepath.h first, to test interface.
120854         Include <stdlib.h> and <string.h> unconditionally.
120856         * lib/linebuffer.c: Include <stdlib.h>.
120857         (free): Remove decl.
120859         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
120860         stddef.h. rpl_malloc returns void *, not char *.
120861         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
120862         prototype.
120864         * lib/md5.h: Include <limits.h> unconditionally.
120865         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
120866         (__P): Remove; all uses removed.
120867         * lib/md5.c: Include "md5.h" first.
120868         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
120869         md5_buffer, md5_process_bytes, md5_process_block):
120870         Define with prototypes.
120871         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
120872         * lib/sha.c: Include "sha.h" first.
120873         Include <stdlib.h>, <string.h> unconditionally.
120875         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
120876         * lib/memcmp.c (__ptr_t): Likewise.
120877         * lib/memrchr.c (__ptr_t): Likewise.
120878         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
120879         Include <string.h> unconditionally.
120880         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
120881         * lib/memchr.c: Include <stdlib.h> unconditionally.
120882         * lib/memchr.c (LONG_MAX): Remove.
120883         * lib/memrchr.c (LONG_MAX): Likewise.
120884         * lib/memchr.c (__memchr): Define via a prototype.
120885         * lib/memrchr.c (__memrchr): Likewise.
120886         * lib/memcmp.c (__P): Remove, and remove all uses.
120887         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
120888         Remove forward decls; no longer needed.
120889         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
120890         Use types required by C89 in prototype.
120892         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
120893         * lib/savedir.c: Likewise.
120894         * lib/mkdir.c (free): Remove decl.
120895         * lib/rmdir.c (rmdir): Define with a prototype.
120896         * lib/savedir.c: Include savedir.h first, to test interface.
120898         * lib/mktime.c (STDC_HEADERS): Remove.
120899         Include <stdlib.h>, <string.h> unconditionally.
120901         * lib/modechange.c: Include <stdlib.h> unconditionally.
120902         (malloc): Remove decl.
120904         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
120905         (free): Remove decl.
120907         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
120908         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
120909         (This type really should be intptr_t, but that's a C99ism.)
120910         (_obstack_memcpy): Remove: all uses changed to memcpy.
120911         Include <string.h> unconditionally.
120912         (struct obstack): Assume __STDC__ for types of members
120913         chunkfun, freefun, extra_arg.
120914         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
120915         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
120916         obstack_begin, obstack_specify_allocation,
120917         obstack_specify_allocation_with_arg, obstack_chunkfun,
120918         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
120919         Remove unprototyped decls and the macros that use them.
120920         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
120921         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
120922         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
120923         (defined __STDC__ && __STDC__)]:
120924         Remove nonprototyped code.
120925         Include <stdlib.h> unconditionally.
120926         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
120927         _obstack_allocated_p, _obstack_free, obstack_free,
120928         _obstack_memory_used, print_and_abort):
120929         Define using prototypes.
120930         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
120931         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
120932         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
120933         obstack_next_free, obstack_object_size, obstack_room) [0]:
120934         Remove unused, unprototyped code.
120936         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
120938         * lib/physmem.c (physmem_total, physmem_available, main): Define
120939         with prototypes.
120941         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
120942         (main): Define with a prototype.
120944         * lib/posixver.c (getenv): Remove decl.
120946         * lib/putenv.c (malloc): Returns void *, not char *.
120947         Include <string.h> unconditionally.
120948         (strchr, memcpy, NULL): Do not define.
120950         * lib/readtokens.c: Include readtokens.h first, to test interface.
120951         Include <stdlib.h>, <string.h> unconditionally.
120952         (init_tokenbuffer): Define with a prototype.
120954         * lib/regex.c (PARAMS): Remove.  All uses removed.
120955         All uses of _RE_ARGS removed, too.
120956         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
120957         unconditionally.
120958         (bzero): Assume memset exists.
120959         (memcmp, memcpy, NULL): Remove.
120960         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
120961         char, or assignments to local vars of type signed char.
120962         (init_syntax_once, PREFIX(extract_number_and_incr),
120963         PREFIX(print_partial_compiled_pattern),
120964         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
120965         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
120966         PREFIX(regex_grow_registers), PREFIX(regex_compile),
120967         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
120968         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
120969         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
120970         wcs_compile_range, byte_compile_range, truncate_wchar,
120971         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
120972         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
120973         count_mbs_length, wcs_re_match_2_internal,
120974         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
120975         PREFIX(alt_match_null_string_p),
120976         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
120977         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
120978         regfree, PREFIX(extract_number)): Define with prototype.  Remove
120979         now-unnecessary declaration, if any.
120980         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
120981         regcomp, regexec):
120982         Remove now-unnecessary casts among pointer types.
120983         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
120985         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
120986         (free): Remove decl.
120988         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
120990         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
120991         (free): Remove decl.
120993         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
120994         * lib/xgetcwd.c: Likewise.
120996         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
120997         (free): Remove decl.
120999         * lib/strchrnul.c (strchrnul): Define with a prototype.
121000         Fix bug: c_in was not converted to char before searching.
121002         The following changes are not K&R related:
121004         * lib/group-member.h: Include <sys/types.h>, so that this file is
121005         self-contained.
121006         * lib/makepath.h: Likewise.
121008         * lib/getusershell.c (readname, default_index, line_size, readname):
121009         Use size_t, not int, for sizes.
121010         (readname): If the size overflows, report an error instead of
121011         looping forever.
121013 2003-09-09  Paul Eggert  <eggert@twinsun.com>
121015         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
121016         libc.
121018 2003-09-09  Paul Eggert  <eggert@twinsun.com>
121020         * README: New section: portability guidelines.
121022 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
121024         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
121025         C89 spec.
121027 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
121029         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
121031 2003-09-08  Paul Eggert  <eggert@twinsun.com>
121033         Assume C89 or better; remove K&R cruft.
121034         A few of these changes were first proposed by Derek Robert Price
121035         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
121037         * lib/addext.c: Include <string.h> unconditionally.
121038         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
121039         Don't declare getenv or malloc.
121041         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
121042         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
121043         (NULL): Remove.
121044         (find_stack_direction, alloca): Use prototypes.
121046         * lib/atexit.c (atexit): Define using a prototype.
121048         * lib/basename.c, dirname.c, stripslash.c:
121049         Include <string.h> unconditionally.
121051         * lib/bcopy.c: Include <stddef.h>.
121052         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
121054         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
121056         * lib/error.h (error, error_at_line, error_print_progname)
121057         [! (defined (__STDC__) && __STDC__)]: Remove decls.
121058         * lib/error.c: Include error.h first, to check interface.
121059         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
121060         (VA_START): Remove; all uses changeed to va_start.
121061         (exit, strerror): Remove decls.
121062         (error_print_progname): Prototype uncondionally.
121063         Don't include <errno.h>; no longer needed.
121064         (private_strerror): Remove.
121065         (error_tail): Always define.
121066         (error, error_at_line): Assume C89 or better; always use prototypes.
121067         * lib/fatal.c: Include "fatal.h" first, to test interface.
121068         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
121069         (VA_START): Remove; all uses changed to va_start.
121070         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
121071         this case.
121072         (exit): Remove decl.
121073         (fatal): Prototype unconditionally.  Assume va_start works.
121074         Abort at end, to pacify gcc.
121076         * lib/euidaccess.c (main): Define with a prototype.
121078         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
121080         * lib/exitfail.c: Include <stdlib.h> unconditionally.
121082         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
121083         prototypes.
121084         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
121085         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
121086         (getenv): Remove decl.
121087         (fnmatch): Define using a prototype.
121088         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
121089         (FCT): Define using a prototype.
121091         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
121093         * lib/gethostname.c: Include <stddef.h>.
121094         (gethostname): Define with prototype.  Length is size_t, not int.
121096 2003-09-08  Paul Eggert  <eggert@twinsun.com>
121098         Assume C89 or better; remove K&R cruft.
121099         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
121100         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
121101         string.h, getenv, malloc.
121102         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
121103         headers.
121104         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
121105         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
121106         do not check for strerror.
121107         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
121108         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
121109         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
121110         do not check for doprnt or vprintf.
121111         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
121112         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
121114 2003-09-08  Paul Eggert  <eggert@twinsun.com>
121116         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
121117         getversion.c should have been removed then, but was accidentally
121118         preserved.
121120         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
121121         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
121123 2003-09-08  Karl Berry  <karl@gnu.org>
121125         * config/config.sub, config.guess, srclistvars.sh: update from savannah
121126                 config, forget about prep.
121128         * config/depcomp, missing: update from automake.
121130 2003-09-07  Paul Eggert  <eggert@twinsun.com>
121132         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
121133         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
121135 2003-09-07  Paul Eggert  <eggert@twinsun.com>
121137         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
121138         copy_tm_result.  Bug reported by Simon Josefsson in
121139         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
121141 2003-09-06  Paul Eggert  <eggert@twinsun.com>
121143         * m4/time_r.m4: New file.
121144         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
121145         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
121146         is. Check for timegm declaration.
121147         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
121148         Do not check for gmtime_r.
121149         Replace mktime if __mktime_internal does not exist and if mktime
121150         hasn't been replaced already.
121152 2003-09-06  Paul Eggert  <eggert@twinsun.com>
121154         * lib/time_r.c, lib/time_r.h: New files.
121156         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
121157         __localtime_r.
121158         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
121159         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
121161         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
121162         __gmtime_r.
121163         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
121164         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
121165         Include <time_r.h>.
121167         * lib/timegm.c: Switch to glibc implementation, with the following
121168         changes:
121169         [defined HAVE_CONFIG_H]: Include <config.h>.
121170         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
121171         (__mktime_internal) [!defined _LIBC]: New decl.
121172         (__gmtime_r) [!defined _LIBC]: New macro and function.
121173         (timegm): Use a prototype, since gnulib assumes C89.
121174         Do not bother declaring tmp to be const, as it's not really usefu.
121175         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
121176         (timegm): Declare only if HAVE_DECL_TIMEGM.
121178 2003-09-06  Paul Eggert  <eggert@twinsun.com>
121180         * MODULES.html.sh (func_all_modules): Add time_r.
121181         * modules/time_r: New file.
121182         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
121183         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
121185 2003-09-03  Paul Eggert  <eggert@twinsun.com>
121187         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
121188         Bug reported by Lute Kamstra in
121189         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
121191         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
121192         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
121193         course with correspondingly smaller numbers for tomorrow and
121194         yesterday.  From Tadayoshi Funaba.  Originally installed into
121195         sh-utils on 1999-08-07, but the patch got lost (I guess during the
121196         coreutils merge?).
121198 2003-08-31  Simon Josefsson  <jas@extundo.com>
121200         * modules/timegm: New file.
121201         * MODULES.html.sh (func_all_modules): Add timegm.
121203 2003-08-31  Simon Josefsson  <jas@extundo.com>
121205         * m4/timegm.m4: New file.
121207 2003-08-31  Simon Josefsson  <jas@extundo.com>
121209         * lib/timegm.h: New file.
121210         * lib/timegm.c: New file.  Based on
121211         wget-1.8.2/src/http.c:mktime_from_utc.
121213 2003-08-31  Karl Berry  <karl@gnu.org>
121215         * lib/argp.h: update from libc.
121217 2003-08-28  Bruno Haible  <bruno@clisp.org>
121219         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
121220         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
121221         followed by '#define fnmatch fnmatch_posix' gives an error.
121223 2003-08-28  Bruno Haible  <bruno@clisp.org>
121225         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
121226         warning on QNX, which defines O_BINARY to 000000.
121228 2003-08-27  Jim Meyering  <jim@meyering.net>
121230         * m4/mkstemp.m4: Require that the system mkstemp be able to create
121231         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
121232         would fail after 32.  Reported by Danny Levinson.  Details here:
121233         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
121235 2003-08-24  Bruno Haible  <bruno@clisp.org>
121237         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
121238         MSVC7 <stdio.h> is included later.
121240 2003-08-22  Simon Josefsson  <jas@extundo.com>
121242         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
121244 2003-08-20  Karl Berry  <karl@gnu.org>
121246         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
121248 2003-08-20  Bruno Haible  <bruno@clisp.org>
121250         * modules/progname: New file.
121251         * MODULES.html.sh (func_all_modules): Add progname.
121253 2003-08-20  Bruno Haible  <bruno@clisp.org>
121255         * lib/progname.h: New file, from GNU gettext.
121256         * lib/progname.c: New file, from GNU gettext.
121257         * lib/progreloc.c: New file, from GNU gettext.
121259 2003-08-19  Jim Meyering  <jim@meyering.net>
121261         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
121262         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
121264 2003-08-19  Bruno Haible  <bruno@clisp.org>
121266         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
121267         more.
121269 2003-08-19  Bruno Haible  <bruno@clisp.org>
121271         * lib/xstrdup.c: Assume <string.h> exists.
121273 2003-08-18  Paul Eggert  <eggert@twinsun.com>
121275         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
121276         in makefile rules.
121278 2003-08-18  Jim Meyering  <jim@meyering.net>
121280         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
121281         * m4/lib-ld.m4: Likewise.
121283 2003-08-18  Jim Meyering  <jim@meyering.net>
121285         * lib/setenv.h: Indent nested cpp directive.
121286         * lib/vasnprintf.c: Remove trailing blanks.
121288 2003-08-17  Simon Josefsson  <jas@extundo.com>
121290         * modules/xstrndup: New file.
121291         * MODULES.html.sh (func_all_modules): Add xstrndup.
121293 2003-08-17  Simon Josefsson  <jas@extundo.com>
121295         * modules/argp: Fix autoconf macro name. Add more dependencies.
121297 2003-08-17  Simon Josefsson  <jas@extundo.com>
121299         * m4/xstrndup.m4: New file.
121301 2003-08-17  Simon Josefsson  <jas@extundo.com>
121303         * m4/argp.m4: New file.
121305 2003-08-17  Simon Josefsson  <jas@extundo.com>
121306             Bruno Haible  <bruno@clisp.org>
121308         * lib/xstrndup.h: New file.
121309         * lib/xstrndup.c: New file.
121311 2003-08-17  Bruno Haible  <bruno@clisp.org>
121313         * modules/strndup (Files, Include): Add lib/strndup.h.
121315 2003-08-17  Bruno Haible  <bruno@clisp.org>
121317         * modules/euidaccess (Files): Add lib/euidaccess.h.
121319 2003-08-17  Bruno Haible  <bruno@clisp.org>
121321         * lib/strndup.h: New file.
121323 2003-08-17  Bruno Haible  <bruno@clisp.org>
121325         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
121326         like AC_GNU_SOURCE.
121327         * modules/extensions (configure.ac): Comment out the invocation of
121328         gl_USE_SYSTEM_EXTENSIONS.
121330 2003-08-16  Paul Eggert  <eggert@twinsun.com>
121332         Merges from coreutils, etc.
121333         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
121334         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
121335         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
121336         fixing a typo.
121337         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
121338         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
121340 2003-08-16  Paul Eggert  <eggert@twinsun.com>
121342         Document merge from coreutils.
121343         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
121344         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
121345         * modules/utime: Add m4/utimes-null.m4.
121347 2003-08-16  Paul Eggert  <eggert@twinsun.com>
121349         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
121350         space, undoing this 2003-08-12 change:
121351         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
121353 2003-08-16  Paul Eggert  <eggert@twinsun.com>
121355         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
121356         strtoul.c from libc, undoing this 2003-08-12 change:
121357         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
121359 2003-08-16  Jim Meyering  <jim@meyering.net>
121361         Merges from coreutils.
121362         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
121363         prefix.  Adjust cache variables similarly.  Create 500 rather than
121364         just 300 files, to exercise bug on Darwin6.5, too.
121365         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
121366         $missing_dir.
121367         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
121368         AM_SYS_POSIX_TERMIOS.
121369         Reported by mkc@mathdogs.com.
121370         Also change use of $am_cv_sys_posix_termios
121371         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
121372         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
121373         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
121374         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
121375         in /proc/mounts until it finds one with matching device number.  This
121376         is unnecessary when the FILE argument *is* a mount point.  No stat call
121377         is necessary in that case.  So, disable the statvfs-testing code on
121378         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
121379         as RedHat bug# 84846.
121380         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
121381         to 1MB, so as not to render systems with no stack size limit (e.g.,
121382         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
121383         Include <unistd.h>.  On some systems,
121384         it is required for the definition of _SC_PAGESIZE.
121386 2003-08-16  Jim Meyering  <jim@meyering.net>
121388         Merge from coreutils.
121389         * lib/xstrtoimax.c: #else #if -> #elif.
121390         * lib/xstrtoumax.c: Likewise.
121392 2003-08-16  Jim Meyering  <jim@meyering.net>
121394         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
121395         * m4/utimes.m4: Removed.
121396         * m4/utimes-null.m4: Renamed from utimes.m4.
121398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
121399         to 1MB, so as not to render systems with no stack size limit (e.g.,
121400         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
121401         Include <unistd.h>.  On some systems,
121402         it is required for the definition of _SC_PAGESIZE.
121404 2003-08-16  Jim Meyering  <jim@meyering.net>
121405         and Paul Eggert  <eggert@cs.ucla.edu>
121407         Merges from coreutils, etc.
121409         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
121410         using the latest version from cvs.  This avoids problems with #line
121411         directives using a vendor (Sun) compiler.
121412         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
121413         Don't set GETGROUPS_LIB here; now it's
121414         done via getgroups.m4's wrapper function.
121415         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
121416         rather than just in sh-util/configure.in, so that the
121417         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
121418         same.
121419         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
121420         AC_FUNC_GETLOADAVG where to find getloadavg.c.
121421         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
121422         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
121423         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
121424         Remove code that is now done by the newly-required macros.
121425         Append $(EXEEXT) to DF_PROG.
121426         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
121427         Do not invoke or require the following here,
121428         since prereq.m4 or some gnulib .m4 now does this for us:
121429         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
121430         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
121431         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
121432         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
121433         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
121434         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
121435         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
121436         AC_FUNC_OBSTACK.
121437         Do not replace the following functions, as this is now the job
121438         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
121439         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
121440         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
121441         atexit getpass, strdup, getpagesize.
121442         Replace 'raise'.
121443         Do not check for the following functions, as this is now the job
121444         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
121445         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
121446         setregid.
121447         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
121448         Check for sys/sysctl.h.
121449         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
121450         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
121451         of checking for ssize_t ourselves.
121453         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
121454         Require every macro that gnulib/modules/* suggests for us.
121455         (jm_PREREQ_ADDEXT): New macro.
121456         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
121457         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
121459         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
121460         (gl_PHYSMEM): Use it.
121461         Also check for `table' function.
121462         Check for new headers and functions.
121463         Add check for sys/sysmp.h.
121464         With suggestions from Kaveh Ghazi.
121465         Ignore headers that are present but cannot be compiled.  This
121466         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
121467         C 5.4.
121469 2003-08-15  Paul Eggert  <eggert@twinsun.com>
121471         Document merge from coreutils.
121472         * modules/userspec: Depend on posixver.
121473         * modules/strftime: Depend on tzset.
121475 2003-08-15  Paul Eggert  <eggert@twinsun.com>
121477         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
121478         rather than tab, after '#' in shell-script copyright notices.
121479         Suggested by Bruno Haible.
121481 2003-08-15  Paul Eggert  <eggert@twinsun.com>
121483         * config/srclist-update: Use three spaces, rather than tab, after '#'
121484         in shell-script copyright notices.  Suggested by Bruno Haible.
121485         Remove unnecessary parenthesization in regular expression.
121487 2003-08-15  Jim Meyering  <jim@meyering.net>
121489         Merge from coreutils.
121490         * lib/xgethostname.c: Include <stdlib.h>.
121491         (xghostname): Don't exit for anything other than memory-related
121492         failure; just return NULL.
121493         * lib/userspec.c: Include "posixver.h".
121494         (parse_user_spec): Accept `.' as a separator only
121495         in pre-POSIX-200112 mode.
121496         * lib/strtoimax.c: Use #elif rather than #else #if.
121497         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
121498         Remove function, now that we can rely on a working tzset function.
121499         [!_LIBC]: Ensure that the required autoconf test has been run.
121500         [!defined _NL_CURRENT && HAVE_STRFTIME]:
121501         Use underlying_strftime for %r.
121502         * lib/sha.c: Merge in some clean-up and optimization changes from
121503         glibc.
121504         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
121505         Ensure that it is a multiple of 64.
121506         Rearrange loop exit tests so as to avoid performing an
121507         additional fread after encountering an error or EOF.
121508         * lib/realloc.c: Update copyright date.
121510 2003-08-15  Jim Meyering  <jim@meyering.net>
121511         and Paul Eggert  <eggert@twinsun.com>
121513         Merge from coreutils.
121514         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
121515         member but strut utmpx does not.  Needed for AIX 4.3.3.
121516         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
121518 2003-08-15  Jim Meyering  <jim@meyering.net>
121519         and Paul Eggert  <eggert@cs.ucla.edu>
121521         Merges from coreutils, etc.
121522         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
121523         Require gl_FUNC_TZSET_CLOBBER.
121524         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
121525         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
121526         members.
121528 2003-08-14  Paul Eggert  <eggert@twinsun.com>
121530         Help the merge from coreutils.
121531         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
121532         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
121533         * m4/tzset.m4: Use it too.
121535 2003-08-14  Paul Eggert  <eggert@twinsun.com>
121537         * modules/tzset: New file.
121539 2003-08-14  Jim Meyering  <jim@meyering.net>
121541         Merges from coreutils.
121542         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
121543         variable names, rather than @FNMATCH_H@.
121544         * modules/alloca: Likewise for $(ALLOCA_H).
121546         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
121547         the three copies of the literal target, `fnmatch.h'.
121548         * modules/alloca (alloca.h): Likewise.
121550 2003-08-14  Jim Meyering  <jim@meyering.net>
121552         Merge from coreutils.
121553         * m4/tzset.m4: New file.
121554         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
121555         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
121556         otherwise, AIX 5.1 systems would end up using the latter.
121557         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
121558         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
121559         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
121560         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
121562 2003-08-14  Jim Meyering  <jim@meyering.net>
121564         Merge from coreutils.
121565         * lib/obstack.h: Whitespace changes.
121566         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
121567         and xcalloc return values.
121568         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
121569         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
121570         hang on OSF/1 5.1 for DIR on both local and remote file systems.
121571         Reported by (and fix confirmed by) Nelson H. F. Beebe.
121572         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
121573         error from mntctl.
121574         Use mntctl's return value to drive the entry-processing loop, since
121575         we can't rely on the value of the vmt_length member in the last
121576         entry.  On some systems doing so could result in exhausting
121577         virtual memory.  Based in part on a patch from Mike Jetzer.
121579 2003-08-14  Jim Meyering  <jim@meyering.net>
121580         and Paul Eggert  <eggert@twinsun.com>
121582         Merges from coreutils, plus other fixes.
121583         * lib/physmem.c: Merge in portability changes from gcc/libiberty
121584         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
121585         for credits and details.  Thanks to Kaveh Ghazi for helping
121586         to keep these files in sync.
121587         (ARRAY_SIZE): Define it.
121588         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
121589         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
121590         (memcasecmp): Don't assume size_t fits in unsigned int.
121591         Remove casts and duplicate code.
121592         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
121593         (memcpy): Remove definition.
121594         Merge in some clean-up and optimization changes from glibc.
121595         [BLOCKSIZE]: Move definition to top of file.
121596         Ensure that it is a multiple of 64.
121597         Rearrange loop exit tests so as to avoid performing an
121598         additional fread after encountering an error or EOF.
121599         * lib/md5.h (md5_uintptr): Define.
121600         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
121601         return to the initial working directory.  Preserve errno
121602         for caller.
121603         * lib/idcache.c: Include "xalloc.h".
121604         (xmalloc, xrealloc): Remove decls.
121605         (getuser): Remove casts no longer required in C89.
121606         * lib/human.c: Include stdio.h, for sprintf.
121607         * lib/group-member.c: Include "xalloc.h".
121608         (xmalloc, xrealloc): Remove decls.
121609         (get_group_info): Remove casts no longer required in C89.
121610         * lib/getusershell.c (readname): Remove casts no longer required in
121611         C89.
121612         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
121613         * lib/getline.c: Whitespace fix, from coreutils.
121615 2003-08-13  Paul Eggert  <eggert@twinsun.com>
121617         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
121618         Check for isascii.
121620         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
121621         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
121622         Undo previous (whitespace-only) change.
121624 2003-08-13  Paul Eggert  <eggert@twinsun.com>
121626         * lib/exclude.c: Include <ctype.h>
121627         (IN_CTYPE_DOMAIN): New macro.
121628         (is_space): New fn.
121629         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
121630         and empty lines.
121632         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
121633         Undo previous (whitespace-only) change.
121635 2003-08-13  Paul Eggert  <eggert@twinsun.com>
121637         * config/srclist-update: Change update back to the old behavior,
121638         leaving whitespace alone.  Use one 'sed' command rather than a
121639         pipeline.
121640         (fixlicense): Now a variable, not a function.
121641         (remove_trailing_blanks): Remove.
121642         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
121643         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
121644         Undo previous (whitespace-only) change.
121646 2003-08-12  Paul Eggert  <eggert@twinsun.com>
121648         Merge from coreutils.
121649         * modules/euidaccess: Add lib_SOURCES, include for new
121650         file euidaccess.h
121652 2003-08-12  Paul Eggert  <eggert@twinsun.com>
121654         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
121655         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
121656         Normalize leading white space and remove trailing white space.
121658         Merge from coreutils
121659         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
121661         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
121662         0.12.1.  These files are now being upgraded automatically by
121663         ../config/srclist-update.
121665 2003-08-12  Paul Eggert  <eggert@twinsun.com>
121667         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
121668         Normalize leading white space and remove trailing white space.
121669         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
121670         notice, as per ../config/srclist-update.
121672         Merge from coreutils.
121673         * lib/euidaccess.h: New file.
121674         * lib/euidaccess.c: Include it.
121675         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
121676         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
121677         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
121679 2003-08-12  Paul Eggert  <eggert@twinsun.com>
121681         * config/srclist-update: Add copyright notice.
121682         (remove_id_lines, remove_trailing_blanks): New constants.
121683         (fixfile): Use them to normalize spacing a bit in copied files.
121684         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
121685         Normalize leading white space and remove trailing white space.
121687         * config/texinfo.tex: Sync with texinfo.
121689         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
121690         strtoul.c from libc, to merge coreutils whitespace changes.
121692         * config/srclist.txt: Get the following m4 files from gettext:
121693         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
121694         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
121695         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
121696         wint_t.m4.
121698 2003-08-12  Karl Berry  <karl@gnu.org>
121700         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
121701         been made.
121703 2003-08-11  Paul Eggert  <eggert@twinsun.com>
121705         * modules/gnu-source, m4/gnu-source.m4:
121706         Remove; we're assuming Autoconf 2.54 or later now.
121707         Suggested by Bruno Haible.
121708         * MODULES.html.sh (func_all_modules): Remove gnu-source.
121710 2003-08-11  Bruno Haible  <bruno@clisp.org>
121712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
121714 2003-08-11  Bruno Haible  <bruno@clisp.org>
121716         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
121717         (vasnprintf): Use it instead of wcslen.
121719 2003-08-11  Bruno Haible  <bruno@clisp.org>
121721         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
121722         value to ensure that _Bool promotes to int. Use #define for _Bool when
121723         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
121725 2003-08-10  Karl Berry  <karl@gnu.org>
121727         * lib/regex.h: update from libc (whitespace fix).
121729 2003-08-09  Paul Eggert  <eggert@twinsun.com>
121731         Merge some files from coreutils.  These changes were
121732         originally made by Jim Meyering.
121733         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
121734         many older Unixes require this.
121735         * lib/alloca.c (alloca): Remove cast to argument of free;
121736         no longer needed in C89.
121737         * lib/alloca_.h, regex.h: Fix white space to match
121738         what GNU indent does.
121740 2003-08-09  Paul Eggert  <eggert@twinsun.com>
121742         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
121743         apparently Emacs's Unicode mode got confused before my 2003-08-05
121744         checkin.
121746 2003-08-08  Paul Eggert  <eggert@twinsun.com>
121748         * m4/extensions.m4: New file.
121749         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
121750         Require gl_USE_SYSTEM_EXTENSIONS.
121751         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
121752         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
121754 2003-08-08  Paul Eggert  <eggert@twinsun.com>
121756         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
121757         * modules/extensions, modules/gnu-source: New files.
121758         * modules/timespec, modules/unlocked-io: Depend on extensions.
121760 2003-08-07  Paul Eggert  <eggert@twinsun.com>
121762         * modules/restrict: New file.
121763         * MODULES.html.sh (func_all_modules): Add restrict.
121764         * modules/regex: Depend on restrict.
121766 2003-08-07  Paul Eggert  <eggert@twinsun.com>
121768         * m4/restrict.m4: New file.
121769         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
121771 2003-08-07  Bruno Haible  <bruno@clisp.org>
121773         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
121774         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
121776 2003-08-07  Bruno Haible  <bruno@clisp.org>
121778         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
121779         makes the module 'getndelim2' compatible with the module 'getline'.
121781 2003-08-05  Paul Eggert  <eggert@twinsun.com>
121783         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
121784         byte with "\201" to avoid glitches when editing that source file
121785         with multi-gnome-terminal.
121787 2003-08-05  Paul Eggert  <eggert@twinsun.com>
121789         * lib/bumpalloc.h: Remove.
121791 2003-08-05  Paul Eggert  <eggert@twinsun.com>
121793         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
121794         * modules/bumpalloc: Remove.
121796 2003-08-04  Paul Eggert  <eggert@twinsun.com>
121798         * lib/getloadavg.c: Change copyright notice and spacing to conform to
121799         GNU coding style.
121801         Merge from coreutils.
121802         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
121803         1. From glibc.
121804         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
121805         from Karl Berry, implemented by Jim Meyering.
121806         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
121807         from Dmitry V. Levin.
121808         Remove anachronistic cast of xrealloc.
121809         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
121810         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
121811         type. Otherwise, it wouldn't compile with at least /bin/cc on
121812         ymp-cray-unicos9.0.2.X.
121813         Combine two mostly-identical uses of alloca into one.
121814         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
121816 2003-08-04  Dave Love  <d.love@dl.ac.uk>
121818         [From Emacs.]
121820         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
121821         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
121822         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
121823         obsolete NLIST_NAME_UNION.
121824         [__GNU__]: Undef BSD and FSCALE.
121825         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
121827 2003-08-03  Paul Eggert  <eggert@twinsun.com>
121829         * lib/stdbool_.h (_Bool): Make it signed char, instead of
121830         an enum type, so that it's guaranteed to promote to int.  See:
121831         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
121833 2003-08-03  Karl Berry  <karl@gnu.org>
121835         * config/depcomp: update from automake.
121837 2003-07-31  Paul Eggert  <eggert@twinsun.com>
121839         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
121840         (strerror): Don't assume that a printable int fits in 14 bytes.
121842 2003-07-31  Bruno Haible  <bruno@clisp.org>
121844         * modules/getpass-gnu: New file.
121845         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
121847 2003-07-31  Bruno Haible  <bruno@clisp.org>
121849         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
121851 2003-07-24  Karl Berry  <karl@gnu.org>
121853         * config/missing: update from automake.
121855 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
121856             Bruno Haible  <bruno@clisp.org>
121858         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
121859         * lib/getline.c (getline, getdelim): Likewise.
121860         Remove _GNU_SOURCE define; now it's defined in config.h through
121861         m4/getline.m4.
121863 2003-07-23  Karl Berry  <karl@gnu.org>
121865         * config/config.sub: update from prep.
121867 2003-07-22  Paul Eggert  <eggert@twinsun.com>
121869         * modules/xalloc (Depends-on): Add exitfail.
121870         * modules/xmemcoll: Likewise.
121872 2003-07-22  Paul Eggert  <eggert@twinsun.com>
121874         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
121875         over-parenthesization in macros.
121877         Sync with coreutils.
121879         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
121880         required by C99.
121882         Use `exit_failure' for xalloc and xmemcoll instead of their own
121883         private exit-failure variables.
121884         * lib/xalloc.h (xalloc_exit_failure): Remove.
121885         * lib/xmalloc.c: Likewise.  Include exitfail.h.
121886         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
121887         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
121888         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
121889         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
121891 2003-07-20  Jim Meyering  <jim@meyering.net>
121893         * modules/closeout (Depends-on): Add exitfail.
121894         Suggestion from Bruno Haible.
121896 2003-07-19  Karl Berry  <karl@gnu.org>
121898         * config/config.sub: update from prep.
121900 2003-07-18  Paul Eggert  <eggert@twinsun.com>
121902         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
121903         Remove.
121904         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
121905         to test that it can stand by itself.  Include "exitfail.h".
121906         Clients should set exit_failure instead.
121907         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
121909 2003-07-18  Bruno Haible  <bruno@clisp.org>
121911         * modules/getndelim2: New file.
121912         * modules/getline: Share files with module getndelim2.
121913         * modules/getnline: Depend on getndelim2 instead of sharing files with
121914         it. Add getnline.c to lib_SOURCES.
121915         * MODULES.html.sh (func_all_modules): Add getndelim2.
121917 2003-07-18  Bruno Haible  <bruno@clisp.org>
121919         * m4/getndelim2.m4: New file.
121920         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
121921         invoke gl_PREREQ_GETNDELIM2.
121922         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
121923         gl_PREREQ_GETNDELIM2.
121924         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
121925         gl_GETNDELIM2.
121927 2003-07-18  Bruno Haible  <bruno@clisp.org>
121929         * lib/getndelim2.h: New file.
121930         * lib/getndelim2.c: Make into a module of its own. Include config.h,
121931         getndelim2.h.
121932         (getndelim2): Make non-static. Change return type to ssize_t.
121933         * lib/getline.h: Change argument names.
121934         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
121935         * lib/getnline.c: Include getndelim2.h.
121937 2003-07-18  Andreas Schwab  <schwab@suse.de>
121939         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
121941 2003-07-17  Karl Berry  <karl@gnu.org>
121943         * config/config.sub: update from prep.
121945 2003-07-17  Bruno Haible  <bruno@clisp.org>
121947         * modules/getnline: New file.
121948         * modules/getline: Add lib/getndelim2.c to source file list.
121949         * MODULES.html.sh (func_all_modules): Add getnline.
121951 2003-07-17  Bruno Haible  <bruno@clisp.org>
121953         * m4/getnline.m4: New file.
121955 2003-07-17  Bruno Haible  <bruno@clisp.org>
121957         * m4/Makefile.am.in: Remove file.
121958         * m4/Makefile.am: Remove file.
121959         * m4/Makefile.in: Remove file.
121961 2003-07-17  Bruno Haible  <bruno@clisp.org>
121963         * lib/getnline.h: New file.
121964         * lib/getnline.c: New file.
121965         * lib/getndelim2.c: New file, extracted from getline.c.
121966         (getndelim2): Renamed from getdelim2, with added nmax argument.
121967         * lib/getline.c: Include getndelim2.c.
121968         (getdelim2): Moved out to getndelim2.c.
121969         (getline, getdelim): Update.
121971 2003-07-17  Bruno Haible  <bruno@clisp.org>
121973         * lib/Makefile.am: Remove file.
121974         * lib/Makefile.in: Remove file.
121976 2003-07-17  Bruno Haible  <bruno@clisp.org>
121978         * configure.in: Remove file.
121979         * Makefile.in: Remove file.
121981 2003-07-17  Bruno Haible  <bruno@clisp.org>
121983         * MODULES.html.sh: Put the </BODY> right before </HTML>.
121985 2003-07-16  Karl Berry  <karl@gnu.org>
121987         * config/srclist-update: was running fixlicense twice, which caused
121988                 texinfo.tex to be nullified for some reason.  Simplify,
121989                 $gplsrc is no longer needed as far as I can see?
121991 2003-07-16  Jim Meyering  <jim@meyering.net>
121993         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
121995 2003-07-15  Paul Eggert  <eggert@twinsun.com>
121997         * config/srclist.txt: Get the following files from gettext-runtime/intl
121998         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
121999         ref-del.sin.  From Bruno Haible.
122000         * config/srclist-update (fixfile): Change grep pattern again, since the
122001         previous fix didn't work (there was another trailing $).  Use
122002         '[$]' to escape the $s.
122004 2003-07-15  Karl Berry  <karl@gnu.org>
122006         * lib/vasnprintf.c: update from gettext.
122008 2003-07-15  Karl Berry  <karl@gnu.org>
122010         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
122011         gets expanded when surrounded by '$'.
122013 2003-07-15  Jim Meyering  <jim@meyering.net>
122015         * modules/save-cwd: Don't depend on error.  From Derek Price.
122017 2003-07-15  Jim Meyering  <jim@meyering.net>
122019         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
122021 2003-07-14  Simon Josefsson  <jas@extundo.com>
122023         * modules/mempcpy: New file.
122024         * MODULES.html.sh (func_all_modules): Add mempcpy.
122026 2003-07-14  Simon Josefsson  <jas@extundo.com>
122028         * m4/mempcpy.m4: New file.
122030 2003-07-14  Simon Josefsson  <jas@extundo.com>
122032         * lib/mempcpy.h: New file.
122033         * lib/mempcpy.c: New file.
122035 2003-07-14  Paul Eggert  <eggert@twinsun.com>
122037         * modules/getdate, modules/posixtm: Depend on mktime.
122039 2003-07-14  Paul Eggert  <eggert@twinsun.com>
122041         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
122042         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
122043         unicodeio.c, unicodeio.h, unlocked-io.h:
122044         Switch from LGPL to GPL.
122046 2003-07-14  Paul Eggert  <eggert@twinsun.com>
122048         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
122049         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
122050         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
122051         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
122052         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
122053         updated automatically by ../config/srclist-update.  This changes
122054         their license from LPGL to GPL.
122056 2003-07-14  Paul Eggert  <eggert@twinsun.com>
122058         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
122059         assumed to refer to the root of the most recent stable gettext version.
122060         * config/srclistvars.sh: Add defaults for eggert.
122061         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
122062         Match "This program" as well as "The program".  This is needed
122063         for gettext.
122065 2003-07-14  Jim Meyering  <jim@meyering.net>
122067         Don't emit diagnostics.  Let callers do that.
122068         * lib/save-cwd.c: Don't include "error.h".
122069         (save_cwd): Don't call error.  Ensure that errno is valid
122070         when returning nonzero.
122072         * lib/save-cwd.h (restore_cwd): Update prototype.
122073         * lib/save-cwd.c (restore_cwd): Remove two parameters.
122074         Simplify.  Don't call error upon failure.  Let callers do that.
122075         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
122076         when auditing is enabled.  But don't bother updating the #if.
122078 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
122080         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
122081         it breaks C++ compilation.
122082         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
122084 2003-07-10  Simon Josefsson  <jas@extundo.com>
122086         * modules/strchrnul (Makefile.am): Add strchrnul.h.
122088 2003-07-10  Jim Meyering  <jim@meyering.net>
122090         * m4/clock_time.m4: Remove trailing blank.
122091         * m4/intmax_t.m4: Likewise.
122093 2003-07-10  Jim Meyering  <jim@meyering.net>
122095         * lib/vasnprintf.c: Remove trailing blanks.
122096         Make cpp indentation consistent.
122098 2003-07-09  Paul Eggert  <eggert@twinsun.com>
122100         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
122101         posixver.c, strftime.c, strnlen.c, strverscmp.c:
122102         Switch from LGPL to GPL.
122104 2003-07-09  Paul Eggert  <eggert@twinsun.com>
122106         * config/srclist.txt: Sort sublists.  Add
122107         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
122108         that differ from gnulib for one reason or another; we'd like this list
122109         to be smaller but for now let's document what we have.
122111 2003-07-08  Paul Eggert  <eggert@twinsun.com>
122113         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
122114         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
122115         and sweeter "eval x=$x".
122116         * config/srclist.txt: Get lib/argp* from glibc.
122118 2003-07-07  Paul Eggert  <eggert@twinsun.com>
122120         * lib/mktime.c: Fix some boundary cases and remove need for floating
122121         point.
122123         Issue a compile-time diagnostic if time_t is floating point, or if
122124         two's complement arithmetic is not in effect, or if arithmetic
122125         right shift does not propagate the sign.  These assumptions were
122126         all in the original code but they weren't checked.
122128         (TIME_T_MIDPOINT, verify): New macros.
122129         (__isleap): Remove; it has integer overflow problems.
122130         (leapyear): New function, without those problems.
122131         (ydhms_tm_diff): Remove; splitting into two parts.
122132         (ydhms_diff): New function, containing the arithmetic part of
122133         the old ydhms_tm_diff function.  Issue a compile-time
122134         diagnostic if we are not using C99 integer division.
122135         Avoid casts when possible.
122136         (guess_time_tm): New function, containing the checking part of
122137         the old ydhms_tm_diff function.  Return the new value, rather than
122138         the difference between it and the old.  Accept a new argument T
122139         so that *T specifies the old value.  Check for overflow in the result.
122141         (__mktime_internal): Use a time_t offset, not a long int offset.
122142         This undoes the 2003-06-04 change, which is no longer needed now
122143         that we have better overflow checking.
122144         (localtime_offset): Likewise.
122146         (__mktime_internal): Avoid harmful overflow on hosts where time_t
122147         and long are 64-bit but int is only 32-bit.
122148         (ydhms_diff): Use long int to store year1 and yday1.
122149         Issue a compile-time diagnostic if long int is not wide enough.
122151         (__mktime_internal): Use long int to store adjusted year and yday.
122152         Use plain C rather than preprocessor commands, if that doesn't
122153         affect efficiency.
122154         Check for overflow (and try to repair) after each probe
122155         rather than checking only at the very end.  This avoids some bugs
122156         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
122157         does not equal GMT offset at maximum time).
122158         Use integer to check for overflow rather than floating point; this
122159         is more portable to non-IEEE hosts, and is a tad faster.
122160         When we detect that we are oscillating between two values,
122161         don't check whether tm_isdst has the requested value, since
122162         we already know the answer.  When tm_isdst has the wrong value,
122163         use a different heuristic to find the right one, based on the
122164         extreme values actually observed in practice in tz2003a,
122165         rather than the (overly optimistic) "previous 3 calendar quarters".
122167         (not_equal_tm, print_tm, check_result): Use "const T" rather than
122168         "T const" to accommodate glibc style.
122169         (check_result): Use less-confusing report format.  "long" -> "long int.
122170         (main): Likewise.
122171         Don't loop if the iteration overflows time_t.
122172         Allow a negative step in the iteration.
122174 2003-07-06  Karl Berry  <karl@gnu.org>
122176         * config/depcomp: update from automake.
122177         * config/config.sub: update from prep.
122179 2003-07-03  Karl Berry  <karl@gnu.org>
122181         * config/config.guess: update from prep.
122183 2003-07-01  Paul Eggert  <eggert@twinsun.com>
122185         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
122186         xreadlink.c now includes it unconditionally.
122188 2003-07-01  Paul Eggert  <eggert@twinsun.com>
122190         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
122191         having it depend on HAVE_SYS_TYPES_H.
122193 2003-07-01  Bruno Haible  <bruno@clisp.org>
122195         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
122196         <sys/types.h> should be sufficient.
122197         Reported by Paul Eggert.
122199 2003-06-26  Karl Berry  <karl@gnu.org>
122201         * config/depcomp: update from automake.
122203 2003-06-26  Bruno Haible  <bruno@clisp.org>
122205         * modules/human: Depend on module stdbool.
122207 2003-06-25  Bruno Haible  <bruno@clisp.org>
122209         * modules/readlink: New file.
122210         * modules/xreadlink: Depend on it.
122211         * MODULES.html.sh (func_all_modules): Add readlink.
122213 2003-06-25  Bruno Haible  <bruno@clisp.org>
122215         * m4/readlink.m4: New file.
122217 2003-06-25  Bruno Haible  <bruno@clisp.org>
122219         * lib/readlink.c: New file.
122221 2003-06-22  Karl Berry  <karl@gnu.org>
122223         * config/srclist.txt: update mkinstalldirs from automake.
122224         * config/mkinstalldirs: update.
122226 2003-06-22  Bruno Haible  <bruno@clisp.org>
122228         Portability to mingw32.
122229         * m4/ssize_t.m4: New file, from GNU gettext.
122230         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
122231         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
122233 2003-06-22  Bruno Haible  <bruno@clisp.org>
122235         * modules/safe-read: Add m4/ssize_t.m4.
122236         * modules/xreadlink: Add m4/ssize_t.m4.
122238 2003-06-20  Bruno Haible  <bruno@clisp.org>
122240         Assume C89, so PARAMS isn't needed.
122241         * lib/unicodeio.h (PARAMS): Remove.
122242         * lib/unicodeio.c: Don't use PARAMS.
122244 2003-06-18  Karl Berry  <karl@gnu.org>
122246         * config/config.{guess,sub}: update from prep.
122248 2003-06-18  Jim Meyering  <jim@meyering.net>
122250         Merge changes from coreutils.
122251         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
122252         Remove explicit declarations of xmalloc and realloc.
122253         Include xalloc.h.
122254         (read_utmp): Remove anachronistic cast of xmalloc.
122256 2003-06-17  Paul Eggert  <eggert@twinsun.com>
122258         Assume C89, so PARAMS isn't needed.
122259         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
122260         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
122261         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
122262         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
122263         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
122264         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
122265         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
122266         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
122267         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
122268         lib/xstrtod.h, lib/xstrtol.h: Likewise.
122269         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
122270         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
122271         no longer needed. Anyway, config.h should always be included before any
122272         other file.
122274 2003-06-11  Simon Josefsson  <jas@extundo.com>
122276         * modules/sysexits: New file.
122277         * MODULES.html.sh (func_all_modules): Add sysexits.
122279 2003-06-11  Simon Josefsson  <jas@extundo.com>
122281         * lib/sysexit_.h: New file.
122283 2003-06-11  Derek Price  <derek@ximbiot.com>
122285         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
122286         necessary.
122288 2003-06-11  Bruno Haible  <bruno@clisp.org>
122290         * m4/sysexits.m4: New file.
122292 2003-06-10  Simon Josefsson  <jas@extundo.com>
122294         * lib/argp.h: New file, from glibc.
122295         * lib/argp-ba.c: New file, from glibc.
122296         * lib/argp-eexst.c: New file, from glibc.
122297         * lib/argp-fmtstream.c: New file, from glibc.
122298         * lib/argp-fmtstream.h: New file, from glibc.
122299         * lib/argp-fs-xinl.c: New file, from glibc.
122300         * lib/argp-help.c: New file, from glibc.
122301         * lib/argp-namefrob.h: New file, from glibc.
122302         * lib/argp-parse.c: New file, from glibc.
122303         * lib/argp-pv.c: New file, from glibc.
122304         * lib/argp-pvh.c: New file, from glibc.
122305         * lib/argp-xinl.c: New file, from glibc.
122307 2003-06-10  Simon Josefsson  <jas@extundo.com>
122309         * modules/strchrnul: New file.
122311 2003-06-10  Simon Josefsson  <jas@extundo.com>
122313         * modules/argp: New file.
122315 2003-06-10  Simon Josefsson  <jas@extundo.com>
122317         * m4/strchrnul.m4: New file.
122319 2003-06-10  Simon Josefsson  <jas@extundo.com>
122321         * lib/strchrnul.h: New file.
122322         * lib/strchrnul.c: New file.
122324 2003-06-10  Bruno Haible  <bruno@clisp.org>
122326         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
122328 2003-06-07  Karl Berry  <karl@gnu.org>
122330         * config/config.{guess,sub}: update from prep.
122332 2003-06-07  Jim Meyering  <jim@meyering.net>
122334         * modules/strtod: Use $(...) notation, not @...@ for
122335         AC_REPLACE'd variables.
122336         * modules/localcharset: Likewise.
122338 2003-06-07  Jim Meyering  <jim@meyering.net>
122340         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
122341         in place of my name in the copyright comment.
122342         Remove definition and uses of __P.
122344         From coreutils.
122345         * lib/stat.c: Don't declare xmalloc explicitly.
122346         Instead, include "xalloc.h".
122347         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
122348         xrealloc, and xcalloc return values.
122349         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
122350         Improve comment.
122351         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
122353 2003-06-07  Bruno Haible  <bruno@clisp.org>
122355         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
122356         avoid AC_CONFIG_LINKS.
122357         * modules/fnmatch (Makefile.am): Use explicit creation rule for
122358         fnmatch.h, to avoid AC_CONFIG_LINKS.
122359         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
122361 2003-06-07  Bruno Haible  <bruno@clisp.org>
122363         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
122364         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
122365         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
122366         directory.
122367         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
122368         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
122369         directory.
122371 2003-06-06  Jim Meyering  <jim@meyering.net>
122373         Merge from coreutils.
122374         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
122375         Consolidate declarations and initializations of *_base* locals.
122377         Merge from coreutils.
122378         This avoids a core dump on systems without GNU putenv,
122379         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
122380         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
122381         (unsetenv): New static function, from GNU libc.
122382         (rpl_putenv): Use it.
122384         * lib/modechange.c: Remove trailing blanks.
122386         Merge from coreutils.
122387         * lib/fsusage.c: Remove declaration of statfs.
122388         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
122390         * lib/posixtm.c: Include <stdbool.h> unconditionally.
122392 2003-06-06  Jim Meyering  <jim@meyering.net>
122394         * lib/stdbool_.h: Renamed from stdbool.h.in.
122396 2003-06-06  Jim Meyering  <jim@meyering.net>
122397             Bruno Haible  <bruno@clisp.org>
122399         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
122400         Adjust Makefile.am snippet not to redirect directly to target.
122401         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
122403 2003-06-05  Paul Eggert  <eggert@twinsun.com>
122405         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
122406         mismatch, look in future quarters as well as past.  This fixes a
122407         bug when processing fall-backwards gaps immediately after a long
122408         period of daylight-saving time.
122410         * lib/mktime.c: Assume freestanding C89 or better.
122411         (HAVE_LIMITS_H): Remove.  Assume it's 1.
122412         (__P): Remove; not used.
122413         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
122414         (mktime, not_equal_tm, print_tm, check_result,
122415         main): Use prototypes.  Use const * where appropriate.
122416         (main): Fix typo in testing code that uncovered by above changes.
122417         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
122419 2003-06-04  Paul Eggert  <eggert@twinsun.com>
122421         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
122422         locale.h, localeconv.  This merges changes from coreutils.
122424         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
122425         It can be removed after the next Autoconf is released.
122426         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
122427         needed.
122429 2003-06-04  Paul Eggert  <eggert@twinsun.com>
122431         * lib/mktime.c: Fix Debian bug 177940
122432         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
122433         (localtime_offset): Now long int, not time_t, because we want it
122434         to be guaranteed to be signed.  All uses changed.
122435         (__mktime_internal): If overflow would occur when adding offset,
122436         don't add it.
122438         Merge 'human' changes from coreutils.  Rewrite to support
122439         locale-specific notations like thousands separators.
122440         * lib/human.c: Simplify authorship notice.
122441         Include human.h immediately after config.h.
122442         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
122443         <limits.h>: Do not include, since human.h does.
122444         (SIZE_MAX, UINTMAX_MAX): New macros.
122445         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
122446         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
122447         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
122448         (power_letter): Renamed from suffixes.
122449         (generate_suffix_backwards): Remove.
122450         (adjust_value): Now takes int style (because of human.h changes)
122451         and long double value (for greater precision on some platforms).
122452         (group_number): New function.
122453         (human_readable): Use it.  Use integer options, not enum.
122454         Put the options before the sizes in the arg list.
122455         Support all the new options.
122456         The old human_readable function has been removed;
122457         use inttostr.h instead.
122458         (human_readable, default_block_size, humblock):
122459         Use uintmax_t, not int, for block sizes.
122460         (human_readable_inexact, block_size_types): Remove.
122461         (block_size_opts): New constant.
122462         (human_options): Renamed from human_block_size, with new signature
122463         that allows block sizes up to UINTMAX_MAX.  All callers changed.
122464         * lib/human.h: Add copyright and authorship notice.
122465         Include <limits.h> and <stdbool.h> unconditionally.
122466         (PARAMS): Remove.  All uses removed.
122467         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
122468         (enum human_inexact_style): Remove tag; now a nameless enum.
122469         (human_floor, human_ceiling, human_round_to_even): Now have
122470         values 2, 0, 1 rather than -1, 1, 0.
122471         (human_group_digits, human_suppress_point_zero, human_autoscale,
122472         human_base_1024, human_SI, human_B): New constants.
122473         (human_readable_inexact, human_block_size): Remove.
122474         (human_readable): Size args are now uintmax_t, not int.
122475         (human_options): New decl.
122477         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
122478         unnecessary now that we assume C89 or better.  This change
122479         imported from coreutils.
122481         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
122482         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
122483         in the 2003-05-30 sync from glibc.
122485         .h files should stand alone, but we shouldn't include <sys/types.h>
122486         if we can get away with just <stddef.h>.
122488         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
122489         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
122490         rather than <sys/types.h>, as we merely need size_t.
122491         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
122492         to get size_t.
122493         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
122494         Include <stdio.h>, to get FILE.
122495         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
122496         memcasecmp.h has included <stddef.h> and all we need is size_t.
122497         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
122498         our interface, instead of including <sys/types.h>
122500 2003-06-04  Paul Eggert  <eggert@twinsun.com>
122502         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
122503         now, as glibc mktime is buggy on non-glibc systems.
122505 2003-06-03  Karl Berry  <karl@gnu.org>
122507         * config/config.sub: update from prep.
122509 2003-06-02  Paul Eggert  <eggert@twinsun.com>
122511         [from coreutils]
122512         Fix some minor time-related bugs with POSIX time arguments.
122513         Some valid time stamps were being rejected (notably -1, and
122514         time stamps before 1900 on 64-bit hosts).  And some invalid
122515         time stamps were being accepted, e.g. September 31.
122517         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
122518         that we can return (time_t) -1 successfully.
122519         * lib/posixtm.c: Likewise.
122520         [HAVE_STDBOOL_H]: Include <stdbool.h>.
122521         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
122522         (t): Remove static var.
122523         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
122524         of static var.  All uses changed.
122525         (year): Do not reject years before 1900; they can occur with
122526         64-bit time_t.
122527         (posix_time_parse): Do not check for out-of-range components;
122528         that is now the caller's responsibility, since our checks were
122529         only approximations.
122530         (posixtime): Use mktime to check for out-of-range components,
122531         since it knows them exactly.
122532         If mktime returns (time_t) -1, check whether an error actually occurred
122533         by invoking localtime on -1.
122534         (main) [TEST_POSIXTIME]: Check for input data errors, and report
122535         posixtime failures better.
122536         Improve the test data (in comments only).
122538 2003-06-02  Karl Berry  <karl@gnu.org>
122540         * config/mkinstalldirs (version): new variable.
122541         (--version): new option.
122542         (usage): improve message.
122544 2003-05-30  Karl Berry  <karl@gnu.org>
122546         * lib/mktime.c: update from libc.
122548 2003-05-30  Bruno Haible  <bruno@clisp.org>
122550         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
122551         * config/config.rpath: Upgrade to gettext-0.12.1.
122553 2003-05-30  Bruno Haible  <bruno@clisp.org>
122555         * m4/gettext.m4: Upgrade to gettext-0.12.1.
122556         * m4/nls.m4: New file, from gettext-0.12.1.
122557         * m4/po.m4: New file, from gettext-0.12.1.
122558         * m4/progtest.m4: Upgrade to gettext-0.12.1.
122560 2003-05-30  Bruno Haible  <bruno@clisp.org>
122562         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
122563         * lib/localcharset.h: Likewise.
122564         * lib/localcharset.c: Likewise.
122566 2003-05-29  Karl Berry  <karl@gnu.org>
122568         * config/config.rpath: update from gettext.
122570 2003-05-28  Paul Eggert  <eggert@twinsun.com>
122572         Assume the headers required for C89 freestanding compilers.
122573         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
122574         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
122575         * m4/human.m4 (gl_HUMAN): Likewise.
122576         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
122577         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
122578         * m4/userspec.m4 (gl_USERSPEC): Likewise.
122579         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
122580         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
122581         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
122583 2003-05-28  Paul Eggert  <eggert@twinsun.com>
122585         Assume the headers required for C89 freestanding compilers.
122586         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
122587         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
122588         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
122589         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
122590         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
122591         define, since <limits.h> is guaranteed to do that.
122592         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
122593         * lib/exclude.c: Include <stdbool.h> unconditionally.
122594         * lib/tempname.c: Include <stddef.h> unconditionally.
122595         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
122596         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
122597         <stddef.h> does that.
122598         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
122599         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
122600         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
122601         needed.
122602         * lib/xstrtol.c: Likewise.
122603         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
122604         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
122606         * lib/addext.c (addext): Use assignment rather than cast, to avoid
122607         warnings on some platforms.
122609         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
122610         arbitrarily.
122612 2003-05-26  Jim Meyering  <jim@meyering.net>
122614         Merge in a change from coreutils:
122615         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
122616         that is guaranteed to be `no'.  Use `no_such_member' to indicate
122617         that condition, rather than `-1' which is slightly misleading.
122618         Change the name of the cache variable to have the gl_ prefix.
122619         Prompted by a patch from Richard Dawe for DJGPP.
122621 2003-05-24  Karl Berry  <karl@gnu.org>
122623         * config/config.guess: update from prep.
122625 2003-05-22  Karl Berry  <karl@gnu.org>
122627         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
122629 2003-05-20  Karl Berry  <karl@gnu.org>
122631         * config/config.guess: update from prep.
122633 2003-05-18  Karl Berry  <karl@gnu.org>
122635         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
122636         might actually be set by the user.
122638         * config/depcomp, install-sh, mdate-sh: update from automake.
122640 2003-05-17  Bruno Haible  <bruno@clisp.org>
122642         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
122643         invalid expansion for AC_EGREP_CPP.
122644         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
122645         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
122646         Suggested by Akim Demaille <akim@epita.fr> in
122647         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
122649 2003-05-12  Jim Meyering  <jim@meyering.net>
122651         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
122652         the space-padded-by-default conversion specifiers, %e, %k, %l.
122654 2003-05-12  Bruno Haible  <bruno@clisp.org>
122656         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
122657         the string is longer than 4 KB.
122659 2003-05-11  Karl Berry  <karl@gnu.org>
122661         * config/config.{guess,sub}: update from prep.
122663 2003-05-09  Bruno Haible  <bruno@clisp.org>
122665         * modules/error: Add m4/strerror_r.m4 to file list.
122667 2003-05-03  Bruno Haible  <bruno@clisp.org>
122669         Upgrade to Unicode-4.0.
122670         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
122671         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
122672         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
122673         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
122674         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
122675         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
122676         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
122677         Change width of U+E0100..U+E01EF from 1 to 0.
122679 2003-04-25  Jim Meyering  <jim@meyering.net>
122681         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
122682         of type size_t, not int.
122684 2003-04-25  Bruno Haible  <bruno@clisp.org>
122686         * lib/copy-file.c: Include <stddef.h>, for size_t.
122688 2003-04-21  Paul Eggert  <eggert@twinsun.com>
122690         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
122691         code which expansion is under static control.  Patch imported from
122692         Akim Demaille's patch to Bison; see
122693         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
122695 2003-04-14  Bruno Haible  <bruno@clisp.org>
122697         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
122699 2003-04-11  Jim Meyering  <jim@meyering.net>
122701         Merge changes from Coreutils.
122703         2003-03-22  Jim Meyering  <jim@meyering.net>
122705         * lib/strftime.c (widen): Cast alloca return value to proper type.
122707         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
122709         From GNU libc.
122710         * lib/strftime.c (my_strftime): Handle very large width
122711         specifications for numeric values correctly.  Improve checks for
122712         overflow.
122714         2003-01-19  Jim Meyering  <jim@meyering.net>
122716         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
122717         definitions.
122718         (nl_get_alt_digit) [! defined my_strftime]: Define.
122719         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
122720         _nl_get_alt_digit and _nl_get_walt_digit.
122722         * lib/strftime.c (my_strftime): Merge in locale-related changes from
122723         libc. These changes have no effect outside of _LIBC.
122725 2003-04-10  Bruno Haible  <bruno@clisp.org>
122727         * modules/findprog: New file.
122728         * MODULES.html.sh (func_all_modules): Add it.
122730 2003-04-10  Bruno Haible  <bruno@clisp.org>
122732         * m4/findprog.m4: New file.
122733         * m4/eaccess.m4: New file.
122735 2003-04-10  Bruno Haible  <bruno@clisp.org>
122737         * lib/findprog.h: New file, from GNU gettext.
122738         * lib/findprog.c: New file, from GNU gettext.
122740 2003-04-05  Jim Meyering  <jim@meyering.net>
122742         Merge changes from Coreutils.
122744         * lib/exclude.h (PARAMS): Remove definition and uses.
122745         * lib/exclude.c: Remove uses of `PARAMS'.
122747         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
122748         Add test-cases for DOS filenames. Declare program_name.
122749         (main): Set up program_name.  Patch by Rich Dawe.
122751         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
122752         error from mntctl.
122753         Use mntctl's return value to drive the entry-processing loop, since
122754         we can't rely on the value of the vmt_length member in the last
122755         entry.  On some systems doing so could result in exhausting
122756         virtual memory.  Based in part on a patch from Mike Jetzer.
122758 2003-04-04  Bruno Haible  <bruno@clisp.org>
122760         * modules/linebreak: New file.
122761         * MODULES.html.sh (func_all_modules): Add it.
122763 2003-04-04  Bruno Haible  <bruno@clisp.org>
122765         * m4/linebreak.m4: New file.
122767 2003-04-04  Bruno Haible  <bruno@clisp.org>
122769         * lib/linebreak.h: New file, from GNU gettext.
122770         * lib/linebreak.c: New file, from GNU gettext with slight
122771         modifications.
122772         * lib/lbrkprop.h: New file, from GNU gettext.
122774 2003-04-03  Bruno Haible  <bruno@clisp.org>
122776         * modules/utf8-ucs4: New file.
122777         * modules/utf16-ucs4: New file.
122778         * modules/ucs4-utf8: New file.
122779         * modules/ucs4-utf16: New file.
122780         * MODULES.html.sh (func_all_modules): Add them.
122782 2003-04-03  Bruno Haible  <bruno@clisp.org>
122784         * m4/utf-ucs4.m4: New file.
122785         * m4/ucs4-utf.m4: New file.
122787 2003-04-03  Bruno Haible  <bruno@clisp.org>
122789         * lib/utf8-ucs4.h: New file, from GNU gettext.
122790         * lib/utf16-ucs4.h: New file, from GNU gettext.
122791         * lib/ucs4-utf8.h: New file, from GNU gettext.
122792         * lib/ucs4-utf16.h: New file, from GNU gettext.
122794 2003-04-02  Bruno Haible  <bruno@clisp.org>
122796         * modules/binary-io: New file.
122797         * MODULES.html.sh (func_all_modules): Add it.
122799 2003-04-02  Bruno Haible  <bruno@clisp.org>
122801         * lib/binary-io.h: New file, from GNU gettext.
122803 2003-04-01  Bruno Haible  <bruno@clisp.org>
122805         * modules/pathname: New file.
122806         * MODULES.html.sh (func_all_modules): Add it.
122808 2003-04-01  Bruno Haible  <bruno@clisp.org>
122810         * lib/pathname.h: New file, from GNU gettext.
122811         * lib/concatpath.c: New file, from GNU gettext.
122813 2003-03-30  Bruno Haible  <bruno@clisp.org>
122815         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
122817 2003-03-30  Bruno Haible  <bruno@clisp.org>
122819         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
122820         function chown() doesn't exist.
122822 2003-03-28  Bruno Haible  <bruno@clisp.org>
122824         * modules/copy-file: New file.
122825         * MODULES.html.sh (func_all_modules): Add it.
122827 2003-03-28  Bruno Haible  <bruno@clisp.org>
122829         * m4/copy-file.m4: New file.
122831 2003-03-28  Bruno Haible  <bruno@clisp.org>
122833         * lib/copy-file.h: New file, from GNU gettext.
122834         * lib/copy-file.c: New file, from GNU gettext.
122836 2003-03-18  Jim Meyering  <jim@meyering.net>
122838         * lib/quote.c (quote_n): Fix typo in comment.
122840 2003-03-18  Bruno Haible  <bruno@clisp.org>
122842         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
122843         checking.
122844         * m4/onceonly_2_57.m4: Likewise.
122846 2003-03-17  Bruno Haible  <bruno@clisp.org>
122848         * m4/onceonly.m4: Require autoconf 2.54 or newer.
122849         (m4_quote): Remove macro.
122850         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
122852 2003-03-14  Jim Meyering  <jim@meyering.net>
122854         Merge changes from Coreutils.
122855         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
122856         to be const, in order to avoid warnings.
122857         (obstack_room): Likewise.
122858         (obstack_empty_p): Likewise.
122860 2003-03-14  Bruno Haible  <bruno@clisp.org>
122862         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
122863         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
122865 2003-03-13  Paul Eggert  <eggert@twinsun.com>
122867         Merge changes from Bison.
122868         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
122869         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
122870         when compiling Bison 1.875's `bitset bset = obstack_alloc
122871         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
122872         * lib/hash.c: Include <stdbool.h> unconditionally.
122874 2003-03-13  Paul Eggert  <eggert@twinsun.com>
122876         * m4/onceonly.m4 (m4_quote): New macro.
122877         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
122878         Quote AC_FOREACH variable-expansions properly.
122880 2003-03-13  Paul Eggert  <eggert@twinsun.com>
122882         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
122884 2003-03-09  Paul Eggert  <eggert@twinsun.com>
122886         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
122887         Reported by Bruce Becker; see:
122888         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
122890 2003-03-03  Paul Eggert  <eggert@twinsun.com>
122891             Bruno Haible  <bruno@clisp.org>
122893         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
122894         Reported by John Hughes, see
122895         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
122897 2003-02-20  Bruno Haible  <bruno@clisp.org>
122899         * MODULES.html.sh (func_all_modules): Add poll.
122901 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
122903         * modules/poll: New file.
122905 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
122907         * lib/poll_.h: New file.
122908         * lib/poll.c: New file.
122910 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
122912         * m4/poll.m4: New file.
122914 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
122916         * modules/mathl: New file.
122918 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
122920         * lib/mathl.h: New file.
122921         * lib/acosl.c: New file.
122922         * lib/asinl.c: New file.
122923         * lib/atanl.c: New file.
122924         * lib/ceill.c: New file.
122925         * lib/cosl.c: New file.
122926         * lib/expl.c: New file.
122927         * lib/floorl.c: New file.
122928         * lib/frexpl.c: New file.
122929         * lib/ldexpl.c: New file.
122930         * lib/logl.c: New file.
122931         * lib/sincosl.c: New file.
122932         * lib/sinl.c: New file.
122933         * lib/sqrtl.c: New file.
122934         * lib/tanl.c: New file.
122935         * lib/trigl.c: New file.
122936         * lib/trigl.h: New file.
122938 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
122940         * m4/mathl.m4: New file.
122942 2003-02-18  Bruno Haible  <bruno@clisp.org>
122944         * MODULES.html.sh (func_all_modules): Add mathl.
122946 2003-02-17  Bruno Haible  <bruno@clisp.org>
122948         * modules/mkdtemp: New module.
122949         * MODULES.html.sh (func_all_modules): Add it.
122951 2003-02-17  Bruno Haible  <bruno@clisp.org>
122953         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
122955 2003-02-17  Bruno Haible  <bruno@clisp.org>
122957         * lib/mkdtemp.h: New file, from GNU gettext.
122958         * lib/mkdtemp.c: New file, from GNU gettext.
122960 2003-02-02  Jim Meyering  <jim@meyering.net>
122962         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
122963         e.g. glibc-2.2.93.
122965 2003-01-31  Bruno Haible  <bruno@clisp.org>
122967         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
122968         'rpl_rename'.
122969         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
122970         'rpl_strnlen'.
122971         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
122972         'rpl_strtod'.
122973         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
122974         'rpl_utime'.
122976 2003-01-31  Bruno Haible  <bruno@clisp.org>
122978         * lib/rename.c: #undef rename before defining rpl_rename.
122979         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
122981 2003-01-30  Bruno Haible  <bruno@clisp.org>
122983         * modules/vasnprintf, modules/vasprintf: New modules.
122984         * MODULES.html.sh (func_all_modules): Add them.
122986 2003-01-30  Bruno Haible  <bruno@clisp.org>
122988         * m4/signed.m4: New file, from GNU gettext.
122989         * m4/longdouble.m4: New file, from GNU gettext.
122990         * m4/wchar_t.m4: New file, from GNU gettext.
122991         * m4/wint_t.m4: New file, from GNU gettext.
122992         * m4/vasnprintf.m4: New file.
122993         * m4/vasprintf.m4: New file.
122995 2003-01-30  Bruno Haible  <bruno@clisp.org>
122997         * lib/printf-args.h: New file, from GNU gettext.
122998         * lib/printf-args.c: New file, from GNU gettext.
122999         * lib/printf-parse.h: New file, from GNU gettext.
123000         * lib/printf-parse.c: New file, from GNU gettext.
123001         * lib/vasnprintf.h: New file, from GNU gettext.
123002         * lib/vasnprintf.c: New file, from GNU gettext.
123003         * lib/asnprintf.c: New file, from GNU gettext.
123004         * lib/vasprintf.h: New file, from GNU gettext with modifications.
123005         * lib/vasprintf.c: New file, from GNU gettext.
123006         * lib/asprintf.c: New file, from GNU gettext.
123008 2003-01-29  Bruno Haible  <bruno@clisp.org>
123010         * modules/stpncpy: New module.
123011         * MODULES.html.sh (func_all_modules): Add it.
123013 2003-01-29  Bruno Haible  <bruno@clisp.org>
123015         * m4/stpncpy.m4: New file.
123017 2003-01-29  Bruno Haible  <bruno@clisp.org>
123019         * lib/stpncpy.h: New file, from GNU gettext with modifications.
123020         * lib/stpncpy.c: New file, from GNU gettext with modifications.
123022 2003-01-28  Bruno Haible  <bruno@clisp.org>
123024         * modules/c-ctype: New module.
123025         * MODULES.html.sh (func_all_modules): Add it.
123027 2003-01-28  Bruno Haible  <bruno@clisp.org>
123029         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
123030         Paul Eggert.
123031         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
123032         Paul Eggert.
123034 2003-01-27  Bruno Haible  <bruno@clisp.org>
123036         * modules/xsetenv: New module.
123037         * MODULES.html.sh (func_all_modules): Add it.
123039 2003-01-27  Bruno Haible  <bruno@clisp.org>
123041         * lib/xsetenv.h: New file, from GNU gettext.
123042         * lib/xsetenv.c: New file, from GNU gettext.
123044 2003-01-23  Jim Meyering  <jim@meyering.net>
123046         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
123047         from working on systems without dirfd (at least Irix and OSF1/Tru64).
123049 2003-01-23  Bruno Haible  <bruno@clisp.org>
123051         * modules/minmax: New module.
123052         * MODULES.html.sh (func_all_modules): Add it.
123054 2003-01-23  Bruno Haible  <bruno@clisp.org>
123056         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
123057         Eggert.
123059 2003-01-22  Bruno Haible  <bruno@clisp.org>
123061         * modules/exit: New module.
123062         * MODULES.html.sh (func_all_modules): Add it.
123064 2003-01-22  Bruno Haible  <bruno@clisp.org>
123066         * lib/exit.h: New file, from GNU gettext.
123068 2003-01-19  Bruno Haible  <bruno@clisp.org>
123070         * gnulib-tool: Recognize option --extract-maintainer.
123071         (func_get_maintainer): New function.
123072         * modules/*: Add Maintainer entry.
123074 2003-01-16  Jim Meyering  <jim@meyering.net>
123076         * m4/regex.m4: The `regex' struct is both input and output.
123077         Initialize it before each use.  Patch by Tim Waugh.
123079 2003-01-16  Bruno Haible  <bruno@clisp.org>
123081         * MODULES.html.sh: Add a table of contents. Add the module name as
123082         leftmost column. Add hyperlinks.
123084 2003-01-15  Bruno Haible  <bruno@clisp.org>
123086         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
123088 2003-01-15  Bruno Haible  <bruno@clisp.org>
123090         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
123091         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
123092         suffix.
123094 2003-01-15  Bruno Haible  <bruno@clisp.org>
123096         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
123098 2003-01-15  Bruno Haible  <bruno@clisp.org>
123100         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
123101         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
123103 2003-01-14  Jim Meyering  <jim@meyering.net>
123105         * lib/same.c (same_name): Tweak a comment.
123107 2003-01-14  Bruno Haible  <bruno@clisp.org>
123109         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
123110         when a string comparison is sufficient.
123112 2003-01-14  Bruno Haible  <bruno@clisp.org>
123114         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
123115         'unsigned int'.
123117 2003-01-14  Bruno Haible  <bruno@clisp.org>
123119         * lib/hash-pjw.c: Add comment about low quality of this function.
123121 2003-01-13  Bruno Haible  <bruno@clisp.org>
123123         * modules/stpcpy: Distribute lib/stpcpy.h.
123124         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
123126 2003-01-13  Bruno Haible  <bruno@clisp.org>
123128         * modules/*: Add a description.
123129         * modules/strpbrk: Fix Makefile.am snippet.
123130         * modules/strtoimax: Fix dependencies.
123131         * modules/strtoumax: Likewise.
123133 2003-01-13  Bruno Haible  <bruno@clisp.org>
123135         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
123136         * modules/alloca (Makefile.am): All object files depend on alloca.h.
123137         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
123139 2003-01-13  Bruno Haible  <bruno@clisp.org>
123141         * gnulib-tool (func_create_testdir): Store config/* files in the main
123142         directory.
123143         * config.rpath: Move to ...
123144         * config/config.rpath: ... here.
123145         * modules/gettext: Contains config/config.rpath, not config.rpath.
123146         * modules/iconv: Likewise.
123148 2003-01-12  Paul Eggert  <eggert@twinsun.com>
123150         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
123151         to avoid collisions with libcurses and libreadline.
123153         * m4/getstr.m4: Remove.
123154         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
123156 2003-01-12  Paul Eggert  <eggert@twinsun.com>
123158         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
123159         to avoid collisions with libcurses and libreadline.
123161         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
123162         * lib/getstr.h, getstr.c: Remove.
123163         * lib/getline.c: Include "getline.h", to check interface.
123164         Move body of old getstr.c here: this defines MIN_CHUNK and
123165         declares getdelim2, which is renamed from getstr.
123166         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
123168         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
123169         All uses changed.
123170         * lib/linebuffer.h: Likewise.
123171         (readline): Remove backward-compatibility macro.
123173 2003-01-12  Paul Eggert  <eggert@twinsun.com>
123175         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
123176         to avoid collisions with libcurses and libreadline.
123177         * getstr: Remove.
123178         * MODULES.html.sh: Remove getstr.
123179         * modules/getline: Depend on unlocked-io, not getstr.
123181 2003-01-12  Jim Meyering  <jim@meyering.net>
123183         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
123185 2003-01-10  Bruno Haible  <bruno@clisp.org>
123187         * modules/alloca: Change Makefile.am requirements. Simplify Include
123188         requirements. Add lib/alloca_.h to file list.
123190 2003-01-10  Bruno Haible  <bruno@clisp.org>
123192         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
123194 2003-01-10  Bruno Haible  <bruno@clisp.org>
123196         * lib/alloca_.h: New file.
123197         * lib/getdate.y: Unconditionally include alloca.h.
123198         * lib/makepath.c: Likewise.
123199         * lib/setenv.c: Likewise.
123200         * lib/userspec.c: Likewise.
123202 2003-01-09  Karl Berry  <karl@gnu.org>
123204         * MODULES.html.sh: include `dirname $0` in PATH, to find
123205         gnulib-tool.
123207 2003-01-09  Bruno Haible  <bruno@clisp.org>
123209         * modules/stdbool: Change configure.ac, Makefile.am requirements.
123210         Simplify Include requirements. Add lib/stdbool.h.in to file list.
123212 2003-01-09  Bruno Haible  <bruno@clisp.org>
123214         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
123216 2003-01-09  Bruno Haible  <bruno@clisp.org>
123218         * lib/stdbool.h.in: New file.
123220 2003-01-09  Bruno Haible  <bruno@clisp.org>
123222         * gnulib-tool (func_all_modules): Ignore files ending in ~.
123223         * MODULES.html.sh: Likewise.
123225 2003-01-08  Jim Meyering  <jim@meyering.net>
123227         * lib/full-write.c: Undefine and define-away `const' after inclusion
123228         of errno.h, not before.  Suggestion from Bruno Haible.
123230 2003-01-08  Bruno Haible  <bruno@clisp.org>
123232         * modules/full-read: Depend on full-write.
123234 2003-01-08  Bruno Haible  <bruno@clisp.org>
123236         * lib/safe-read.c: Include specification header first, to ensure its
123237         selfcontainedness.
123238         * lib/full-write.c: Likewise.
123240 2003-01-07  Jim Meyering  <jim@meyering.net>
123242         * lib/full-write.c: Rework so that it may serve to define full_read,
123243         too.
123244         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
123246 2003-01-07  Bruno Haible  <bruno@clisp.org>
123248         * lib/strtoimax.c: Include <stdint.h> as an alternative to
123249         <inttypes.h>.
123250         * lib/xstrtol.h: Likewise.
123251         * lib/xstrtoimax.c: Likewise.
123252         * lib/xstrtoumax.c: Likewise.
123253         * lib/human.h: Likewise.
123255         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
123256         on systems that have <inttypes.h> but not <stdint.h>.
123258 2003-01-07  Bruno Haible  <bruno@clisp.org>
123260         * MODULES.html.sh: Add copyright notice.
123261         (missed_files): Omit CVS directory entries.
123262         (func_module): Make it work with sed-3.02.
123263         * MODULES.txt: Remove file.
123265 2003-01-06  Jim Meyering  <jim@meyering.net>
123267         * lib/version-etc.c: Update year in translatable copyright string.
123269 2003-01-03  Karl Berry  <karl@gnu.org>
123271         * config/config.{guess,sub}: update from prep.
123273 2003-01-02  Karl Berry  <karl@gnu.org>
123275         * doc/COPYING.DOC: belatedly updated to 1.2.
123277 2003-01-01  Karl Berry  <karl@gnu.org>
123279         * gnulib-tool (func_verify_module): report module name $module in
123280         error message, not $1.
123281         * gnulib-tool (create-testdir): don't complain if destdir couldn't
123282         be created, only if it doesn't exist.
123283         * gnulib-tool (last_checkin_date): don't expand the $Date here.
123285 2002-12-31  Paul Eggert  <eggert@twinsun.com>
123287         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
123289 2002-12-31  Paul Eggert  <eggert@twinsun.com>
123291         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
123292         memcmp if strcoll doesn't work.
123294 2002-12-31  Bruno Haible  <bruno@clisp.org>
123296         * lib/utime.c (utime_null): No need to call ftruncate if the file was
123297         nonempty.
123299 2002-12-31  Bruno Haible  <bruno@clisp.org>
123301         * lib/memcoll.c (STRCOLL): New macro.
123302         (memcoll): Use it.
123304 2002-12-31  Bruno Haible  <bruno@clisp.org>
123306         * lib/localcharset.h: New file.
123307         * lib/localcharset.c: Include it.
123308         * lib/unicodeio.c: Likewise.
123310 2002-12-31  Bruno Haible  <bruno@clisp.org>
123312         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
123313         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
123315 2002-12-31  Bruno Haible  <bruno@clisp.org>
123317         * lib/getline.h: Include <stddef.h>, for size_t.
123319         * lib/unicodeio.h: Include <stddef.h>, for size_t.
123320         * lib/unicodeio.c: Don't include <stddef.h>.
123322 2002-12-31  Bruno Haible  <bruno@clisp.org>
123324         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
123325         HAVE_TM_ZONE.
123327 2002-12-24  Karl Berry  <karl@gnu.org>
123329         * config/config.guess: update from prep.
123331 2002-12-24  Bruno Haible  <bruno@clisp.org>
123333         General infrasructure.
123334         * m4/README: Rewritten.
123335         * m4/onceonly.m4: New file.
123336         * m4/onceonly_2_57.m4: New file.
123338         Module atexit.
123339         * m4/atexit.m4: New file.
123341         Module strtod.
123342         * m4/strtod.m4: New file.
123344         Module strtol.
123345         * m4/strtol.m4: New file.
123347         Module strtoul.
123348         * m4/strtoul.m4: New file.
123350         Module memchr.
123351         * m4/memchr.m4: New file.
123353         Module memcmp.
123354         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
123355         (jm_FUNC_MEMCMP): Invoke it.
123357         Module memcpy.
123358         * m4/memcpy.m4: New file.
123360         Module memmove.
123361         * m4/memmove.m4: New file.
123363         Module memset.
123364         * m4/memset.m4: New file.
123366         Module strcspn.
123367         * m4/strcspn.m4: New file.
123369         Module strpbrk.
123370         * m4/strpbrk.m4: New file.
123372         Module strstr.
123373         * m4/strstr.m4: New file.
123375         Module strerror.
123376         * m4/strerror.m4: New file.
123378         Module mktime.
123379         * m4/mktime.m4: Renamed from jm-mktime.m4.
123380         (gl_PREREQ_MKTIME): New macro.
123381         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
123383         Module malloc.
123384         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
123385         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
123386         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
123388         Module realloc.
123389         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
123390         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
123391         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
123393         Module strftime.
123394         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
123395         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
123396         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
123397         gl_TM_GMTOFF.
123398         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
123400         Module xalloc.
123401         * m4/xalloc.m4: New file.
123403         Module alloca.
123404         * m4/alloca.m4: New file.
123406         Module putenv.
123407         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
123408         (jm_FUNC_PUTENV): Invoke it.
123410         Module setenv.
123411         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
123412         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
123413         when invoked twice.
123414         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
123415         gt_FUNC_SETENV.
123417         Module memrchr.
123418         * m4/memrchr.m4: New file.
123420         Module stpcpy.
123421         * m4/stpcpy.m4: New file.
123423         Module strcase.
123424         * m4/strcase.m4: New file.
123426         Module strdup.
123427         * m4/strdup.m4: New file.
123429         Module strnlen.
123430         * m4/strnlen.m4: New file.
123432         Module strndup.
123433         * m4/strndup.m4: New file.
123435         Module xstrtod.
123436         * m4/xstrtod.m4: New file.
123438         Module xstrtol.
123439         * m4/xstrtol.m4: New file.
123441         Module getdate.
123442         * m4/getdate.m4: New file.
123444         Module unlocked-io.
123445         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
123446         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
123447         * m4/jm-glibc-io.m4n: Remove file.
123449         Module long-options.
123450         * m4/long-options.m4: New file.
123452         Module md5.
123453         * m4/md5.m4: New file.
123455         Module sha.
123456         * m4/sha.m4: New file.
123458         Module getstr.
123459         * m4/getstr.m4: New file.
123461         Module getline.
123462         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
123463         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
123464         <sys/types.h>, for size_t. Use the function name gnu_getline, not
123465         simply getline. Infoke gl_PREREQ_GETLINE.
123467         Module obstack.
123468         * m4/obstack.m4: New file.
123470         Module hash.
123471         * m4/hash.m4: New file.
123473         Module readtokens.
123474         * m4/readtokens.m4: New file.
123476         Module strverscmp.
123477         * m4/strverscmp.m4: New file.
123479         Module stdbool.
123480         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
123481         OSF/1.
123483         Module strtoll.
123484         * m4/strtoll.m4: New file.
123486         Module strtoull.
123487         * m4/strtoull.m4: New file.
123489         Module strtoimax.
123490         * m4/strtoimax.m4: New file.
123492         Module strtoumax.
123493         * m4/strtoumax.m4: New file.
123495         Module xstrtoimax.
123496         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
123497         jm_AC_PREREQ_XSTRTOIMAX.
123498         Moved the strtol prerequisites to strtol.m4.
123499         Moved the strtoll prerequisites to strtoll.m4.
123500         Moved the strtoimax prerequisites to strtoimax.m4.
123502         Module xstrtoumax.
123503         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
123504         jm_AC_PREREQ_XSTRTOUMAX.
123505         Moved the strtoul prerequisites to strtoul.m4.
123506         Moved the strtoull prerequisites to strtoull.m4.
123507         Moved the strtoumax prerequisites to strtoumax.m4.
123509         Module chown.
123510         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
123511         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
123513         Module dup2.
123514         * m4/dup2.m4: New file.
123516         Module ftruncate.
123517         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
123518         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
123520         Module getgroups.
123521         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
123522         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
123524         Module gettimeofday.
123525         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
123526         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
123527         gl_PREREQ_GETTIMEOFDAY.
123529         Module mkdir.
123530         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
123531         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
123533         Module mkstemp.
123534         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
123535         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
123536         jm_AC_TYPE_UINTMAX_T.
123537         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
123539         Module stat.
123540         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
123541         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
123543         Module lstat.
123544         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
123545         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
123547         Module timespec.
123548         * m4/timespec.m4 (gl_TIMESPEC): New macro.
123549         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
123550         * m4/st_mtim.m4: Indentation.
123552         Module nanosleep.
123553         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
123554         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
123555         gl_PREREQ_NANOSLEEP.
123557         Module regex.
123558         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
123559         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
123560         (gl_REGEX): New macro.
123562         Module rename.
123563         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
123564         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
123566         Module rmdir.
123567         * m4/rmdir.m4: New file.
123569         Module utime.
123570         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
123571         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
123572         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
123574         Module dirname.
123575         * m4/dirname.m4: New file.
123577         Module getopt.
123578         * m4/getopt.m4: New file.
123580         Module unistd-safer.
123581         * m4/unistd-safer.m4: New file.
123583         Module fnmatch.
123584         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
123585         declaration.
123586         (gl_PREREQ_FNMATCH_EXTRA): New macro.
123587         (gl_FUNC_FNMATCH_POSIX): New macro.
123588         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
123589         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
123590         simply fnmatch.
123592         Module exclude.
123593         * m4/exclude.m4: New file.
123595         Module human.
123596         * m4/human.m4: New file.
123598         Module acl.
123599         * m4/acl.m4: Nop.
123601         Module backupfile.
123602         * m4/backupfile.m4: New file.
123603         * m4/d-ino.m4: Indentation.
123605         Module fsusage.
123606         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
123607         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
123608         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
123610         Module dirfd.
123611         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
123612         requirements.
123614         Module euidaccess.
123615         * m4/euidaccess.m4: New file.
123617         Module file-type.
123618         * m4/file-type.m4: New file.
123620         Module fileblocks.
123621         * m4/fileblocks.m4: New file.
123623         Module filemode.
123624         * m4/filemode.m4: New file.
123626         Module isdir.
123627         * m4/isdir.m4: New file.
123629         Module lchown.
123630         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
123631         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
123633         Module makepath.
123634         * m4/makepath.m4: New file.
123636         Module modechange.
123637         * m4/modechange.m4: New file.
123639         Module mountlist.
123640         * m4/mountlist.m4: New file.
123641         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
123642         Indentation.
123644         Module path-concat.
123645         * m4/path-concat.m4: New file.
123647         Module pathmax.
123648         * m4/pathmax.m4: New file.
123650         Module same.
123651         * m4/same.m4: New file.
123653         Module save-cwd.
123654         * m4/save-cwd.m4: New file.
123656         Module savedir.
123657         * m4/savedir.m4: New file.
123659         Module xgetcwd.
123660         * m4/xgetcwd.m4: New file.
123661         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
123663         Module xreadlink.
123664         * m4/xreadlink.m4: New file.
123666         Module safe-read.
123667         * m4/safe-read.m4: New file.
123669         Module safe-write.
123670         * m4/safe-write.m4: New file.
123672         Module closeout.
123673         * m4/closeout.m4: New file.
123675         Module stdio-safer.
123676         * m4/stdio-safer.m4: New file.
123678         Module getpass.
123679         * m4/getpass.m4: New file.
123681         Module getugroups.
123682         * m4/getugroups.m4: New file.
123684         Module group-member.
123685         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
123686         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
123688         Module idcache.
123689         * m4/idcache.m4: New file.
123691         Module userspec.
123692         * m4/userspec.m4: New file.
123694         Module gettime.
123695         * m4/clock_time.m4: New file.
123696         * m4/gettime.m4: New file.
123698         Module settime.
123699         * m4/settime.m4: New file.
123701         Module posixtm.
123702         * m4/posixtm.m4: New file.
123704         Module gethostname.
123705         * m4/gethostname.m4: New file.
123707         Module canon-host.
123708         * m4/canon-host.m4: New file.
123710         Module gettext.
123711         * m4/codeset.m4: New file, from gettext-0.11.5.
123712         * m4/gettext.m4: New file, from gettext-0.11.5.
123713         * m4/glibc21.m4: New file, from gettext-0.11.5.
123714         * m4/iconv.m4: New file, from gettext-0.11.5.
123715         * m4/intdiv0.m4: New file, from gettext-0.11.5.
123716         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
123717         * m4/inttypes.m4: New file, from gettext-0.11.5.
123718         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
123719         * m4/isc-posix.m4: New file, from gettext-0.11.5.
123720         * m4/lcmessage.m4: New file, from gettext-0.11.5.
123721         * m4/lib-ld.m4: New file, from gettext-0.11.5.
123722         * m4/lib-link.m4: New file, from gettext-0.11.5.
123723         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
123724         * m4/progtest.m4: New file, from gettext-0.11.5.
123725         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
123726         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
123727         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
123729         Module localcharset.
123730         * m4/localcharset.m4: New file.
123732         Module hard-locale.
123733         * m4/hard-locale.m4: New file.
123735         Module mbswidth.
123736         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
123737         onceonly macros.
123738         * m4/mbrtowc.m4: Add comment.
123740         Module memcasecmp.
123741         * m4/memcasecmp.m4: New file.
123743         Module memcoll.
123744         * m4/memcoll.m4: New file.
123746         Module unicodeio.
123747         * m4/unicodeio.m4: New file.
123749         Module rpmatch.
123750         * m4/rpmatch.m4: New file.
123752         Module yesno.
123753         * m4/yesno.m4: New file.
123755         Module exitfail.
123756         * m4/exitfail.m4: New file.
123758         Module c-stack.
123759         * m4/c-stack.m4 (gl_C_STACK): New macro.
123760         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
123762         Module error.
123763         * m4/error.m4 (gl_ERROR): New macro.
123764         (jm_PREREQ_ERROR): Use onceonly macros.
123766         Module fatal.
123767         * m4/fatal.m4: New file.
123769         Module getloadavg.
123770         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
123771         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
123773         Module getpagesize.
123774         * m4/getpagesize.m4: New file.
123776         Module getusershell.
123777         * m4/getusershell.m4: New file.
123779         Module physmem.
123780         * m4/physmem.m4: New file.
123782         Module posixver.
123783         * m4/posixver.m4: New file.
123785         Module quotearg.
123786         * m4/quotearg.m4: New file.
123788         Module quote.
123789         * m4/quote.m4: New file.
123791         Module readutmp.
123792         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
123794         Module sig2str.
123795         * m4/sig2str.m4: New file.
123797         Other.
123798         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
123799         ulonglong.m4.
123800         * m4/intmax_t.m4: New file.
123801         * m4/d-type.m4: Indentation.
123802         * m4/jm-macros.m4: Update.
123803         * m4/prereq.m4 (jm_PREREQ): Update.
123804         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
123805         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
123806         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
123807         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
123808         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
123809         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
123810         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
123811         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
123812         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
123813         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
123814         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
123815         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
123816         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
123817         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
123818         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
123819         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
123820         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
123821         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
123822         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
123824 2002-12-24  Bruno Haible  <bruno@clisp.org>
123826         * MODULES.txt: Update according to m4/ changes.
123828         Module gettext.
123829         * config.rpath: New file, from gettext-0.11.5.
123831         * modules/*: New module descriptions.
123832         * gnulib-tool: New file.
123833         * MODULES.html.sh: New file.
123835 2002-12-21  Karl Berry  <karl@gnu.org>
123837         * doc/fdl.texi: update to version 1.2.
123839 2002-12-19  Karl Berry  <karl@gnu.org>
123841         * config/config.guess: update from prep.
123843 2002-12-18  Bruno Haible  <bruno@clisp.org>
123845         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
123846         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
123848 2002-12-17  Bruno Haible  <bruno@clisp.org>
123850         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
123851         stdlib.h, string.h.
123853 2002-12-17  Bruno Haible  <bruno@clisp.org>
123855         * lib/canon-host.c (strdup): Remove unused declaration.
123857         * lib/fsusage.c: Include full_read.h.
123858         (get_fs_usage): Use full_read instead of safe_read.
123860         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
123862 2002-12-12  Karl Berry  <karl@gnu.org>
123864         * config/config.guess: update from prep.
123866 2002-12-11  Bruno Haible  <bruno@clisp.org>
123868         * m4/setenv.m4: New file, from gettext-0.11.5.
123870 2002-12-11  Bruno Haible  <bruno@clisp.org>
123872         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
123873         not unsetenv().
123874         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
123875         modifications:
123877         2002-12-11  Bruno Haible  <bruno@clisp.org>
123879                 * setenv.c (alloca): Fall back to malloc.
123880                 (freea): New macro.
123881                 (setenv): Use freea() to free memory allocated with alloca().
123883         2002-11-13  Bruno Haible  <bruno@clisp.org>
123885                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
123886                 function declarations.
123887                 * unsetenv.c (unsetenv): Likewise.
123889         2002-03-04  Bruno Haible  <bruno@clisp.org>
123891                 Portability to AIX 4.3.3.
123892                 * unsetenv.c: New file, extracted from setenv.c.
123893                 * setenv.c: Move the unsetenv() function to unsetenv.c.
123895         2001-12-20  Bruno Haible  <bruno@clisp.org>
123897                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
123898                 use malloc instead. For SunOS 4.
123900         2001-12-11  Bruno Haible  <bruno@clisp.org>
123902                 * setenv.c: Declare alloca.
123903                 (compar_fn_t): New typedef.
123904                 (KNOWN_VALUE, STORE_VALUE): Use it.
123906         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
123907         setenv.h.
123909 2002-12-10  Paul Eggert  <eggert@twinsun.com>
123911         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
123912         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
123913         Choose values that are less likely to collide with system fnmatch
123914         options.
123915         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
123916         defined (e.g., a pure POSIX system).
123917         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
123918         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
123920 2002-12-06  Paul Eggert  <eggert@twinsun.com>
123922         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
123923         a pain in practice to deal with generated m4 files.  This change
123924         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
123926         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
123927         and jm-glibc-io.m4, as they are no longer a special case.
123928         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
123929         kludge and the auto-generation stuff.  Check only whether the
123930         functions are declared, not whether they exist, since older hosts
123931         that don't declare the functions can't use the optimization anyway.
123933 2002-12-06  Jim Meyering  <jim@meyering.net>
123935         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
123937         Merge in changes from libc's misc/error.c, in preparation
123938         for the merge of gnulib's changes back into libc.
123940         * lib/error.c (_): Define only if not already defined.
123941         Move definition to follow all #include directives.
123942         Include unlocked-io.h only if !_LIBC.
123943         [_LIBC]: Include <libio/libioP.h>.
123944         [USE_IN_LIBIO]: Include <libio/iolibio.h>
123945         (fflush): Tweak definition to use INTUSE.
123946         (putc): Define.
123948 2002-12-05  Paul Eggert  <eggert@twinsun.com>
123950         * lib/alloca.c [defined emacs]: Include "lisp.h".
123951         (xalloc_die) [defined emacs]: New macro.
123952         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
123953         [! defined emacs]: Include <xalloc.h>.
123954         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
123955         (pointer): Typedef to POINTER_TYPE *.
123956         (malloc): Remove decl; we now always use xmalloc.
123957         (alloca): Use old-style definition, since Emacs needs this.
123958         Check for arithmetic overflow when computing combined size.
123960 2002-12-04  Paul Eggert  <eggert@twinsun.com>
123962         Do not generate unlocked-io.h automatically, since it's easier to
123963         maintain it by hand.
123965         * lib/unlocked-io.h: New file, from GNU diffutils,
123966         but with proper copyright notice and attribution.
123967         * lib/gen-uio: Remove.
123968         * lib/Makefile.am: Add copyright notice.
123969         (libfetish_a_SOURCES): Add unlocked-io.h.
123970         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
123971         (DISTCLEANFILES, io_functions): Remove macros.
123972         (EXTRA_DIST): Remove gen_uio.
123973         (unlocked-io.h): Remove rule.
123975 2002-12-04  Jim Meyering  <jim@meyering.net>
123977         Reflect the fact that stat.c and lstat.c are no longer generated.
123978         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
123979         (DISTCLEANFILES): Likewise.
123980         (EXTRA_DIST): Likewise.
123981         (all_local): Don't depend on stat.c or lstat.c.
123982         (stat.c, lstat.c): Remove rules.
123983         (EXTRA_DIST): Remove xstat.in.
123985         * lib/xstat.in: Remove file.  Contents moved into stat.c.
123986         * lib/stat.c: New file.  Contents mostly from xstat.in.
123987         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
123988         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
123990         * lib/safe-read.c: Rework so that it may serve to define safe_write,
123991         too.
123992         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
123994 2002-12-03  Jim Meyering  <jim@meyering.net>
123996         * lib/safe-read.c, safe-write.c: Change variable names and comments,
123997         but not semantics, to minimize the differences between these two files.
123998         (safe_read): Change comment to mention SAFE_READ_ERROR.
124000         * lib/safe-read.c (IS_EINTR): Define.
124001         (safe_read): Use IS_EINTR in place of in-function cpp directives.
124003 2002-12-02  Jim Meyering  <jim@meyering.net>
124005         * lib/safe-read.c (EINTR): Define.
124006         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
124007         (INT_MAX): Provide fallback.
124008         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
124010         * lib/safe-read.h (SAFE_READ_ERROR): Define.
124012 2002-12-02  Bruno Haible  <bruno@clisp.org>
124014         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
124015         Define, taken from safe-read.c.
124016         (INT_MAX): Provide fallback.
124017         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
124018         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
124020         * lib/safe-read.c (EINTR): Remove definition.
124021         (safe_read): Don't use EINTR if it is absent.
124023 2002-12-01  Jim Meyering  <jim@meyering.net>
124025         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
124026         zero.
124027         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
124029 2002-11-27  Paul Eggert  <eggert@twinsun.com>
124031         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
124032         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
124033         with `if (! (value < limit)) abort ();', for readability.
124035 2002-11-26  Karl Berry  <karl@gnu.org>
124037         * lib/strdup.c: copy from libc again, with jim's ok.
124038         * lib/.cppi-disable: re-add strdup.c
124040 2002-11-25  Karl Berry  <karl@gnu.org>
124042         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
124043         instead of "strtol.c".
124045 2002-11-25  Karl Berry  <karl@gnu.org>
124047         * config/install-sh: update from automake for variable quoting, $0 in
124048         error msgs, etc.
124050         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
124051         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
124052         entry.
124054 2002-11-25  Jim Meyering  <jim@meyering.net>
124056         * lib/mktime.c: Sync from libc, now that it has the latest fix.
124058 2002-11-24  Karl Berry  <karl@gnu.org>
124060         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
124061         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
124063 2002-11-24  Jim Meyering  <jim@meyering.net>
124065         Update from coreutils:
124067         * lib/mktime.c: Merge in changes from libc.
124069         Avoid a link-time failure on some Linux systems.
124070         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
124071         (otherwise).
124072         (__mon_yday): Declare with the STATIC attribute.
124073         (__mktime_internal): Likewise.
124074         Based on a report from Greg Schafer.
124076 2002-11-23  Jim Meyering  <jim@meyering.net>
124078         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
124079         Use `unsigned', not `int', as type of index.
124081         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
124083         * lib/fsusage.c: Remove unneeded parentheses around operands of
124084         `defined'.
124086 2002-11-22  Paul Eggert  <eggert@twinsun.com>
124088         * lib/quotearg.h: Allow multiple inclusion by surrounding with
124089         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
124090         so that we can be included first.
124091         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
124092         * lib/quotearg.c: Include quotearg.h immediately after config.h.
124093         No need to include stddef.h or sys/types.h any more.
124094         Surround local include files with "", not "<>".
124095         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
124096         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
124097         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
124098         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
124099         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
124100         (ISPRINT): Remove; no longer needed now that we assume C89.
124102         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
124103         Preserve errno.
124105         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
124106         quotearg_char): Use SIZE_MAX rather than
124107         (size_t) -1 when we are talking about "infinity".
124109         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
124111 2002-11-22  Paul Eggert  <eggert@twinsun.com>
124113         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
124114         hint that one should use `if (! x) abort ();' rather than `assert
124115         (x);', and anyway it's one less thing to worry about configuring.
124116         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
124117         hash_rehash, hash_insert): Use abort rather than assert.
124119 2002-11-22  Bruno Haible  <bruno@clisp.org>
124121         * lib/safe-read.h: Assume C89. Add comments.
124122         (safe_read): Change return type to size_t.
124123         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
124124         byte counts > SSIZE_MAX correctly.
124125         * lib/safe-write.h: New file.
124126         * lib/safe-write.c: New file.
124127         * lib/full-read.h: New file.
124128         * lib/full-read.c: New file.
124129         * lib/full-write.h: Assume C89. Add comments.
124130         * lib/full-write.c: Include safe-write.h.
124131         (full_write): Rewritten to use safe_write.
124132         Suggested by Jim Meyering and Paul Eggert.
124134 2002-11-21  Jim Meyering  <jim@meyering.net>
124136         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
124138         Merge in changes from the coreutils.
124140         2002-09-25  Paul Eggert  <eggert@twinsun.com>
124141         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
124142         <stdint.h>.
124143         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
124144         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
124145         int.  Work more efficiently if X is the same width as uintmax_t.
124146         Do not compare X to -1, to avoid bogus compiler warning.
124147         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
124148         Don't assume that f_frsize and f_bsize are the same type.
124150         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
124151         warning on FreeBSD.
124153         * lib/makepath.c (make_path): Restore umask *before* creating the final
124154         component.
124155         (make_path): Minor reformatting.
124157         * lib/xmalloc.c: Adjust to work with new autoconf macros,
124158         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
124159         HAVE_MALLOC/HAVE_REALLOC.
124161         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
124162         dummy ones.  At least on GNU/Linux systems, `auto' means something
124163         else.
124164         From Michael Stone.
124166 2002-11-21  Bruno Haible  <bruno@clisp.org>
124168         Remove case insensitive option matching.
124169         * lib/argmatch.h (argcasematch): Remove declaration.
124170         (ARGCASEMATCH): Remove macro.
124171         (__xargmatch_internal): Remove case_sensitive argument.
124172         (XARGMATCH): Update.
124173         (XARGCASEMATCH): Remove macro.
124174         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
124175         case_sensitive argument.
124176         (argcasematch): Remove function.
124177         (__xargmatch_internal): Remove case_sensitive argument.
124178         (main): Use XARGMATCH instead of XARGCASEMATCH.
124180         * lib/xmalloc.c: Change compile-time error message. Add comment about
124181         required autoconf version.
124183 2002-11-20  Paul Eggert  <eggert@twinsun.com>
124185         Merge argmatch cleanups from Bison.  Assume C89.
124187         * lib/argmatch.c: Include config.h here, not in argmatch.h.
124188         Include stdlib.h, for EXIT_FAILURE.
124189         Always include <string.h>, since we assume C89.
124190         (EXIT_FAILURE): Remove pre-C89 bug workaround.
124191         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
124192         Include <stddef.h> instead, since it's all we need for size_t.
124193         (PARAMS): Remove.  All uses removed.
124194         (ARRAY_CARDINALITY): Do not bother to #undef.
124195         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
124196         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
124197         Remove unnecessary parentheses.
124198         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
124199         Insert necessary parentheses.
124200         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
124201         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
124203 2002-11-19  Bruno Haible  <bruno@clisp.org>
124205         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
124206         * lib/mbswidth.h: Include <stddef.h>, for size_t.
124208         * lib/mbswidth.h (PARAMS): Remove macro.
124209         (mbswidth, mbsnwidth): Use ANSI C function declarations.
124210         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
124212         * lib/gcd.h (PARAMS): Remove macro.
124213         (gcd): Use ANSI C function declarations.
124214         * lib/gcd.c (gcd): Likewise.
124216 2002-11-15  Bruno Haible  <bruno@clisp.org>
124218         * lib/strcspn.c: Include <stddef.h>.
124219         (strcspn): Use ANSI C function declaration. Change return type to
124220         size_t. Use NULL.
124221         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
124222         (strpbrk): Use NULL.
124223         * lib/strpbrk.h (PARAMS): Remove macro.
124224         (strpbrk): Use ANSI C function declaration.
124225         * lib/strstr.c: Don't include <sys/types.h>.
124226         * lib/strstr.h (PARAMS): Remove macro.
124227         (strstr): Use ANSI C function declarations.
124229 2002-11-14  Karl Berry  <karl@gnu.org>
124231         * config/mkinstalldirs: `do' on separate line, instead of
124232         `for var; do'.
124234 2002-11-06  Bruno Haible  <bruno@clisp.org>
124236         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
124237         * lib/gcd.c (gcd): Likewise.
124239 2002-11-05  Bruno Haible  <bruno@clisp.org>
124241         * lib/gcd.h: New file, from gettext-0.11.5.
124242         * lib/gcd.c: New file, from gettext-0.11.5.
124244 2002-11-05  Bruno Haible  <bruno@clisp.org>
124246         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
124247         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
124248         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
124249         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
124251         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
124252         <libintl.h>.
124253         * lib/makepath.c: Include gettext.h instead of <locale.h> and
124254         <libintl.h>.
124256         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
124257         * lib/human.c: Include gettext.h instead of <libintl.h>.
124258         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
124259         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
124260         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
124261         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
124262         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
124263         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
124264         (textdomain): Remove definition.
124265         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
124267         * lib/long-options.c: Remove include of <libintl.h> and definition of
124268         _.
124269         * lib/same.c: Remove include of <libintl.h> and definition of _.
124271 2002-11-04  Owen Taylor  <otaylor@redhat.com>
124273         * lib/config.charset: A few additions for Solaris.
124275 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
124277         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
124278         * lib/localcharset.c (locale_charset): Declare as extern "C".
124280 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
124282         * lib/config.charset: msdos in uk_UA uses CP1125.
124284 2002-11-04  Bruno Haible  <bruno@clisp.org>
124286         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
124287         * lib/strcase.h: New file, from GNU gettext-0.11.5.
124288         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
124289         * lib/strstr.h: New file, from GNU gettext-0.11.5.
124290         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
124292 2002-11-04  Bruno Haible  <bruno@clisp.org>
124294         * lib/localcharset.c (locale_charset): Don't return an empty string.
124296 2002-11-04  Bruno Haible  <bruno@clisp.org>
124298         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
124299         aliases.
124301 2002-11-04  Bruno Haible  <bruno@clisp.org>
124303         * lib/config.charset: Update for newest glibc. Add canonical names
124304         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
124306 2002-11-04  Bruno Haible  <bruno@clisp.org>
124308         * lib/config.charset: Add support for NetBSD.
124310 2002-11-04  Bruno Haible  <bruno@clisp.org>
124312         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
124314 2002-11-01  Bruno Haible  <bruno@clisp.org>
124316         * configure.in: Add AC_CONFIG_AUX_DIR call.
124317         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
124318         test/Makefile.
124319         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
124321 2002-09-28  Karl Berry  <karl@gnu.org>
124323         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
124324         installed automake until the next release, since changes have been
124325         made.
124327 2002-09-25  Karl Berry  <karl@gnu.org>
124329         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
124330         * lib/getopt*: copy from libc/posix.
124331         * lib/gettext.h: copy from gettext.
124332         * lib/.cppi-disable: add strdup.c, gettext.h.
124334 2002-09-25  Karl Berry  <karl@gnu.org>
124336         * config/srclist.txt: enable gettext.h check.
124337         * config/config.{guess,sub}: update from prep.
124338         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
124339                 from automake 1.6.3.
124340         See srclist*.
124342 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
124344         * regex.c (PATFETCH): Remove the translating fetch.
124345         (PATFETCH_RAW): Rename to PATFETCH.
124346         (set_image_of_range): New fun.
124347         (SET_RANGE_TABLE_WORK_AREA): Use it.
124348         (regex_compile): Don't translate the pattern chars so eagerly.
124349         Only do it when inserting an `exactn' bytecode or when handling
124350         a char-range.
124351         (mutually_exclusive_p): Avoid empty statement.
124353 2002-07-06  Jim Meyering  <meyering@lucent.com>
124355         * m4/README: Don't mention Makefile.am.in.
124356         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
124358 2002-07-01  Jim Meyering  <meyering@lucent.com>
124360         * lib/c-stack.c: Include sys/time.h.
124361         From Volker Borchert.
124363 2002-06-26  Paul Eggert  <eggert@twinsun.com>
124365         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
124367 2002-06-26  Paul Eggert  <eggert@twinsun.com>
124369         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
124370         New macro.  Use it uniformly instead of
124371         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
124372         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
124373         reported by Vin Shelton.
124375 2002-06-22  Paul Eggert  <eggert@twinsun.com>
124377         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
124378         Do not assume SA_SIGINFO behavior.
124379         Bug reported by Jim Meyering on NetBSD 1.5.2.
124381 2002-06-22  Jim Meyering  <meyering@lucent.com>
124383         * m4/c-stack.m4: New file, from diffutils-2.8.2.
124384         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
124386         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
124387         now that configure.ac uses AC_GNU_SOURCE.
124388         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
124389         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
124391         Update to latest tools.  Suggestions from Paul Eggert.
124392         * m4/stdbool.m4: New file, from diffutils-2.8.2.
124393         * m4/gnu-source.m4: Update from diffutils-2.8.2.
124394         * m4/fnmatch.m4: Likewise.
124395         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
124396         to AC_HEADER_STDBOOL
124398 2002-06-22  Jim Meyering  <meyering@lucent.com>
124400         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
124401         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
124403 2002-06-22  Jim Meyering  <meyering@lucent.com>
124405         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
124407         * lib/exitfail.c, exitfail.h: Likewise.
124408         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
124410         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
124411         of fnmatch.h.
124412         (EXTRA_DIST): Add fnmatch_loop.c.
124413         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
124415         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
124416         * lib/fnmatch.c: Update from diffutils-2.8.2.
124417         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
124418         * lib/fnmatch.h: Remove file.
124420 2002-06-21  Jim Meyering  <meyering@lucent.com>
124422         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
124423         * m4/mbrtowc.m4: Likewise.
124425         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
124426         * m4/mbswidth.m4: Reflect name change:
124427         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
124428         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
124430         * m4/lib-link.m4: Update from gettext-0.11.2.
124431         * m4/gettext.m4: Likewise.
124433         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
124434         From Alfred M. Szmidt.
124436 2002-06-18  Paul Eggert  <eggert@twinsun.com>
124438         * lib/file-type.h: Report an error if neither S_ISREG nor
124439         S_IFREG is defined, instead of using a test specific to glibc
124440         2.2.  This should be safe, since POSIX requires S_ISREG and
124441         Unix Version 7 had S_IFREG.  We don't need to check for
124442         <sys/types.h> since we don't use any symbols that it defines.
124444 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
124446         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
124447         $@-t, so that each temporary file name is unique and valid in the first
124448         8 characters, for operation under DOS.
124450 2002-06-15  Paul Eggert  <eggert@twinsun.com>
124452         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
124454 2002-06-15  Jim Meyering  <meyering@lucent.com>
124456         Work even with DJGPP 2.03, which lacks support for symlinks.
124457         From Richard Dawe.
124458         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
124459         is defined.
124460         * lib/lchown.c (S_ISLNK): Likewise.
124462 2002-06-15  Jim Meyering  <meyering@lucent.com>
124464         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
124465         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
124466         have been included before this file.
124468 2002-06-14  Jim Meyering  <meyering@lucent.com>
124470         * lib/file-type.h: Use the version from diffutils-2.8.2.
124471         * lib/file-type.c: Likewise.
124473 2002-06-07  Jim Meyering  <meyering@lucent.com>
124475         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
124476         They're needed at least for NetBSD 1.5.2.
124477         ($statxfs_includes): Include those same headers.
124478         ($statxfs_includes): Include sys/vfs.h if available.
124479         ($statxfs_includes): Likewise for sys/statvfs.h.
124480         Check for the following members in both structs statfs and statvfs:
124481         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
124483 2002-06-01  Jim Meyering  <meyering@lucent.com>
124485         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
124486         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
124488 2002-05-28  Jim Meyering  <meyering@lucent.com>
124490         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
124491         Reported by Volker Borchert.
124493 2002-05-27  Jim Meyering  <meyering@lucent.com>
124495         Fix a problem seen only on nonconforming systems whereby ls.c's
124496         use of localtime, and then of gettimeofday would cause trouble:
124497         the localtime call used to initialize rpl_gettimeofday's save
124498         mechanism would clobber ls's current local time information so
124499         that in any long listing the first file would always be listed
124500         with date 1970-01-01.  Analysis by Volker Borchert.
124502         * lib/gettimeofday.c (localtime): Undefine.
124503         (rpl_localtime): New function.
124505 2002-05-27  Jim Meyering  <meyering@lucent.com>
124507         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
124508         localtime.
124510         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
124511         use the replacement function; it wouldn't resolve at link time.
124512         Reported by Volker Borchert.
124514 2002-05-22  Jim Meyering  <meyering@lucent.com>
124516         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
124517         file-type.h.
124518         * lib/file-type.h: New file.
124519         * lib/file-type.c (file_type): New file/function.  Extracted from
124520         diffutils.
124522 2002-04-30  Jim Meyering  <meyering@lucent.com>
124524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
124526 2002-04-29  Paul Eggert  <eggert@twinsun.com>
124528         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
124530 2002-04-29  Paul Eggert  <eggert@twinsun.com>
124532         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
124533         Do not check for alloca.h (no longer used) or stdbool.h (was never
124534         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
124536 2002-04-29  Paul Eggert  <eggert@twinsun.com>
124538         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
124540 2002-04-29  Jim Meyering  <meyering@lucent.com>
124542         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
124543         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
124544         Use AC_FUNC_STRNLEN here instead.
124546         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
124547         With autoconf-2.53a, it's part of AC_PROG_CC.
124549 2002-04-28  Paul Eggert  <eggert@twinsun.com>
124551         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
124552         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
124554 2002-04-28  Paul Eggert  <eggert@twinsun.com>
124556         * lib/sig2str.h, lib/sig2str.c: New files.
124557         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
124559 2002-04-28  Paul Eggert  <eggert@twinsun.com>
124561         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
124562         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
124563         of 127, since 64 is the largest conceivable number for ancient
124564         nonstandard hosts.
124565         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
124567 2002-04-28  Jim Meyering  <meyering@lucent.com>
124569         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
124571 2002-04-24  Jim Meyering  <meyering@lucent.com>
124573         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
124574         (jm_PREREQ): Use it.
124576         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
124577         mach/mach.h fcntl.h.
124578         Check for this function: setlocale.
124580 2002-04-24  Jim Meyering  <meyering@lucent.com>
124582         * lib/gettext.h: New file, from Gettext.
124583         * lib/Makefile.am (INCLUDES): Remove -I../intl.
124584         (libfetish_a_SOURCES): Add gettext.h.
124586 2002-04-16  Jim Meyering  <meyering@lucent.com>
124588         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
124589         ut_pid, ut_id, ut_exit.
124591 2002-04-16  Jim Meyering  <meyering@lucent.com>
124593         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
124594         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
124595         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
124597 2002-04-12  Jim Meyering  <meyering@lucent.com>
124599         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
124600         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
124601         existence of the getmntinfo function.  Needed for Darwin 5.3.
124603         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
124604         This is necessary at least on Darwin 5.3.
124606         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
124607         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
124608         strnlen.o in the library, and that makes some versions of ranlib
124609         object.
124611 2002-04-12  Jim Meyering  <meyering@lucent.com>
124613         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
124615 2002-04-09  Jim Meyering  <meyering@lucent.com>
124617         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
124618         to be more precise.  Rather than saying we're checking whether the
124619         function `works', say what we're testing.
124620         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
124621         Reported by Bruno Haible.
124623 2002-03-10  Jim Meyering  <meyering@lucent.com>
124625         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
124626         Suggestion from Santiago Vila.
124628 2002-03-08  Jim Meyering  <meyering@lucent.com>
124630         * lib/rename.c: Mention that this wrapper is needed also on
124631         mips-dec-ultrix4.4 systems.
124633 2002-03-02  Jim Meyering  <meyering@lucent.com>
124635         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
124636         not HAVE_CLOCK_SETTIME.
124638 2002-02-27  Paul Eggert  <eggert@twinsun.com>
124640         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
124641         Check for clock_settime.
124643 2002-02-27  Paul Eggert  <eggert@twinsun.com>
124645         * lib/nanosleep.h: Rename to....
124646         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
124648         * lib/gettime.c: New file.
124649         * lib/settime.c: New file.
124650         * lib/stime.c: Remove.
124652         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
124653         timespec.h.  Remove nanosleep.h.
124655 2002-02-25  Paul Eggert  <eggert@twinsun.com>
124657         * m4/acl.m4: New file.
124658         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
124659         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
124661 2002-02-25  Paul Eggert  <eggert@twinsun.com>
124663         * lib/acl.c, lib/acl.h: New files.
124664         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
124666 2002-02-24  Jim Meyering  <meyering@lucent.com>
124668         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
124669         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
124670         cause trouble.  Reported by Nelson Beebe.
124672 2002-02-23  Paul Eggert  <eggert@twinsun.com>
124674         * lib/path-concat.c (xpath_concat): Reorder code to pacify
124675         compilers that don't know that xalloc_die never returns.
124677 2002-02-20  Jim Meyering  <meyering@lucent.com>
124679         * lib/getdate.c: Regenerate using bison-1.33.
124681 2002-02-17  Jim Meyering  <meyering@lucent.com>
124683         * config/config.guess (main): Don't use `head -1'; it's no longer
124684         portable. Use `sed 1q' instead.
124686 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
124688         * m4/codeset.m4: Upgrade to gettext-0.11.
124689         * m4/gettext.m4: Upgrade to gettext-0.11.
124690         * m4/glibc21.m4: Upgrade to gettext-0.11.
124691         * m4/iconv.m4: Upgrade to gettext-0.11.
124692         * m4/isc-posix.m4: Upgrade to gettext-0.11.
124693         * m4/lcmessage.m4: Upgrade to gettext-0.11.
124694         * m4/lib-ld.m4: New file, from gettext-0.11.
124695         * m4/lib-link.m4: New file, from gettext-0.11.
124696         * m4/lib-prefix.m4: New file, from gettext-0.11.
124697         * m4/progtest.m4: Upgrade to gettext-0.11.
124699 2002-02-15  Paul Eggert  <eggert@twinsun.com>
124701         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
124702         (jm_PREREQ): Use it.
124704 2002-02-15  Paul Eggert  <eggert@twinsun.com>
124706         * lib/posixver.c, lib/posixver.h: New files.
124707         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
124709 2002-02-02  Paul Eggert  <eggert@twinsun.com>
124710             Bruno Haible  <bruno@clisp.org>
124712         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
124713         (fwrite_success_callback): New declaration.
124714         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
124715         print_unicode_char. Call failure callback instead of error.
124716         (fwrite_success_callback): New function.
124717         (exit_failure_callback): New function.
124718         (fallback_failure_callback): New function.
124719         (print_unicode_char): Call unicode_to_mb.
124721 2002-01-26  Jim Meyering  <meyering@lucent.com>
124723         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
124724         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
124726 2002-01-26  Jim Meyering  <meyering@lucent.com>
124728         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
124730 2002-01-22  Paul Eggert  <eggert@twinsun.com>
124732         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
124734 2002-01-22  Jim Meyering  <meyering@lucent.com>
124736         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
124737         Otherwise, some versions of automake would omit the rule that makes
124738         Makefile from Makefile.in.
124740 2002-01-21  Paul Eggert  <eggert@twinsun.com>
124742         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
124743         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
124744         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
124745         (memcoll): Set errno to zero if there is no error.
124747         * lib/quotearg.c (quotearg_buffer_restyled):
124748         Fix bug with quoting buffers containing NUL when backslashing escapes.
124749         This bug was exposed by the other changes in this patch.
124750         (quotearg_n_options): New arg ARGSIZE.
124751         All callers changed.
124752         (quoting_options_from_style): New function.
124753         (quotearg_n_style): Use it.
124754         (quotearg_n_style_mem): New function.
124756         * lib/quotearg.h (quotearg_n_style_mem): New function.
124758 2002-01-19  Jim Meyering  <meyering@lucent.com>
124760         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
124761         Remove useless quotes: DF_PROG="df".
124762         * m4/strnlen.m4: New file.
124764 2002-01-16  Paul Eggert  <eggert@twinsun.com>
124766         * lib/backupfile.c (ISDIGIT): Comment fix.
124767         * lib/getdate.y (ISDIGIT): Likewise.
124768         * lib/posixtm.c (ISDIGIT, year): Likewise.
124769         * lib/strverscmp.c (ISDIGIT): Likewise.
124770         * lib/userspec.c (ISDIGIT): Likewise.
124772 2002-01-16  Jim Meyering  <meyering@lucent.com>
124774         * lib/getdate.y: Add three semicolons, each just before a closing
124775         brace. Bison (as of version 1.31) no longer papers over that mistake.
124777 2002-01-05  Jim Meyering  <meyering@lucent.com>
124779         * lib/version-etc.c (version_etc_copyright): Update copyright year.
124781 2001-12-19  Paul Eggert  <eggert@twinsun.com>
124783         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
124784         not silently exit merely because the output buffer happens to
124785         have nothing pending.
124787 2001-12-18  Paul Eggert  <eggert@twinsun.com>
124789         See the big note in ../ChangeLog.
124790         * lib/human.c (suffixes): Prefer K to k for 1024.
124791         (generate_suffix_backwards): New function.
124792         (human_readable_inexact): Use it.
124793         * lib/xstrtol.c (__xstrtol): If there is no number but there
124794         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
124795         Accept 'K' as well as 'k'.
124797 2001-12-15  Jim Meyering  <meyering@lucent.com>
124799         * lib/regex.h (__restrict_arr): Update from libc.
124801         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
124802         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
124803         (STREQ): Define.
124805 2001-12-14  Jim Meyering  <meyering@lucent.com>
124807         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
124808         Suggestion from Bruno Haible.
124810 2001-12-10  Jim Meyering  <meyering@lucent.com>
124812         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
124813         xrealloc, Instead, include "xalloc.h".
124814         (initbuffer): Don't cast xmalloc return value to char*.
124815         (readline): Reword comment.
124816         Don't cast xrealloc return value to char*
124817         Return NULL, not 0.
124819 2001-12-09  Jim Meyering  <meyering@lucent.com>
124821         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
124822         about `signed and unsigned type in conditional expression'.
124823         * lib/posixtm.c (posix_time_parse): Likewise.
124825         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
124827         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
124828         to avoid a pedantic warning.
124830         * lib/getstr.c: Don't include assert.h.
124831         (getstr): Remove warning-evoking assertions.
124832         Return -1 if offset parameter is out of bounds.
124833         Change the type of a local from int to size_t.
124835         * lib/strftime.c (my_strftime_localtime_r): Include this function
124836         definition in the `#if ! HAVE_TM_GMTOFF' block.
124838         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
124839         Include xalloc.h instead.
124841 2001-12-02  Jim Meyering  <meyering@lucent.com>
124843         * lib/tempname.c: Don't declare getenv, thus reverting the change of
124844         2001-11-18.  It's no longer necessary, now that stdlib.h is always
124845         included.
124847         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
124848         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
124850 2001-11-30  Akim Demaille  <akim@epita.fr>
124852         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
124853         before being defined.
124855 2001-11-27  Paul Eggert  <eggert@twinsun.com>
124857         * lib/quotearg.h (quotearg_n, quotearg_n_style):
124858         First arg is int, not unsigned.
124859         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
124860         (SIZE_MAX, UINT_MAX): New macros.
124861         (quotearg_n_options): Abort if N is negative.
124862         Avoid overflow check on hosts where size_t is 64 bits and int
124863         is 32 bits, as overflow is impossible there.
124864         Fix off-by-one typo that caused unnecessary reallocation.
124866 2001-11-27  Jim Meyering  <meyering@lucent.com>
124868         * lib/tempname.c: Merge with version from libc.
124869         * lib/regex.c: Likewise.
124871         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
124872         systems for which STDC_HEADERS is 0, it was not included, resulting in
124873         a warning about an integer-to-pointer conversion problem with getenv.
124874         Reported by Volker Borchert.
124876 2001-11-26  Jim Meyering  <meyering@lucent.com>
124878         * lib/gtod.h: Remove file.
124879         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
124880         * lib/gettimeofday.c: Don't include gtod.h.
124881         (GTOD_init): Remove function.
124882         (rpl_gettimeofday): Do its job here instead, rather than aborting.
124883         Suggestion from Volker Borchert.
124885 2001-11-23  Jim Meyering  <meyering@lucent.com>
124887         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
124888         it.
124889         * lib/hash.c (struct hash_table): Define it here instead.
124891 2001-11-22  Jim Meyering  <meyering@lucent.com>
124893         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
124895 2001-11-20  Jim Meyering  <meyering@lucent.com>
124897         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
124898         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
124900 2001-11-19  Jim Meyering  <meyering@lucent.com>
124902         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
124903         directory.  Use "conftestXXXXXX" as the template.
124904         Suggestion from Paul Eggert.
124906         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
124907         immediately, so the test doesn't mistakenly hit the max-open-files
124908         limit.
124910 2001-11-18  Paul Eggert  <eggert@twinsun.com>
124912         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
124913         (TEMPORARIES): New macro.
124914         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
124915         removes an artificial limitation (e.g. HP-UX 10.20, where
124916         TMP_MAX is 17576).
124918 2001-11-18  Jim Meyering  <meyering@lucent.com>
124920         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
124922 2001-11-18  Jim Meyering  <meyering@lucent.com>
124924         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
124925         on SunOS 4.
124927         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
124928         files will be created before anything else.
124930 2001-11-17  Paul Eggert  <eggert@twinsun.com>
124932         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
124933         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
124935 2001-11-17  Jim Meyering  <meyering@lucent.com>
124937         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
124938         Prompted by a report from Bob Proulx.
124940         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
124941         Instead, require UTILS_FUNC_MKSTEMP.
124943 2001-11-17  Jim Meyering  <meyering@lucent.com>
124945         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
124946         Now, that's done as part of AC_FUNC_STRTOD.
124948 2001-11-17  Jim Meyering  <meyering@lucent.com>
124950         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
124951         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
124952         rather than group writable.  Patch by Juan F. Codagnone.
124954         * lib/readtokens.c: Remove explicit declarations of xmalloc and
124955         xrealloc, Instead, include "xalloc.h".
124957         * lib/mountlist.c: Include unlocked-io.h after all system headers.
124958         Remove explicit declarations of xmalloc, xrealloc,
124959         and xstrdup.  Instead, include "xalloc.h".
124961         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
124962         unlocked-io.h.
124963         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
124964         Likewise.
124965         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
124967         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
124968         Reported by Padraig Brady.
124970         * lib/mkstemp.c: #undef mkstemp.
124971         Include config.h.
124972         (rpl_mkstemp): Rename from mkstemp.
124973         Protoize.
124975 2001-11-16  Jim Meyering  <meyering@lucent.com>
124977         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
124978         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
124979         determine the amount of total physical memory, use pstat_getstatic.
124980         HPUX-11 doesn't define _SC_PHYS_PAGES.
124981         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
124982         If sysconf couldn't be used to determine the amount of available
124983         physical memory, use both pstat_getstatic and pstat_getdynamic.
124984         Based on a patch from Bob Proulx.
124986 2001-11-10  Jim Meyering  <meyering@lucent.com>
124988         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
124989         (jm_PREREQ): Use it.
124991 2001-11-09  Jim Meyering  <meyering@lucent.com>
124993         * m4/jm-macros.m4: Require autoconf-2.52f.
124994         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
124995         Use these AC_-prefixed names, not the AM_-prefixed ones.
124997         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
124999 2001-11-05  Jim Meyering  <meyering@lucent.com>
125001         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
125003 2001-11-04  Jim Meyering  <meyering@lucent.com>
125005         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
125006         $DEFS.
125008 2001-11-03  Jim Meyering  <meyering@lucent.com>
125010         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
125011         of AC_DEFUN.
125013         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
125014         know the name of the variable in the macro definition.
125016 2001-11-03  Jim Meyering  <meyering@lucent.com>
125018         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
125019         in argmatch_to_argument call.
125021         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
125022         argument.
125024         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
125025         e.g., a fault due to an attempt to free a NULL pointer.
125027 2001-11-01  Jim Meyering  <meyering@lucent.com>
125029         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
125030         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
125032 2001-11-01  Jim Meyering  <meyering@lucent.com>
125034         * lib/dirfd.c, lib/dirfd.h: New files.
125035         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
125037         * lib/hash.c (hash_print) [TESTING]: Clean up.
125039 2001-10-22  Paul Eggert  <eggert@twinsun.com>
125041         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
125042         to avoid a warning if -Wall.
125044 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
125046         * README: New file
125047         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
125048         (per RMS's instructions, this is now the canonical source)
125049         * lgpl/, gpl/: New directories.
125051 2001-10-21  Paul Eggert  <eggert@twinsun.com>
125053         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
125055 2001-10-21  Jim Meyering  <meyering@lucent.com>
125057         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
125058         this code would end up calling gettext even in packages built
125059         with --disable-nls.
125060         * lib/getopt.c (_): Likewise.
125061         * lib/regex.c (_): Likewise.
125063 2001-10-20  Paul Eggert  <eggert@twinsun.com>
125065         * m4/error.m4 (jm_PREREQ_ERROR):
125066         Do not invoke AC_CHECK_FUNCS with strerror_r, as
125067         AC_FUNC_STRERROR_R does that.
125068         Check for strerror declaration.
125070         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
125071         are supposed to have them these days.
125072         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
125073         Merge changes from latest Autoconf CVS.
125074         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
125075         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
125076         POSIX decided to standardize on the int flavor of strerror_r.
125078 2001-10-20  Paul Eggert  <eggert@twinsun.com>
125080         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
125081         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
125082         Use strerror_r that is only a macro, even if it is not a function.
125083         (strerror): Check for HAVE_DECL_STRERROR before declaring.
125084         (private_strerror): Use prototypes, not old-style function definition.
125085         (print_errno_message): New function.
125086         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
125087         char*-flavored one.
125088         (error_tail, error, error_at_line): Use it.
125090 2001-10-11  Jim Meyering  <meyering@lucent.com>
125092         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
125093         and quote_n (1, ... to avoid clobbering a buffer.
125095 2001-10-05  Jim Meyering  <meyering@lucent.com>
125097         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
125098         hash-pjw.h.
125099         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
125100         * lib/hash-pjw.h: New file.
125102 2001-09-30  Jim Meyering  <meyering@lucent.com>
125104         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
125105         `struct fsstat' has the `f_fstypename' member.
125106         Use that to define FS_TYPE, which is now used to make
125107         the getfsstat link test tighter.
125109 2001-09-30  Jim Meyering  <meyering@lucent.com>
125111         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
125112         Include <sys/ucred.h>, for Apple Darwin.
125113         Include sys/mount.h and sys/fs_types.h only if available.
125114         (FS_TYPE): Define.
125115         (read_filesystem_list): Use FS_TYPE.
125117 2001-09-29  Paul Eggert  <eggert@twinsun.com>
125119         * lib/exclude.c (excluded_filename): 0 -> false, since it's
125120         a boolean context.
125122 2001-09-29  Jim Meyering  <meyering@lucent.com>
125124         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
125125         [one-argument getmntent function]): Include stdio.h before mntent.h.
125126         SunOS 4.1.x needs it for the declaration of `FILE'.
125127         Patch by Volker Borchert.
125129         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
125130         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
125131         sys/fs_types.h, and make the link-test for getfsstat guard #include
125132         directives with appropriate #if HAVE_*_H tests so that we can
125133         detect getfsstat on Apple Darwin1.3.7 systems.
125134         Reported by Nelson Beebe.
125135         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
125137 2001-09-28  Paul Eggert  <eggert@twinsun.com>
125139         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
125140         #defines strtoimax.  Also treat the other strto* functions
125141         like strtoimax.
125143         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
125144         Check for strtoul and strtoumax,
125145         as those declarations are made even in the signed case.
125146         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
125147         Likewise, for strtol and strtoimax.
125149 2001-09-28  Paul Eggert  <eggert@twinsun.com>
125151         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
125152         #defines strtoimax.  Also treat the other strto* functions
125153         like strtoimax.
125155         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
125156         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
125157         (strtoimax, strtoumax): Do not declare if already defined as a macro.
125159 2001-09-26  Jim Meyering  <meyering@lucent.com>
125161         Most macros in unlocked-io.h had the wrong number of arguments.
125162         * lib/gen-uio: New script.
125163         (USE_UNLOCKED_IO): Define to 1 if not already defined.
125164         * lib/unlocked-io.hin: Remove file.
125165         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
125166         rather than trying to embed it here.
125167         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
125168         Reported by Padraig Brady.
125170 2001-09-25  Volker Borchert  <bt@teknon.de>
125172         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
125173         `result'.
125175 2001-09-24  Jim Meyering  <meyering@lucent.com>
125177         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
125179 2001-09-23  Jim Meyering  <meyering@lucent.com>
125181         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
125182         instead of the mere test for existence of mntent.h.  The latter
125183         would get a false-positive on AIX 3.4 systems.
125184         In the outer getmntent if-block, don't die if neither of the getmntent
125185         tests succeeds.  Instead, just fall through and continue with the
125186         remaining tests.
125188 2001-09-23  Jim Meyering  <meyering@lucent.com>
125190         * lib/mountlist.c: Remove useless parentheses in #if directives.
125191         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
125192         the deprecated MOUNTED symbol is no longer defined in mntent.h.
125194 2001-09-22  Jim Meyering  <meyering@lucent.com>
125196         * m4/gettext.m4: New file.  From gettext.
125197         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
125198         * m4/progtest.m4: Likewise
125199         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
125200         * m4/glibc21.m4: Likewise.
125202         * m4/libintl.m4: Remove.  No longer used.
125204 2001-09-22  Jim Meyering  <meyering@lucent.com>
125206         * lib/localcharset.c: Update from latest gettext.
125207         * lib/config.charset: Likewise.
125209 2001-09-20  Jim Meyering  <meyering@lucent.com>
125211         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
125212         strtoimax.
125213         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
125214         strtoumax.
125216 2001-09-20  Jim Meyering  <meyering@lucent.com>
125218         * lib/xstrtol.c (strtoimax): Guard declaration with
125219         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
125220         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
125221         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
125222         (strtoumax): Likewise, for completeness (it wasn't necessary).
125224 2001-09-17  Paul Eggert  <eggert@twinsun.com>
125226         * lib/strtoimax.c (HAVE_LONG_LONG):
125227         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
125228         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
125229         to work around bug in IBM C compiler.
125231 2001-09-17  Jim Meyering  <meyering@lucent.com>
125233         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
125234         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
125235         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
125236         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
125237         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
125238         whenever the right hand side need not be expanded by the shell.
125240 2001-09-16  Paul Eggert  <eggert@twinsun.com>
125242         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
125243         library.  It's not correct, as some older glibcs are buggy.
125244         fnmatch wasn't fixed until glibc 2.2.
125246         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
125247         special shell magic here.
125249 2001-09-16  Jim Meyering  <meyering@lucent.com>
125251         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
125252         * m4/jm-macros.m4: Require it.
125254 2001-09-16  Jim Meyering  <meyering@lucent.com>
125256         * lib/mkdir.c: New file.
125258 2001-09-15  Jim Meyering  <meyering@lucent.com>
125260         * m4/jm-macros.m4: Check for help2man.
125262 2001-09-11  Jim Meyering  <meyering@lucent.com>
125264         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
125265         The body, by Paul Eggert, was moved here from configure.in.
125266         * m4/jm-macros.m4: Require UTILS_HOST_OS.
125268 2001-09-04  Paul Eggert  <eggert@twinsun.com>
125270         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
125271         (jm_PREREQ): Use it.
125273 2001-09-04  Paul Eggert  <eggert@twinsun.com>
125275         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
125276         Use ssize_t, not int, to store result of readlink.
125277         Check for ssize_t overflow as well as size_t overflow,
125278         as POSIX says the result of readlink is implementation-defined
125279         when ssize_t overflows.
125280         Remove unnecessary cast to char*.
125281         Use free+malloc instead of realloc, as the storage doesn't need
125282         to be preserved and it's clearer and can be more efficient that way.
125283         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
125284         * lib/xreadlink.h (xreadlink): Update prototype.
125286 2001-09-04  Paul Eggert  <eggert@twinsun.com>
125288         * lib/xgetcwd.c: Revert some of the previous change; intead,
125289         fix the HAVE_GETCWD_NULL code to behave more like the
125290         !HAVE_GETCWD_NULL code used to.
125292         Include "xalloc.h".
125293         (xgetcwd): Do not return NULL when memory is exhausted; instead,
125294         invoke xalloc_die.
125296 2001-09-03  Paul Eggert  <eggert@twinsun.com>
125298         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
125299         sys/param.h, as pathmax.h includes them.
125301 2001-09-03  Paul Eggert  <eggert@twinsun.com>
125303         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
125304         (jm_PREREQ_XGETCWD): New macro.
125306         * m4/getcwd.m4: New file.
125308 2001-09-03  Paul Eggert  <eggert@twinsun.com>
125310         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
125311         like the HAVE_GETCWD_NULL code.
125312         Include pathmax.h if not HAVE_GETCWD.
125313         Do not include xalloc.h.
125314         (INITIAL_BUFFER_SIZE): New symbol.
125315         Do not use xmalloc / xrealloc, since the caller is responsible for
125316         handling errors.  Preserve errno around `free' during failure.
125317         Do not overrun buffer when using getwd.
125319 2001-09-03  Paul Eggert  <eggert@twinsun.com>
125321         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
125322         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
125323         getcwd (NULL, 0).
125325 2001-09-03  Paul Eggert  <eggert@twinsun.com>
125327         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
125328         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
125329         spotted by Jim Meyering.
125331 2001-09-03  Jim Meyering  <meyering@lucent.com>
125333         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
125334         failure.
125336 2001-09-02  Jim Meyering  <meyering@lucent.com>
125338         * lib/error.c: Update from GNU libc.
125340 2001-09-01  Jim Meyering  <meyering@lucent.com>
125342         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
125343         Used by df.
125345 2001-09-01  Jim Meyering  <meyering@lucent.com>
125347         * lib/xreadlink.c: New file.
125348         * lib/xreadlink.h: New file.
125349         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
125350         xreadlink.h.
125352         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
125353         doesn't conflict with sparc Solaris 7's definition in
125354         /usr/include/sys/int_types.h.
125356         * lib/exclude.c: Use `""', not `<>' to #include non-system header
125357         files.
125358         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
125359         and strncasecmp as r-values.  Unixware didn't have declarations.
125361 2001-08-31  Paul Eggert  <eggert@twinsun.com>
125363         * lib/xstrtol.h: Add copyright notice.
125364         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
125365         LONGINT_INVALID_SUFFIX_CHAR.
125367 2001-08-31  Paul Eggert  <eggert@twinsun.com>
125369         * lib/xstrtol.c (strtoimax): New decl.
125371 2001-08-31  Paul Eggert  <eggert@twinsun.com>
125373         * lib/xgetcwd.c: Don't include pathmax.h.
125374         Include stdlib.h and unistd.h if available.
125375         Include xalloc.h.
125376         (xmalloc, xstrdup, free): Remove decls.
125377         (xgetcwd): Don't assume sizes fit in unsigned.
125378         Check for overflow when computing sizes.
125379         Simplify reallocation code.
125381 2001-08-31  Paul Eggert  <eggert@twinsun.com>
125383         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
125384         a directory's st_size can have an arbitrary value, so the old
125385         usage could waste an arbitrary amount of memory.  All uses
125386         changed.
125387         * lib/savedir.h: Update prototype.
125389 2001-08-31  Paul Eggert  <eggert@twinsun.com>
125391         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
125393         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
125394         old strtoimax.c.
125396         Also, make the following further changes to make this file's
125397         configuration more similar to that of strtol.c:
125398         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
125399         (strtoumax, uintmax_t, strtoull, strtol): Remove.
125400         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
125401         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
125402         changed to signed values.
125404         And make the following changes as well:
125405         Fix copyright notice, as 1999 was missing.
125406         (verify): New macro.
125407         (strtoimax): Check sizes at compile-time, not run-time.
125408         Prefer strtol to strtoll if both work.
125409         (main): Remove; it was not that useful and was a pain to maintain.
125411         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
125413 2001-08-31  Jim Meyering  <meyering@lucent.com>
125415         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
125416         Use an initial, malloc'd, buffer of length 128 rather than
125417         a statically allocated one of length 1024.
125419 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125421         Simplify code, partly by assuming autoconf 2.52 semantics.
125423         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
125425         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
125426         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
125427         All uses removed.
125428         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
125429         Move AC_REQUIRE to next-to-top level, to avoid confusion.
125430         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
125431         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
125432         jm_AC_HEADER_INTTYPES_H.
125433         * m4/jm-macros.m4 (jm_MACROS): Likewise.
125435         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
125437         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
125438         Quote first arg of AC_DEFUN.
125439         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
125440         since they are needed to parse the include file even if we need
125441         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
125442         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
125443         but with opposite signedness.
125445 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125447         Merge 'exclude' changes from tar 1.13.22.
125448         This fixes one or two unlikely storage allocation overflow bugs,
125449         but doesn't change user-visible behavior otherwise.
125451 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125453         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
125454         (jm_PREREQ_EXCLUDE): New macro.
125456 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125458         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
125459         tm to be declared.
125461 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125463         * lib/hash.c: Remove '2001' from copyright notice.
125465 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125467         * lib/full-write.h: New file.
125468         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
125469         * lib/full-write.c: Correct credits, as cccp.c no longer
125470         exists and anyway it was so heavily changed from the old cccp
125471         code as to be unrecognizable.  Include full-write.h.
125472         (full_write): Return size_t, with short writes meaning failure.
125473         All callers changed.  This fixes a bug with large buffers
125474         on 64-bit hosts.
125475         * lib/utime.c: Include full-write.h.
125477 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125479         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
125480         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
125481         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
125482         Include if available.
125483         (<xalloc.h>): Include
125484         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
125485         (verify): New macro.  Use it to verify that EXCLUDE macros do not
125486         collide with FNM macros.
125487         (struct patopts): New struct.
125488         (struct exclude): Use it, as exclude patterns now come with options.
125489         (new_exclude): Support above changes.
125490         (new_exclude, add_exclude_file):
125491         Initial size must now be a power of two to simplify overflow checking.
125492         (free_exclude, fnmatch_no_wildcards): New function.
125493         (excluded_filename): No longer requires options arg, as the options
125494         are determined by add_exclude.  Now returns bool, not int.
125495         (excluded_filename, add_exclude):
125496         Add support for the fancy new exclusion options.
125497         (add_exclude, add_exclude_file): Now takes int options arg.
125498         Check for arithmetic overflow when computing sizes.
125499         (add_exclude_file): xrealloc might modify errno, so don't
125500         realloc until after errno might be used.
125502         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
125503         New macros.
125504         (free_exclude): New decl.
125505         (add_exclude, add_exclude_file): Now takes int options arg.
125506         (excluded_filename): No longer requires options arg, as the options
125507         are determined by add_exclude.  Now returns bool, not int.
125509 2001-08-30  Paul Eggert  <eggert@twinsun.com>
125511         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
125513 2001-08-27  Jim Meyering  <meyering@lucent.com>
125515         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
125517         * lib/version-etc.c (N_): Remove definition.
125518         Revert most of last change.
125519         Instead, simply don't mark the `Copyright...' string for translation.
125520         Based on advice from Paul Eggert.
125522         * lib/strtoxmax.c: Tweak comment.
125524 2001-08-26  Jim Meyering  <meyering@lucent.com>
125526         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
125528         * m4/xstrtoimax.m4: New file.
125529         * m4/xstrtoumax.m4: Add comments explaining why we
125530         AC_REPLACE_FUNCS(strtol).
125532 2001-08-26  Jim Meyering  <meyering@lucent.com>
125534         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
125535         of copyright with `%s' so translators don't get an untranslated
125536         message in 2002.
125537         (COPYRIGHT_YEAR): Define.
125538         (version_etc): Use fprintf rather than fputs.
125539         Suggestion from Ulrich Drepper.
125541         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
125543         * lib/strtoll.c: New file, from GNU libc.
125544         * lib/xstrtoimax.c: New file.
125546         * lib/xstrtol.h: Add xstrtoimax.
125547         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
125548         * lib/strtoimax.c: New file.  Likewise, but first define
125549         STRTOUXMAX_SIGNED.
125551         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
125552         ...
125553         * lib/strtoxmax.c: ... then renamed to this.
125555 2001-08-18  Paul Eggert  <eggert@twinsun.com>
125557         * m4/inttypes.m4: Add AC_PREREQ(2.13).
125558         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
125559         (jm_AC_TYPE_INTMAX_T): New macro.
125560         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
125562         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
125564         * m4/longlong.m4: Renamed from ulonglong.m4.
125565         * m4/inttypes.m4: Renamed from inttypes_h.m4.
125566         * m4/uintmax_t.m4: Removed.
125568 2001-08-13  Paul Eggert  <eggert@twinsun.com>
125570         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
125571         Port to Solaris 8, where 'sed' requires a space after the 'r'
125572         command, and where sh dislikes "$/".  Clean up the spacing a bit.
125573         Redirect output to $tmp just once.
125575 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
125577         * lib/addext.c (<errno.h>): Include.
125578         (errno): Declare if not defined.
125579         (addext): Work correctly when pathconf returns -1 and leaves
125580         errno alone because there is no limit.  Also, work even if
125581         pathconf returns a value greater than SIZE_MAX.
125583 2001-08-12  Jim Meyering  <meyering@lucent.com>
125585         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
125586         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
125587         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
125588         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
125589         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
125590         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
125591         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
125592         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
125593         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
125594         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
125595         utime.m4, utimes.m4, xstrtoumax.m4:
125596         Quote the first argument in each use of AC_DEFUN.
125598 2001-08-12  Jim Meyering  <meyering@lucent.com>
125600         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
125601         Simply `return getcwd (NULL, 0);'.
125602         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
125603         Use 1300 as initial value for length, not PATH_MAX.
125605         * lib/pathmax.h: Clean up cpp syntax.
125607 2001-08-12  Jim Meyering  <meyering@lucent.com>
125609         * lib/gettimeofday.c: New file.
125610         * lib/gtod.h: New file.
125611         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
125613 2001-08-05  Jim Meyering  <meyering@lucent.com>
125615         * m4/jm-macros.m4: Require autoconf-2.52.
125617 2001-08-04  Jim Meyering  <meyering@lucent.com>
125619         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
125620         stmt, to get in sync with glibc.
125622 2001-08-03  Paul Eggert  <eggert@twinsun.com>
125624         The following changes are from gettext 0.10.39 as maintained by
125625         Bruno Haible.
125627         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
125628         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
125629         with inverted sense.  All uses changed.
125631         * lib/mbswidth.c: Don't include <limits.h>.
125632         Include <stdlib.h> and <string.h> unconditionally.
125633         (iswcntrl, mbsinit, ISCNTRL): New macros.
125634         (mbsnwidth): Use K&R style function declarations.
125635         Don't bother checking for MB_LEN_MAX == 1, since the compiler
125636         can optimize it when MB_CUR_MAX == 1.
125637         The width of control characters is zero, not 1.
125639 2001-08-03  Paul Eggert  <eggert@twinsun.com>
125641         The following changes are from gettext 0.10.39 as maintained by
125642         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
125644         * m4/codeset.m4: Upgrade to serial AM1.
125645         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
125646         all uses changed.  Quote first arg of AC_DEFUN.
125647         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
125649         * m4/iconv.m4: Upgrade to serial AM2.
125650         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
125651         Add --with-libconv-prefix.
125652         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
125653         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
125654         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
125655         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
125656         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
125658         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
125659         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
125660         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
125661         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
125662         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
125663         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
125664         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
125665         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
125666         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
125668         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
125669         string.h any more.
125671         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
125672         not the default value.
125674         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
125675         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
125676         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
125677         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
125678         Also check for iswcntrl, used for wcwidth fallback.
125679         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
125680         to Autoconf 2.13.
125682 2001-08-03  Jim Meyering  <meyering@lucent.com>
125684         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
125685         as it was in the original.  Reported by Paul Eggert.
125687 2001-07-16  Jim Meyering  <meyering@lucent.com>
125689         * m4/gettimeofday.m4: New file.
125690         Prompted by a report from Bernhard Baehr.
125692 2001-07-15  Jim Meyering  <meyering@lucent.com>
125694         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
125695         stuff. Now it's in ../Makefile.cfg.
125697 2001-07-15  Jim Meyering  <meyering@lucent.com>
125699         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
125700         (BUILT_SOURCES): Add unlocked-io.h.
125701         (io_functions): Define.
125702         (unlocked-io.h): New rule.
125703         (DISTCLEANFILES): Add unlocked-io.h.
125704         (all-local): Depend on unlocked-io.h, to ensure it is created.
125706         * lib/unlocked-io.hin: New file
125708         * lib/regex.c: Update from glibc.
125710 2001-07-05  Jim Meyering  <meyering@lucent.com>
125712         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
125713         recommendation.
125714         (libfetish_a_SOURCES): Put all .h files here instead.
125715         Remove a thus-exposed (better checks in automake) duplicate and
125716         two unnecessary .h files.
125718 2001-07-04  Jim Meyering  <meyering@lucent.com>
125720         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
125721         that generates jm-glibc-io.m4 so that it doesn't trigger any make
125722         distcheck failure.
125724 2001-07-02  Jim Meyering  <meyering@lucent.com>
125726         The following changes were prompted by suggestions from Bruno Haible.
125728         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
125729         is now generated.
125730         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
125731         definition of EXTRA_DIST.
125732         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
125733         ensure that the generated file is created/updated whenever the list
125734         of $(unlocked_functions) is changed.
125735         (jm-glibc-io.m4): New rule.
125736         (unlocked-io.h): New rule -- currently unused.
125738 2001-06-24  Jim Meyering  <meyering@lucent.com>
125740         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
125741         unmatched right bracket, rather than kludging it with an extra,
125742         falsely-matching quote in a comment.  Patch by Akim Demaille.
125744 2001-06-11  Jim Meyering  <meyering@lucent.com>
125746         * lib/regex.c: Update from GNU libc.
125748 2001-05-27  Jim Meyering  <meyering@lucent.com>
125750         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
125751         Check for ut_type in struct utmp.
125753 2001-05-27  Jim Meyering  <meyering@lucent.com>
125755         * lib/readutmp.h (UT_TYPE): Define.
125757 2001-05-24  Jim Meyering  <meyering@lucent.com>
125759         * lib/argmatch.c: Include "quote.h".
125760         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
125761         quote function.  Reported by Göran Uddeborg.
125763 2001-05-22  Jim Meyering  <meyering@lucent.com>
125765         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
125766         now that we use the package-supplied version unconditionally.
125767         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
125769 2001-05-21  Jim Meyering  <meyering@lucent.com>
125771         * m4/regex.m4: Change a couple backticks to single quotes to avoid
125772         shell syntax errors.
125774 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
125776         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
125778 2001-05-20  Paul Eggert  <eggert@twinsun.com>
125780         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
125781         Don't bother to check library strftime, since
125782         we'll be using our own my_strftime function anyway.
125783         Define my_strftime instead of strftime.
125785 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
125787         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
125788         which is not yet declared.
125790 2001-05-15  Jim Meyering  <meyering@lucent.com>
125792         * m4/regex.m4: Use proper quoting so brackets appear in the test
125793         program.
125794         Reported by, and with help from, Bruno Haible.
125796 2001-05-13  Jim Meyering  <meyering@lucent.com>
125798         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
125799         undefined.
125801 2001-05-11  Paul Eggert  <eggert@twinsun.com>
125803         dirname code cleanup.  base_name now behaves more compatibly
125804         with POSIX basename when given file names that have trailing
125805         slashes, and similarly for dir_name.  Add new primitives
125806         base_len and dir_len.  Put the directory-name-related decls
125807         into dirname.h.
125809         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
125810         * lib/backupfile.c (base_name): Likewise.
125811         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
125812         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
125813         * lib/makepath.c (strip_trailing_slashes): Likewise.
125814         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
125815         ISSLASH): Likewise.
125816         * lib/rename.c (strip_trailing_slashes): Likewise.
125817         * lib/same.c (base_name): Likewise.
125818         * lib/stripslash.c (ISSLASH): Likewise.
125820         * lib/addext.c: Include <dirname.h> after size_t is defined.
125821         * lib/backupfile.c: Likewise.
125823         * lib/addext.c (addext): Use base_len to trim redundant
125824         trailing slashes instead of doing it ourselves.
125825         But do not trim the last slash if it is not redundant.
125827         * lib/backupfile.c (find_backup_file_name,
125828         max_backup_version): Use base_len instead of rolling it ourselves.
125829         Handle the case of "" and (on DOS) "C:" correctly.
125831         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
125832         needed. Include <string.h>, <dirname.h>.
125833         (base_name): Allow file names ending in slashes, other than names
125834         that are all slashes.  In this case, return the basename followed
125835         by the slashes.  This is more general, and can be used in places
125836         where the original base_name purposely had an assertion failure.
125837         (base_len): New function.
125839         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
125840         Do not include <assert.h>; no longer needed.
125841         Include xalloc.h.
125842         (memrchr): Remove decl.
125843         (dir_name_r): Remove.
125844         (dir_len): Renamed from dirlen.  All callers changed.
125845         Rewrite in terms of base_name, for simplicity and consistency.
125846         (dir_name): Never return NULL.  All callers changed.
125847         Do not include <stdlib.h> in test program; no longer needed.
125848         return 0; is fine for test program.
125850         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
125851         New macros.
125852         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
125854         * lib/path-concat.c (path_concat): Use base_len to compute
125855         base length, not strlen; this means we cannot rely on memcpy
125856         to null-terminate.
125858         * lib/same.c (STREQ): Remove.
125859         (same_name): Handle the case where the basename ends in trailing '/'.
125861         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
125862         a slash was stripped.  Do not strip the last slash after a
125863         file system prefix.
125865 2001-05-11  Paul Eggert  <eggert@twinsun.com>
125867         * lib/Makefile.am (libfetish_a_SOURCES):
125868         Add strftime.c, since we now compile it on all hosts.
125870         * lib/strftime.c (my_strftime):
125871         Define to nstrftime if emacs, but only if my_strftime is not defined.
125872         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
125873         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
125874         Add one more extra argument: a nanoseconds value.
125875         All uses changed.
125876         (ns): New macro.
125877         (my_strftime function): Add %N format.
125878         (emacs_strftimeu): Renamed from emacs_strftime,
125879         with extra ut argument.
125881 2001-05-09  Paul Eggert  <eggert@twinsun.com>
125883         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
125885 2001-04-21  Jim Meyering  <meyering@lucent.com>
125887         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
125888         doesn't interfere.
125890 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
125892         * m4/ftruncate.m4: Check for chsize.
125893         Link with ftruncate.o unconditionally if ftruncate is missing.
125894         This was required when cross-compiling to i586-mingw32msvc.
125896 2001-04-08  Jim Meyering  <meyering@lucent.com>
125898         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
125899         recomputed; that's necessary when the offset spans a DST transition.
125900         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
125902 2001-04-02  Jim Meyering  <meyering@lucent.com>
125904         * lib/regex.h, regex.c: Update from GNU libc.
125906 2001-03-24  Jim Meyering  <meyering@lucent.com>
125908         * m4/jm-macros.m4: Require autoconf-2.49d.
125910 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
125912         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
125914 2001-03-19  Paul Eggert  <eggert@twinsun.com>
125916         * lib/version-etc.c (version_etc_copyright): Update to 2001.
125918 2001-03-17  Jim Meyering  <meyering@lucent.com>
125920         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
125921         now that the version in autoconf is equivalent.
125922         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
125924         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
125925         Suggestion from Akim Demaille.
125927         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
125928         (jm_PREREQ_TEMPNAME): New function.
125930 2001-03-16  Paul Eggert  <eggert@twinsun.com>
125932         * lib/tempname.c (uint64_t): Define to uintmax_t if
125933         not defined, and if UINT64_MAX is not defined.
125934         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
125935         Reported by John David Anglin.
125937 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
125939         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
125940         resolve alias if codeset is empty.
125941         * lib/config.charset (BeOS): Use wildcard syntax.
125943 2001-03-13  Jim Meyering  <meyering@lucent.com>
125945         * lib/path-concat.c (path_concat)
125946         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
125947         concatenating e.g., `C:' and `foo'.
125948         From Bruno Haible.
125950 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
125952         * lib/localcharset.c (locale_charset): Don't use
125953         setlocale(LC_CTYPE,NULL). Don't return NULL.
125954         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
125956 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
125958         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
125959         support for DOS/DJGPP.
125961 2001-03-01  Paul Eggert  <eggert@twinsun.com>
125963         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
125964         lacks mkstemp.  Compile our own tempname.c if we compile our own
125965         mkstemp.c, as mkstemp relies on tempname.
125967 2001-03-01  Jim Meyering  <meyering@lucent.com>
125969         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
125970         AH_VERBATIM really does output its argument verbatim.
125972 2001-02-28  Paul Eggert  <eggert@twinsun.com>
125974         * lib/Makefile.am (libfetish_a_SOURCES):
125975         Add dup-safer.c, fopen-safer.c.
125976         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
125978         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
125979         * lib/unistd-safer.h: New files.
125981 2001-02-25  Paul Eggert  <eggert@twinsun.com>
125983         The mkstemp replacement is taken from glibc 2.2.2, with some
125984         portability fixes for use outside glibc, as follows:
125986         * lib/tempname.c (struct_stat64): New macro.
125987         (direxists, __gen_tempname): Use it.
125988         This avoids a portability problem with Solaris 8.
125990         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
125991         (<stddef.h>, <stdint.h>, <string.h>):
125992         Include only if STDC_HEADERS || _LIBC.
125993         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
125994         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
125995         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
125996         (__set_errno): Define this macro if <errno.h> doesn't.
125997         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
125998         Define these macros if <stdio.h> doesn't.
125999         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
126000         Define these macros if <sys/stat.h>
126001         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
126002         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
126003         __xstat64): Define if not _LIBC.
126004         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
126005         (__gen_tempname): Invoke gettimeofday only if
126006         HAVE_GETTIMEOFDAY || _LIBC;
126007         otherwise, fall back on plain "time".
126008         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
126010         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
126012         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
126014 2001-02-18  Paul Eggert  <eggert@twinsun.com>
126016         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
126018 2001-02-17  Paul Eggert  <eggert@twinsun.com>
126020         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
126021         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
126022         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
126023         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
126025 2001-02-17  Paul Eggert  <eggert@twinsun.com>
126027         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
126028         Remove workaround macros for hosts that have mbrtowc but not
126029         mbstate_t, as we now insist on proper declarations for both
126030         before using mbrtowc.
126032 2001-02-17  Jim Meyering  <meyering@lucent.com>
126034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
126035         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
126036         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
126037         UnixWare 7.1.1.
126039         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
126040         rather than AC_CACHE_VAL.
126042 2001-02-17  Jim Meyering  <meyering@lucent.com>
126044         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
126045         around included file name.
126047         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
126049         * lib/strftime.c: Update from GNU libc (the only changes were to
126050         comments).
126052 2001-02-17  Jim Meyering  <meyering@lucent.com>
126054         * lib/regex.c: Update from libc.
126056 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
126058         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
126059         clash.
126061 2001-02-16  Paul Eggert  <eggert@twinsun.com>
126063         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
126064         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
126065         Reported by Mark Hounschell via Paul Eggert.
126067 2001-02-07  Jim Meyering  <meyering@lucent.com>
126069         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
126071 2001-02-05  Jim Meyering  <meyering@lucent.com>
126073         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
126074         it includes the patch required for `large file' support with at least
126075         HP-UX's 10.20 /bin/cc.
126077 2001-02-03  Jim Meyering  <meyering@lucent.com>
126079         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
126080         AS_IF, now that it works once again (mysteriously).
126081         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
126083 2001-01-30  Jim Meyering  <meyering@lucent.com>
126085         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
126086         * m4/chown.m4: Rename conftestchown to conftest.chown.
126087         * m4/rename.m4: s/conftestdir/conftest.d1/ and
126088         s/conftestdir2/conftest.d2/.
126089         * m4/utimes.m4: s/conftestdata/conftest.data/
126090         Inspired by Pavel Roskin's change in autoconf.
126092 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
126094         * lib/config.charset: Update for FreeBSD 4.2.
126096 2001-01-27  Jim Meyering  <meyering@lucent.com>
126098         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
126099         a use of AS_IF.
126100         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
126102 2001-01-26  Jim Meyering  <meyering@lucent.com>
126104         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
126105         quotearg.c includes it.
126107 2001-01-26  Jim Meyering  <meyering@lucent.com>
126109         * lib/quotearg.c: Include stddef.h.
126110         * lib/quote.c: Include stddef.h.
126111         Reported by Axel Kittenberger.
126113         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
126114         line in double quotes so that it evokes a better diagnostic.
126115         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
126116         Reported by Axel Kittenberger.
126118 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
126120         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
126121         as if it was a `charset'.
126123 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
126125         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
126126         has const.
126128 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
126130         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
126131         to avoid a warning.  Add back 'const' to inptr.
126133 2001-01-20  Jim Meyering  <meyering@lucent.com>
126135         Be sure that headers are checked before used in code compiled
126136         for the type checks.
126137         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
126138         In place of that, invoke jm_CHECK_ALL_TYPES.
126139         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
126140         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
126141         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
126142         The check for ssize_t was mistakenly run before the test for unistd.h.
126144         The configure-time check for stdbool.h was missing.
126145         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
126146         (jm_PREREQ_HASH): New function.
126148 2001-01-17  Jim Meyering  <meyering@lucent.com>
126150         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
126151         for autoconf-2.49c.
126152         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
126154 2001-01-16  Jim Meyering  <meyering@lucent.com>
126156         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
126157         From Bruno Haible.
126159 2001-01-14  Jim Meyering  <meyering@lucent.com>
126161         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
126162         foo and bar.  Create conftestdir/ in the script, not in the C code.
126163         Remove directories in the script, not in the C code.
126164         Remove conftestdir{,2} before trying to create the directory.
126165         Make the entire configure script fail if the mkdir fails.
126167 2001-01-14  Jim Meyering  <meyering@lucent.com>
126169         * lib/rename.c: New file.  From Volker Borchert.
126170         Include stdlib.h, string.h or strings.h, and xalloc.h.
126171         Use strip_trailing_slashes rather than open-coding it.
126173 2001-01-03  Paul Eggert  <eggert@twinsun.com>
126175         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
126177 2001-01-03  Jim Meyering  <meyering@lucent.com>
126179         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
126180         of local `inptr' to avoid warning with some system declarations of
126181         iconv.
126183 2001-01-02  Volker Borchert  <bt@teknon.de>
126185         * m4/rename.m4: New file.
126186         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
126188 2001-01-01  Jim Meyering  <meyering@lucent.com>
126190         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
126191         even on systems with utmpx.h.  It's necessary for the declaration of
126192         utmp's ut_user member.  Reported by Andreas Jaeger.
126194         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
126195         available. They are required for the declarations of getgrgid and
126196         getpwuid resp.
126197         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
126198         Reported by Andreas Jaeger.
126200 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
126202         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
126203         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
126204         so `make install' also works in VPATH builds.
126206 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
126208         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
126209         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
126210         can be used in subdirectories.
126212 2000-12-29  Paul Eggert  <eggert@twinsun.com>
126214         * lib/modechange.c: Do not assume that mode_t uses the
126215         traditional octal encoding.  E.g. "chmod 1 FOO" should set
126216         the other-execute bit of FOO even if S_IXOTH != 1.
126218         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
126219         WOTH, XOTH, ALLM): New macros.
126220         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
126221          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
126222         Use them.
126223         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
126224         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
126225         (mode_compile):
126226         No need to use uintmax_t; unsigned long is long enough.
126227         Don't bother to get suffix since we don't use it.
126229 2000-12-26  Jim Meyering  <meyering@lucent.com>
126231         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
126232         better with autoheader.
126234 2000-12-24  Jim Meyering  <meyering@lucent.com>
126236         * lib/hash.c (is_prime): Return explicit boolean values.
126237         (hash_get_first): Return NULL to appease Irix5.6's 89.
126238         Reported by Nelson Beebe.
126240 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
126242         * lib/localcharset.c (locale_charset): Add support for Win32.
126244 2000-12-18  Paul Eggert  <eggert@twinsun.com>
126246         * lib/physmem.h, lib/physmem.c: New files.
126248         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
126249         (noinst_HEADERS): Add physmem.h.
126251         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
126252         't' for compatibility with Solaris 8 sort.
126254 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
126256         * lib/config.charset: Add support for BeOS.
126258 2000-12-17  Jim Meyering  <meyering@lucent.com>
126260         * m4/dos.m4 (jm_AC_DOS): New file and macro.
126261         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
126263 2000-12-16  Jim Meyering  <meyering@lucent.com>
126265         This bug had a serious impact on chown: `chown N:M FILE' (for integer
126266         N and M) would have treated it like `chown N:N FILE'.
126268         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
126270 2000-12-16  Jim Meyering  <meyering@lucent.com>
126272         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
126273         SHELLS_FILE to a file name that's useful on djgpp systems.
126274         Include stdlib.h.
126275         (ADDITIONAL_DEFAULT_SHELLS): Define.
126276         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
126277         Based mostly on a patch from Prashant TR.
126279 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
126281         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
126282         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
126283         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
126285 2000-12-08  Andreas Schwab  <schwab@suse.de>
126287         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
126288         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
126290 2000-12-07  Jim Meyering  <meyering@lucent.com>
126292         * lib/stripslash.c (ISSLASH): Define.
126293         (strip_trailing_slashes): Use ISSLASH rather than comparing against
126294         `/'.
126295         From Prashant TR.
126297         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
126298         (dir_name_r): Declare this function as static.
126299         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
126300         manifest itself on a name containing a mix of slashes and
126301         backslashes.
126302         Make this function work with names starting with a DOS-style
126303         drive letter and colon prefix.
126304         (dir_name): Append `.' if necessary.
126305         Based mostly on patches from Prashant TR and Eli Zaretskii.
126307         * lib/dirname.h (dir_name_r): Remove prototype.
126309 2000-12-06  Paul Eggert  <eggert@twinsun.com>
126311         * m4/off_t-format.m4: Remove this file.
126312         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
126314 2000-12-06  Jim Meyering  <meyering@lucent.com>
126316         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
126317         replacement strtoull, we may well need the replacement strtoul, too.
126318         Check for declarations of strtoul and strtoull.
126319         Check for strtol.  Mainly as a cue to cause automake to include
126320         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
126321         Check for limits.h -- strtol.c needs it.
126323 2000-12-05  Jim Meyering  <meyering@lucent.com>
126325         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
126327 2000-12-04  Jim Meyering  <meyering@lucent.com>
126329         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
126330         Also include memory.h, stdlib.h, unistd.h if appropriate.
126331         Reported by Andreas Jaeger (conflicting declaration of malloc).
126333 2000-12-02  Jim Meyering  <meyering@lucent.com>
126335         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
126336         * m4/jm-macros.m4 (jm_MACROS): require it.
126338 2000-12-02  Jim Meyering  <meyering@lucent.com>
126340         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
126342 2000-12-01  Paul Eggert  <eggert@twinsun.com>
126344         * lib/memrchr.c: Include <config.h> before any system include file.
126346 2000-11-30  Jim Meyering  <meyering@lucent.com>
126348         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
126350 2000-11-30  Jim Meyering  <meyering@lucent.com>
126352         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
126354 2000-11-29  Paul Eggert  <eggert@twinsun.com>
126356         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
126358 2000-11-26  Jim Meyering  <meyering@lucent.com>
126360         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
126362 2000-11-22  Paul Eggert  <eggert@twinsun.com>
126364         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
126365         size of (size_t) -1; it's not portable.
126367 2000-11-17  Jim Meyering  <meyering@lucent.com>
126369         * lib/strstr.c: Update from GNU libc.
126371 2000-11-17  Akim Demaille  <akim@epita.fr>
126373         * lib/obstack.h: Formatting changes.
126374         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
126375         prevent type checking.
126376         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
126377         cast the value to (void *): assigning a `foo *' to a `void *'
126378         variable is valid.
126379         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
126381 2000-11-16  Jim Meyering  <meyering@lucent.com>
126383         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
126385 2000-11-11  Jim Meyering  <meyering@lucent.com>
126387         * lib/error.c: Add a couple #includes, merging from GNU libc version.
126389 2000-11-10  Jim Meyering  <meyering@lucent.com>
126391         * lib/obstack.h: Update from GNU libc.
126392         * lib/obstack.c: Likewise.
126394 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
126396         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
126398 2000-11-06  Paul Eggert  <eggert@twinsun.com>
126400         * lib/getusershell.c (setusershell): Use rewind rather than
126401         fseek/fseeko, to avoid configuration hassles with fseeko.
126402         Don't bother opening SHELLS_FILE if shellstream is NULL;
126403         it's not necessary.
126405 2000-11-05  Jim Meyering  <meyering@lucent.com>
126407         * lib/makepath.h (make_dir): Declare.
126408         * lib/makepath.c (make_dir): Remove `static' attribute.
126409         Tweak a comment.
126411 2000-11-04  Jim Meyering  <meyering@lucent.com>
126413         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
126415 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
126417         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
126418         last one in a bucket, advance to the next bucket.
126420 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
126422         * lib/fnmatch.c: Do not comment out all the code if we are using
126423         the GNU C library, because in some cases we are replacing buggy
126424         code in the GNU C library itself.
126426 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
126428         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
126429         (regex_compile): Catch bogus \(\1\).
126431 2000-10-30  Paul Eggert  <eggert@twinsun.com>
126433         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
126434         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
126435         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
126437 2000-10-30  Paul Eggert  <eggert@twinsun.com>
126439         * lib/error.h, getline.h, modechange.h:
126440         Remove "2000" from Copyright line, as the file hasn't been
126441         changed this year other than in the copyright notice.
126443         * lib/xalloc.h: Add "2000" to Copyright line, as this file
126444         was changed this year.
126446 2000-10-29  Jim Meyering  <meyering@lucent.com>
126448         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
126449         renaming.
126450         * m4/ls-mntd-fs.m4: Likewise
126452 2000-10-29  Jim Meyering  <meyering@lucent.com>
126454         * lib/xstat.in: Fix grammar in comment.
126456 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
126458         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
126459         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
126460         doesn't define __restrict_arr.
126462 2000-10-28  Jim Meyering  <meyering@lucent.com>
126464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
126465         (jm_PREREQ_MEMCHR): New function.
126467 2000-10-28  Jim Meyering  <meyering@lucent.com>
126469         * lib/memchr.c: Update from libc.
126470         Adjust for portability:
126471         [HAVE_STDLIB_H]: Include stdlib.h.
126472         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
126473         Undef __memchr, too.
126474         [!weak_alias]: Define __memchr to memchr.
126476         * lib/regex.c: Update from libc.
126477         * lib/regex.h: Likewise.
126478         * lib/getopt1.c: Likewise.
126479         * lib/memcmp.c: Likewise.
126481         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
126482         Avoid using fseek, when possible -- it's broken by design.
126483         Patch by Ulrich Drepper.
126485 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
126487         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
126488         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
126489         Giving in to popular pressure to shut up the compiler with casts.
126491 2000-10-26  Jim Meyering  <meyering@lucent.com>
126493         * lib/strftime.c: Update from libc.
126495 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
126497         * regex.c: More `unsigned char' -> `re_char' changes.
126498         Also change several `int' into `re_wchar_t'.
126499         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
126500         (PUSH_FAILURE_POINTER): Don't cast any more.
126501         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
126502         We want GCC to complain, since this piece of code makes
126503         re_match non-reentrant, which *should* be fixed.
126504         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
126505         (EXTEND_BUFFER): Use RETALLOC.
126506         (SET_LIST_BIT): Don't cast.
126507         (re_wchar_t): New type.
126508         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
126509         that those two functions will always properly return.
126510         (IMMEDIATE_QUIT_CHECK): Cast to void.
126511         (analyse_first): Use recursion rather than an explicit stack.
126512         (re_compile_fastmap): Can't fail anymore.
126513         (re_search_2): Don't check re_compile_fastmap for failure.
126514         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
126515         Now also sets the new value (passed in a new argument).
126516         (re_match_2_internal): Use it.
126517         Also, use a new var `reg' of type size_t when looping through regs
126518         rather than reuse the inappropriate `mcnt'.
126520 2000-10-25  Jim Meyering  <meyering@lucent.com>
126522         * lib/obstack.c: Update from libc.
126524 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
126526         * regex.c (regex_compile): Change the way of handling a range from
126527         a char less than 256 to a char not less than 256.
126529 2000-10-24  Andrew Innes  <andrewi@gnu.org>
126531         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
126532         NT-Emacs only.
126533         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
126534         so that re_search functions only quit when callers expect them to.
126536 2000-10-23  Jim Meyering  <meyering@lucent.com>
126538         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
126539         wrong.  That set_locale call must not have any side effects.
126540         From Paul Eggert.
126542 2000-10-22  Jim Meyering  <meyering@lucent.com>
126544         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
126545         [CYCLIC]: Remove now-unused definition.
126547         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
126548         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
126549         Suggestion from Ulrich Drepper.
126551 2000-10-21  Jim Meyering  <meyering@lucent.com>
126553         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
126554         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
126555         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
126557 2000-10-21  Jim Meyering  <meyering@lucent.com>
126559         * lib/dirname.c (memrchr): Declare if necessary.
126560         (dir_name): Remove the restriction that there be no
126561         trailing slashes.  Now, this code skips past them, effectively
126562         ignoring them.
126563         [TEST_DIRNAME] (main): New unit tests.
126565         * lib/memrchr.c: New file from GNU libc.
126566         Undef __memrchr, too.
126567         [!weak_alias]: Define __memrchr to memrchr.
126568         Guard weak_alias use with `#ifdef weak_alias'.
126570 2000-10-21  Jim Meyering  <meyering@lucent.com>
126572         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
126573         (dir_name): Use dir_name_r.
126574         * lib/dirname.h (dir_name_r): Declare it.
126576 2000-10-17  Jim Meyering  <meyering@lucent.com>
126578         * lib/quote.h (PARAMS): Define and use.
126579         Reported by Akim Demaille.
126581         * lib/getopt.c: Update from libc.
126583 2000-10-16  Jim Meyering  <meyering@lucent.com>
126585         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
126586         setlocale.
126587         From Jan Fedak.
126589 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
126591         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
126593 2000-09-25  Jim Meyering  <meyering@lucent.com>
126595         * lib/md5.h (rol): Define (from GnuPG).
126597         * lib/sha.c: Give credit (GnuPG) where due.
126598         (M): Use rol rather than open-coding it.
126599         Add a FIXME comment.
126601 2000-09-21  Jim Meyering  <meyering@lucent.com>
126603         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
126604         Reported by Michael Stone.
126606 2000-09-20  Jim Meyering  <meyering@lucent.com>
126608         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
126609         (noinst_HEADERS): Add sha.h.
126610         Based on code from Scott G. Miller and from GnuPG.
126612 2000-09-18  Jim Meyering  <meyering@lucent.com>
126614         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
126615         LIBS. Otherwise, everyone ends up linking with -lelf for some
126616         configurations.
126617         Reported by Mike Stone.
126619 2000-09-15  Jim Meyering  <meyering@lucent.com>
126621         * lib/regex.c: Update from libc.
126623 2000-09-10  Jim Meyering  <meyering@lucent.com>
126625         * lib/getopt.c (_getopt_internal): Update from glibc.
126627 2000-09-09  Jim Meyering  <meyering@lucent.com>
126629         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
126630         think it should be used as a general replacement for isascii.
126631         * lib/fnmatch.c: Likewise.
126632         * lib/mbswidth.c: Likewise
126633         * lib/regex.c: Likewise.
126635         Don't use atoi.
126636         * lib/userspec.c: Include sys/param.h and limits.h.
126637         Include xstrtol.h.
126638         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
126639         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
126640         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
126641         UID, GID.  Check range.
126643 2000-09-06  Jim Meyering  <meyering@lucent.com>
126645         * lib/getopt.c (_getopt_internal): Update from glibc.
126647 2000-08-30  Jim Meyering  <meyering@lucent.com>
126649         * lib/strftime.c: Merge in changes from GNU libc.
126651 2000-08-26  Jim Meyering  <meyering@lucent.com>
126653         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
126654         * m4/fpending.m4: New file.
126656 2000-08-26  Jim Meyering  <meyering@lucent.com>
126658         * lib/closeout.c: Include "__fpending.h".
126659         (close_stdout_status): Return right away if there's nothing to flush.
126661         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
126662         * lib/__fpending.c: New file.
126663         * lib/__fpending.h: New file.
126665 2000-08-20  Jim Meyering  <meyering@lucent.com>
126667         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
126668         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
126669         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
126671 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
126673         Improve fileutils installation on systems where running
126674         programs (like install) can't be unlinked.
126675         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
126676         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
126678 2000-08-07  Paul Eggert  <eggert@twinsun.com>
126680         Standardize on "memory exhausted" instead of "Memory exhausted"
126681         or "virtual memory exhausted".
126682         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
126683         "virtual memory exhausted".
126684         * lib/same.c (same_name): Invoke xalloc_die instead of printing
126685         our own message.
126686         * lib/userspec.c (parse_user_spec): Likewise.
126687         * lib/bumpalloc.h: comment fix
126688         * lib/same.c, userspec.c: Include xalloc.h.
126690         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
126691         not char *const and pointing to a constant array.
126692         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
126693         (xrealloc): Comment fix.
126695         * lib/userspec.c (parse_user_spec):
126696         Don't translate a message until just before returning,
126697         to avoid unnecessary translation.
126699 2000-08-07  Jim Meyering  <meyering@lucent.com>
126701         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
126702         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
126703         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
126704         getgroups.c, gethostname.c, getopt.h, group-member.c,
126705         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
126706         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
126707         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
126708         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
126709         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
126710         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
126711         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
126712         yesno.c: Back out Copyright date changes for each file with no change
126713         this year.  This eases coordination with other programs using the same
126714         source code modules.  From Paul Eggert.
126716 2000-08-06  Paul Eggert  <eggert@twinsun.com>
126718         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
126719         not char, for compatibility with glibc 2.1.3 strftime.c.
126721 2000-08-03  Greg McGary  <greg@mcgary.org>
126723         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
126724         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
126725         (EXTEND_BUFFER): Use them.
126727 2000-08-01  Jim Meyering  <meyering@lucent.com>
126729         * lib/dirname.c (ISSLASH): Define.
126730         (BACKSLASH_IS_PATH_SEPARATOR): Define.
126731         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
126732         both `\' and `/' may be use as path separators.
126733         Based on a patch from Prashant TR.
126735 2000-07-31  Paul Eggert  <eggert@twinsun.com>
126737         * lib/quotearg.c (quotearg_n_options): Don't make the initial
126738         slot vector a constant, since it might get modified.
126740 2000-07-31  Jim Meyering  <meyering@lucent.com>
126742         * lib/xmalloc.c: Use `virtual memory exhausted', not
126743         `Memory exhausted'.
126744         * lib/obstack.c (print_and_abort): Likewise.
126746 2000-07-30  Paul Eggert  <eggert@twinsun.com>
126748         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
126749         buffer, so that the caller can always quote one small
126750         component of a "memory exhausted" message in slot 0.
126751         From a suggestion by Jim Meyering.
126753 2000-07-30  Jim Meyering  <meyering@lucent.com>
126755         * lib/makepath.c (make_path): Quote the other instance, too.
126757         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
126758         (STATIC_BUF_SIZE): Define.
126759         (quotearg_n_options): Use only statically allocated storage when
126760         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
126761         than STATIC_BUF_SIZE.
126763 2000-07-29  Jim Meyering  <meyering@lucent.com>
126765         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
126766         * lib/dirname.c (dir_name): Likewise.
126768         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
126769         `/'.
126771         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
126772         (dir_name): Assert that there are no trailing slashes.
126774 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
126776         * lib/mbswidth.h (mbswidth): Add a flags argument.
126777         (mbswidth): New declaration.
126778         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
126779         * lib/mbswidth.c (mbswidth): Add a flags argument.
126780         (mbsnwidth): New function.
126782 2000-07-24  Jim Meyering  <meyering@lucent.com>
126784         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
126786 2000-07-23  Paul Eggert  <eggert@twinsun.com>
126788         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
126790 2000-07-23  Paul Eggert  <eggert@twinsun.com>
126792         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
126793         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
126794         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
126795         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
126796         invoke multibyte primitives.
126798 2000-07-23  Paul Eggert  <eggert@twinsun.com>
126800         * lib/quotearg.c:
126801         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
126802         so that mbstate_t is always defined.
126804         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
126805         be 1 in at least one GCC installation, and this configuration
126806         error is likely to be common.  Ignoring MB_LEN_MAX hurts
126807         performance on hosts that have mbrtowc but have only unibyte
126808         locales, but I assume these hosts are rare.
126810 2000-07-23  Paul Eggert  <eggert@twinsun.com>
126812         * lib/mbswidth.c (_XOPEN_SOURCE):
126813         Don't define; this causes problems on Solaris 7.
126814         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
126816 2000-07-23  Jim Meyering  <meyering@lucent.com>
126818         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
126819         too: getgrgid, getpwuid, getuid.
126821 2000-07-23  Jim Meyering  <meyering@lucent.com>
126823         * lib/basename.c (base_name): Add an assertion.
126825 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
126827         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
126828         shadow its mbsinit function.
126830 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
126832         * lib/mbswidth.h: New file.
126833         * lib/mbswidth.c: New file.
126834         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
126835         (noinst_HEADERS): Add mbswidth.h.
126837 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
126839         * lib/config.charset: Add support for FreeBSD. Improve support for
126840         HP-UX and IRIX 6.
126842 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
126844         * m4/mbswidth.m4: New file.
126845         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
126847 2000-07-15  Jim Meyering  <meyering@lucent.com>
126849         * lib/makepath.c: Include quote.h.
126850         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
126851         corresponding argument in a `quote (...)' call.
126852         Give better diagnostics.
126854         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
126855         (noinst_HEADERS): Add quote.h.
126857         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
126858         from tar's src/misc.c.
126859         * lib/quote.h: New file.  Prototypes for same.
126861 2000-07-14  Paul Eggert  <eggert@twinsun.com>
126863         From a suggestion by Bruno Haible.
126864         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
126865         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
126866         to decide whether to define the BeOS workaround macro;
126867         this adjusts to the change to AC_MBSTATE_T.
126869 2000-07-14  Jim Meyering  <meyering@lucent.com>
126871         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
126872         jm_AC_TYPE_UINTMAX_T.
126874 2000-07-13  Paul Eggert  <eggert@twinsun.com>
126876         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
126878         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
126879         quotearg_buffer_restyled): Add support for
126880         clocale_quoting_style.  Undo previous change to
126881         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
126882         and "{RIGHT QUOTATION MARK}" msgids.
126884 2000-07-10  Paul Eggert  <eggert@twinsun.com>
126886         From a suggestion by Bruno Haible.
126887         * m4/mbstate_t.m4 (AC_MBSTATE_T):
126888         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
126889         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
126890         and mbstate_t, to a single-part test that simply defines mbstate_t.
126891         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
126892         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
126894 2000-07-10  Jim Meyering  <meyering@lucent.com>
126896         * m4/strerror_r.m4: Mirror the correction made in autoconf.
126898         * m4/gnu-source.m4: Output to confdefs.h directly.
126899         Suggestion from Akim Demaille.
126901 2000-07-09  Paul Eggert  <eggert@twinsun.com>
126903         The old behavior of quoting `like this' doesn't look good with
126904         newer, ISO-style fonts.  See:
126905         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
126907         Instead, quote "like this" by default.  Let the translator
126908         tailor the locale-specific quoting behavior by providing
126909         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
126911         * lib/quotearg.c (N_): New macro.
126912         (gettext_default): New function.
126913         (quotearg_buffer_restyled): Use
126914         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
126915         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
126917 2000-07-09  Jim Meyering  <meyering@lucent.com>
126919         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
126920         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
126922         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
126923         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
126925 2000-07-09  Jim Meyering  <meyering@lucent.com>
126927         * lib/Most files: Update copyright dates to include 2000.
126929 2000-07-08  Jim Meyering  <meyering@lucent.com>
126931         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
126932         if not defined.
126933         (xgethostname): Remove now-unnecessary #ifdef.
126934         Move declaration of `err' into loop where it's used.
126936 2000-07-05  Paul Eggert  <eggert@twinsun.com>
126937         and Bruno Haible  <haible@clisp.cons.org>
126939         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
126940         only if the test for an object-type mbstate_t fails.  This
126941         prevents us from mistakenly reporting that mbstate_t is a
126942         system object type after we "#define mbstate_t int" to work
126943         around its lack.
126945 2000-07-05  Paul Eggert  <eggert@twinsun.com>
126946         and Bruno Haible  <haible@clisp.cons.org>
126948         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
126950 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
126952         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
126953         to strerror_r.
126954         Include <ctype.h> for use of isalpha.
126956 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
126958         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
126959         by allocating a larger buffer. Test the gethostname return value for
126960         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
126961         returns an error and ENAMETOOLONG isn't defined.
126963 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
126965         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
126966         dimension.
126968 2000-07-04  Jim Meyering  <meyering@lucent.com>
126970         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
126971         of the deprecated AC_CHECKING.
126973 2000-07-04  Jim Meyering  <meyering@lucent.com>
126975         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
126976         Reported by Bruno Haible.
126978 2000-07-04  Jim Meyering  <meyering@lucent.com>
126980         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
126981         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
126982         lacks mbrtowc.
126984 2000-07-03  Paul Eggert  <eggert@twinsun.com>
126986         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
126987         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
126989 2000-07-03  Paul Eggert  <eggert@twinsun.com>
126990         and Bruno Haible  <haible@clisp.cons.org>
126992         * lib/quotearg.c (mbrtowc):
126993         Assign to *pwc, and return 1 only if result is nonzero.
126994         (iswprint): Use ISPRINT when substituting our own mbrtowc.
126996 2000-07-03  Jim Meyering  <meyering@lucent.com>
126998         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
127000 2000-07-03  Jim Meyering  <meyering@lucent.com>
127002         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
127003         This is necessary to get a definition of e.g., UTMP_FILE on
127004         HP-UX 10.20.
127005         From Bob Proulx.
127007 2000-07-02  Jim Meyering  <meyering@lucent.com>
127009         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
127011         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
127012         AC_LIBOBJ(function_name).
127013         * m4/chown.m4: Likewise.
127014         * m4/fnmatch.m4: Likewise.
127015         * m4/ftruncate.m4: Likewise.
127016         * m4/getgroups.m4: Likewise.
127017         * m4/getline.m4: Likewise.
127018         * m4/group-member.m4: Likewise.
127019         * m4/jm-macros.m4: Likewise.
127020         * m4/lstat.m4: Likewise.
127021         * m4/malloc.m4: Likewise.
127022         * m4/memcmp.m4: Likewise.
127023         * m4/nanosleep.m4: Likewise.
127024         * m4/putenv.m4: Likewise.
127025         * m4/realloc.m4: Likewise.
127026         * m4/regex.m4: Likewise.
127027         * m4/stat.m4: Likewise.
127028         * m4/strftime.m4: Likewise.
127030 2000-07-02  Jim Meyering  <meyering@lucent.com>
127032         * lib/quotearg.c (mbstate_t): Don't define here.
127034 2000-07-02  Jim Meyering  <meyering@lucent.com>
127036         * lib/nanosleep.c (SIGCONT): Define if not already defined.
127038 2000-07-01  Jim Meyering  <meyering@lucent.com>
127040         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
127042 2000-07-01  Jim Meyering  <meyering@lucent.com>
127044         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
127045         problem.
127047 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
127049         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
127050         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
127052 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
127054         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
127055         per change in ../m4/ls-mntd-fs.m4.
127056         (read_filesystem_list): Ignore symbolic links.
127058 2000-06-29  Jim Meyering  <meyering@lucent.com>
127060         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
127061         for declaration of strcmp.
127063         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
127065         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
127066         Avoid warning by casting result to `char *' to remove `const'.
127068 2000-06-28  Jim Meyering  <meyering@lucent.com>
127070         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
127071         included by quotearg.c, for which we perform this test.  From
127072         Bruno Haible.
127074 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
127076         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
127077         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
127078         <utmpx.h> exists, put readutmp.o into LIBOBJS.
127080 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
127082         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
127084 2000-06-26  Paul Eggert  <eggert@twinsun.com>
127086         savedir now sets errno on failure and invokes xmalloc to get memory.
127087         Fix a couple of other minor bugs while we're at it.
127089         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
127090         (NAMLEN): Remove macro.
127091         (malloc, realloc): Remove decls.
127092         (stpcpy): Likewise.
127093         ("xalloc.h"): Include.
127094         (NAME_SIZE_DEFAULT): New macro.
127095         (savedir): Use xmalloc / xrealloc to allocate memory.
127096         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
127097         Skip "" directory entries.
127098         Use strlen to calculate directory entry length, since the old method
127099         is rarely used these days and isn't worth supporting.
127100         Don't use a pointer after freeing it.
127101         Check for integer overflow when calculating allocation size.
127102         Use memcpy to copy entries, instead of stpcpy.
127103         Set errno properly when returning NULL.
127104         Check for readdir error.
127106 2000-06-26  Jim Meyering  <meyering@lucent.com>
127108         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
127110 2000-06-25  Jim Meyering  <meyering@lucent.com>
127112         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
127113         Linux header bug when _XOPEN_SOURCE is defined to 500.
127115 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
127117         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
127118         deficiency.
127120 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
127122         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
127123         Include xalloc.h.
127124         Don't include <stdlib.h>.  Don't declare malloc, realloc.
127126 2000-06-24  Jim Meyering  <meyering@lucent.com>
127128         * m4/strerror_r.m4: Revive this file -- to try out an experimental
127129         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
127130         for which strerror does return char*, but which lacks a conveniently
127131         accessible declaration of the function.  If the compile-test says
127132         strerror_r doesn't work, then resort to a `run'-test that works on
127133         BeOS and segfaults on DEC Unix.
127135 2000-06-24  Jim Meyering  <meyering@lucent.com>
127137         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
127139 2000-06-23  Paul Eggert  <eggert@twinsun.com>
127141         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
127142         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
127144 2000-06-23  Paul Eggert  <eggert@twinsun.com>
127146         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
127147         (mbrtowc, mbstate_t): Define substitutes if
127148         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
127149         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
127150         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
127152 2000-06-23  Jim Meyering  <meyering@lucent.com>
127154         * m4/afs.m4: Add missing AC_MSG_RESULT.
127155         Reported by Bruno Haible.
127157         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
127158         Suggestion from Bruno Haible.
127160 2000-06-23  Jim Meyering  <meyering@lucent.com>
127162         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
127164 2000-06-21  Jim Meyering  <meyering@lucent.com>
127166         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
127168 2000-06-21  Jim Meyering  <meyering@lucent.com>
127170         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
127171         (noinst_HEADERS): Add getstr.h.
127173         * lib/getline.c (getstr): Move into a separate file.
127174         * lib/getstr.c (getstr): New file, extracted from getline.c, with
127175         the following changes: new parameter, delim2; both delim[12]
127176         parameters have type `int', not `char'.  The latter would lose
127177         with 8-bit delimiters.
127178         * lib/getstr.h: New file.
127180 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
127182         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
127183         than 1024, return a memory chunk of least possible size, instead
127184         of size PATH_MAX + 2. In the loop, increment the size proportionally.
127185         Use free/xmalloc instead of xrealloc to avoid copying for very long
127186         paths.
127188 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
127190         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
127191         the empty string.
127193 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
127195         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
127196         address, not strdup.  Include <stdlib.h> and don't declare free().
127198 2000-06-19  Jim Meyering  <meyering@lucent.com>
127200         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
127202 2000-06-18  Jim Meyering  <meyering@lucent.com>
127204         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
127206         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
127207         `checking whether...' message to be consistent with that of the
127208         lstat test.
127210 2000-06-18  Jim Meyering  <meyering@lucent.com>
127212         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
127213         Besides, these days every porting target provides a mkdir function.
127215         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
127216         needed. (this snippet comes from src/system.h).
127218 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
127220         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
127222 2000-06-15  Paul Eggert  <eggert@twinsun.com>
127224         * lib/human.c (adjust_value): New function.
127225         (human_readable_inexact): Apply rounding style even when
127226         printing approximate values.
127228 2000-06-14  Paul Eggert  <eggert@twinsun.com>
127230         * lib/human.c (human_readable_inexact): Allow an input block
127231         size that is not a multiple of the output block size, and vice versa.
127232         Reported by Piergiorgio Sartor.
127234 2000-06-14  Paul Eggert  <eggert@twinsun.com>
127236         * lib/getdate.y (get_date): Apply relative times after time
127237         zone indicator, not before.  Reported by Todd A. Jacobs.
127239 2000-06-13  Jim Meyering  <meyering@lucent.com>
127241         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
127243         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
127245 2000-06-12  Paul Eggert  <eggert@twinsun.com>
127247         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
127249 2000-06-12  Jim Meyering  <meyering@lucent.com>
127251         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
127252         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
127253         optional argument.
127254         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
127255         the optional argument, `lib'.
127257 2000-06-08  Jim Meyering  <meyering@lucent.com>
127259         * m4/largefile.m4: Remove file (now that it's part of autoconf).
127261 2000-06-04  Paul Eggert  <eggert@twinsun.com>
127263         Rewrite largefile configuration so that we don't need to run
127264         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
127265         AC_CANONICAL_HOST in configure.in -- jmm]
127267         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
127268         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
127269         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
127270         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
127271         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
127272         All uses changed.
127273         Instead of inspecting the output of getconf, try to compile the
127274         test program without and with the macro definition.
127275         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
127276         for getconf.  Instead, check for the needed flags by compiling
127277         test programs.
127279 2000-06-04  Paul Eggert  <eggert@twinsun.com>
127281         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
127283 2000-06-04  Jim Meyering  <meyering@lucent.com>
127285         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
127286         SunOS 4.1.4 for which gid_t is an unsigned type.
127288 2000-06-03  Jim Meyering  <meyering@lucent.com>
127290         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
127291         now that autoconf requires that.
127293         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
127294         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
127295         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
127297 2000-06-03  Jim Meyering  <meyering@lucent.com>
127299         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
127301 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
127303         * m4/glibc21.m4: New file.
127304         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
127306 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
127308         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
127309         newer, don't install charset.alias.
127310         * lib/config.charset: Change the Linux/glibc rules so they become empty
127311         on glibc-2.1 or newer.
127313 2000-06-02  Jim Meyering  <meyering@lucent.com>
127315         * lib/mountlist.c: Back out last change.  Instead, do this...
127316         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
127317         me_dummy member using the same `ignore'-testing code.
127318         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
127319         fs_type strings.
127320         From Mark D. Roth.
127322 2000-05-29  Jim Meyering  <meyering@lucent.com>
127324         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
127325         mounts with the `ignore' attribute.  Based on a patch from
127326         Mark D. Roth.
127328 2000-05-28  Jim Meyering  <meyering@lucent.com>
127330         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
127331         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
127332         * m4/stat.m4: Likewise.
127333         * m4/lstat.m4: Likewise.
127334         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
127336         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
127337         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
127339 2000-05-26  Jim Meyering  <meyering@lucent.com>
127341         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
127343 2000-05-24  Jim Meyering  <meyering@lucent.com>
127345         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
127346         autoconf requires that.
127347         * m4/lib-check.m4: Likewise.
127348         * m4/jm-macros.m4: Likewise.
127349         * m4/strftime.m4: Likewise.
127351         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
127352         AC_CHECK_DECLS, now that autoconf requires that.
127354 2000-05-22  Jim Meyering  <meyering@lucent.com>
127356         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
127357         * m4/lstat.m4: Likewise.
127359 2000-05-22  Jim Meyering  <meyering@lucent.com>
127361         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
127363 2000-05-20  Jim Meyering  <meyering@lucent.com>
127365         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
127366         (jm_PREREQ): Use it.
127368 2000-05-18  Jim Meyering  <meyering@lucent.com>
127370         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
127371         back, too, since it may have been modified by allocate_entry.
127372         (hash_delete): Rewrite to use neither the assignment operator
127373         nor the comma operator in an if-expression.
127375 2000-05-15  Paul Eggert  <eggert@twinsun.com>
127377         * lib/closeout.c:
127378         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
127379         Remove; no longer needed.
127380         "quotearg.h": Add include.
127381         (file_name): Do not bother to explicitly initialize to NULL; it's less
127382         efficient on some hosts.
127383         (close_stdout_status): Remove test as to whether stdout was already
127384         closed; it breaks for the case "echo x | sort >&-".
127385         Quote file name colons.
127386         Do not assume that _("write error") lacks format strings.
127388 2000-05-15  Jim Meyering  <meyering@lucent.com>
127390         * lib/version-etc.c (version_etc_copyright): Update the copyright
127391         string used in all --version output.
127393 2000-05-14  Jim Meyering  <meyering@lucent.com>
127395         * lib/closeout.c (close_stdout_set_file_name): New function.
127396         (close_stdout_status): Use new file-scoped global.
127397         Return right away if fstat says the stdout file descriptor is invalid.
127398         * lib/closeout.h (close_stdout_set_file_name): Declare.
127400 2000-05-10  Jim Meyering  <meyering@lucent.com>
127402         * lib/closeout.c [default_exit_status]: New file-scoped variable.
127403         (close_stdout_set_status): New function.
127404         * lib/closeout.h (close_stdout_set_status): Declare.
127406 2000-05-09  Jim Meyering  <meyering@lucent.com>
127408         * m4/gettext.m4: Rename this...
127409         * m4/libintl.m4: ...to this.
127411 2000-05-08  Jim Meyering  <meyering@lucent.com>
127413         * lib/long-options.c: Don't include closeout.h.
127414         (parse_long_options): Don't call close_stdout for --version.
127416 2000-05-06  Paul Eggert  <eggert@twinsun.com>
127418         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
127419         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
127420         2.1.3 bug.  This avoids a clash when files like regex.c define
127421         _GNU_SOURCE.
127423 2000-05-06  Jim Meyering  <meyering@lucent.com>
127425         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
127426         (AC_REPLACE_FUNCS): Add strnlen.
127428         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
127429         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
127431         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
127432         AC_SEARCH_LIBS call for nanosleep.
127433         (LIB_NANOSLEEP): Set and AC_SUBST.
127435 2000-05-06  Jim Meyering  <meyering@lucent.com>
127437         * lib/strnlen.c: Undefine __strnlen and strnlen.
127438         [!weak_alias]: Define __strnlen to strnlen.
127440         * lib/atexit.c: New file, from libiberty.
127442 2000-05-06  Jim Meyering  <meyering@lucent.com>
127444         * lib/closeout.c (close_stdout_status): Also check for errors on the
127445         stderr stream.
127447 2000-05-05  Jim Meyering  <meyering@lucent.com>
127449         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
127450         AC_SEARCH_LIBS call for clock_gettime.
127451         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
127453         * m4/search-libs.m4: Update from autoconf.
127455         su doesn't work on Solaris 2.6.
127456         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
127457         <shadow.h>.  Reported by Dragos Harabor.
127459 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
127461         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
127462         memcpy instead of xmalloc, xrealloc, path_concat.
127463         (locale_charset): Treat empty environment variables as absent.
127464         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
127466 2000-05-04  Jim Meyering  <meyering@lucent.com>
127468         * lib/getopt.c: Update from glibc.
127469         * lib/obstack.c: Likewise.
127470         * lib/obstack.h: Likewise.
127471         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
127472         file
127474         * lib/regex.h: Likewise.
127475         * lib/strndup.c: Likewise.
127476         * lib/strnlen.c: New file, from glibc.
127478 2000-05-03  Jim Meyering  <meyering@lucent.com>
127480         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
127482 2000-05-02  Paul Eggert  <eggert@twinsun.com>
127484         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
127485         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
127486         compile-time test, rather than inspecting host and OS, to
127487         decide whether to define _LARGEFILE_SOURCE.
127489 2000-05-01  Jim Meyering  <meyering@lucent.com>
127491         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
127493         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
127494         Based on a patch from Bruno Haible.
127496 2000-05-01  Jim Meyering  <meyering@lucent.com>
127498         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
127500 2000-04-29  Jim Meyering  <meyering@lucent.com>
127502         * lib/path-concat.c: Declare strdup only if it's not defined.
127503         * lib/canon-host.c: Likewise.
127505 2000-04-28  Jim Meyering  <meyering@lucent.com>
127507         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
127508         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
127509         is included first, then limits.h is included by locale.h by libintl.h.
127510         From John David Anglin.
127512 2000-04-25  Jim Meyering  <meyering@lucent.com>
127514         * lib/makepath.c (S_IRWXUGO): Define.
127515         (make_path): Always perform explicit chmod if MODE specifies any
127516         of the `special' permission bits.  Prompted by a bug report against
127517         install from Mate Wierdl and Joost van Baal.
127519 2000-04-18  Jim Meyering  <meyering@lucent.com>
127521         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
127522         (jm_PREREQ): Use it.
127524 2000-04-18  Jim Meyering  <meyering@lucent.com>
127526         * lib/README: New file.
127528         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
127529         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
127531 2000-04-17  Jim Meyering  <meyering@lucent.com>
127533         Get it right :-)
127534         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
127535         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
127536         Suggestion from Akim Demaille.
127538 2000-04-17  Jim Meyering  <meyering@lucent.com>
127540         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
127541         the definition of it to rpl_strftime also defined-away the system's
127542         declaration.
127544 2000-04-15  Jim Meyering  <meyering@lucent.com>
127546         Use `C' to denote so-called `contiguous' files, the same way
127547         that tar does.
127548         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
127549         (ftypelet): Use S_ISCTG.
127550         From Michael Deutschmann.
127552 2000-04-14  Jim Meyering  <meyering@lucent.com>
127554         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
127555         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
127556         clobbered.
127558 2000-04-14  Jim Meyering  <meyering@lucent.com>
127560         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
127562 2000-04-13  Jim Meyering  <meyering@lucent.com>
127564         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
127565         AH_VERBATIM to insert required #ifndef into config.h.in.
127566         Suggestion from Akim Demaille.
127568 2000-04-12  Jim Meyering  <meyering@lucent.com>
127570         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
127571         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
127572         Christian Krackowizer.
127574         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
127575         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
127576         (AC_SYS_LARGEFILE): Require.
127577         (AM_C_PROTOTYPES): Require.
127579 2000-04-08  Jim Meyering  <meyering@lucent.com>
127581         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
127582         names don't conflict.  Reported by Eli Zaretskii.
127584 2000-04-07  Jim Meyering  <meyering@lucent.com>
127586         * lib/putenv.c: Move inclusion of errno.h so it follows that of
127587         sys/types.h, to work around system header problems on AIX 3.2.5.
127588         From Bruno Haible.
127590 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
127592         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
127593         bug.  Deal with the different error behavior of Irix iconv.
127595 2000-04-05  Paul Eggert  <eggert@twinsun.com>
127597         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
127598         IRIX if the installer said otherwise.
127600 2000-04-05  Jim Meyering  <meyering@lucent.com>
127602         Portability tweaks required for ultrix4.3.
127603         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
127604         (jm_CHECK_DECLS): Add getutent to the list of functions.
127605         (_jm_DECL_HEADERS): Add utmpx.h.
127606         From John David Anglin.
127608         * m4/strftime.m4: Back out the 2000-04-02 change.
127609         Instead of that change, simply undefine putenv in the test program.
127611 2000-04-05  Jim Meyering  <meyering@lucent.com>
127613         Portability tweaks required for ultrix4.3.
127614         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
127615         getutent.
127616         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
127617         * lib/canon-host.c: Declare strdup.
127618         * lib/path-concat.c: Likewise.
127619         From John David Anglin.
127621 2000-04-04  Jim Meyering  <meyering@lucent.com>
127623         Be more DOS 8.3-friendly.
127624         * lib/ref-add.sin: Renamed from ref-add.sed.in.
127625         * lib/ref-del.sin: Renamed from ref-del.sed.in.
127626         * lib/Makefile.am: Reflect renaming.
127627         Reported by Eli Zaretskii.
127629         Use a temporary file name that won't clash with `charset.alias'
127630         in the DOS 8.3 name space.
127631         * lib/Makefile.am (charset_tmp): Define.
127632         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
127633         (uninstall-local): Likewise.
127634         Reported by Eli Zaretskii.
127636 2000-04-03  Jim Meyering  <meyering@lucent.com>
127638         * m4/gettext.m4: Fix typo in comment.
127640         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
127641         textutils/configure.in).  Suggestion from Paul Eggert.
127642         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
127644 2000-04-02  Paul Eggert  <eggert@twinsun.com>
127646         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
127647         variable in the shell rather than using putenv, which isn't
127648         portable.  This avoids the configure-time inter-test dependency
127649         on the potentially-renamed putenv function.
127651 2000-03-30  Paul Eggert  <eggert@twinsun.com>
127653         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
127654         before checking struct stat.st_blksize, so that
127655         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
127657 2000-03-29  Paul Eggert  <eggert@twinsun.com>
127659         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
127660         since strftime.c uses HAVE_STRFTIME to decide whether to use
127661         the underlying strftime.
127663 2000-03-29  Paul Eggert  <eggert@twinsun.com>
127665         * lib/time/strftime.c (my_strftime): Make sure we call the system
127666         strftime, not ourselves, when invoking the underlying strftime.
127668 2000-03-24  Jim Meyering  <meyering@lucent.com>
127670         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
127671         (charset_alias): Define.
127672         (install-exec-local): Factor out common code.
127673         (uninstall-local): Split lines longer than 80.
127674         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
127675         (SUFFIXES): Define.
127676         (.sed.in.sed): New rule.  Don't redirect directly to $@.
127677         (CLEANFILES): Add ref-add.sed and ref-del.sed.
127679 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
127681         * lib/config.charset: Output a line containing "Packages using this
127682         file".
127683         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
127684         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
127685         ref-del.sed): New rules.
127687 2000-03-17  Jim Meyering  <meyering@lucent.com>
127689         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
127690         Otherwise, include <strings.h>
127692 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
127694         * lib/unicodeio.c (utf8_wctomb): New function.
127695         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
127696         format instead of in UCS-4 with platform dependent endianness.
127698 2000-03-10  Jim Meyering  <meyering@lucent.com>
127700         * m4/lib-check.m4: Look for getspnam in -lgen, too.
127701         From Marco Franzen.
127703 2000-03-07  Paul Eggert  <eggert@twinsun.com>
127705         * lib/savedir.c (savedir): Work even if directory size is
127706         negative; this can happen with some screwy NFS configurations.
127708 2000-03-06  Jim Meyering  <meyering@lucent.com>
127710         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
127711         if it's NULL (because we ran out of memory).  From Bruno Haible.
127713 2000-03-05  Jim Meyering  <meyering@lucent.com>
127715         * lib/localcharset.c ("path-concat.h"): Include.
127716         (get_charset_aliases): Use path_concat instead of ANSI string
127717         concatenation.
127719         * lib/unicodeio.h (PARAMS): Define.
127720         Use it to guard prototype.
127722 2000-03-04  Jim Meyering  <meyering@lucent.com>
127724         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
127725         for lib/localcharset.c.
127727 2000-03-04  Jim Meyering  <meyering@lucent.com>
127729         * lib/Makefile.am (install-exec-local): Create $(libdir) before
127730         installing into it.
127731         (uninstall-local): Uncomment this rule so `make distcheck' works
127732         once again.
127734         * lib/unicodeio.c (<errno.h>): Include it.
127735         (errno): Declare if not defined.
127737         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
127739         * lib/config.charset: New version, incorporating remarks from a linux
127740         i18n mailing list.  From Bruno Haible.
127742 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
127744         * m4/codeset.m4: New file.
127745         * m4/iconv.m4: New file.
127746         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
127748 2000-03-03  Jim Meyering  <meyering@lucent.com>
127750         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
127752 2000-03-02  Jim Meyering  <meyering@lucent.com>
127754         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
127755         the messages come out on separate lines.
127757         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
127758         rather than jm_CHECK_DECLARATIONS.
127759         * m4/decl.m4: Remove now-unused file.
127761         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
127762         geteuid.
127764 2000-03-02  Jim Meyering  <meyering@lucent.com>
127766         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
127768 2000-03-01  Jim Meyering  <meyering@lucent.com>
127770         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
127771         * lib/unicodeio.c: Likewise.
127773 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
127775         * lib/config.charset: New file.
127776         * lib/localcharset.c: New file.
127777         * lib/unicodeio.h, lib/unicodeio.c: New files.
127778         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
127779         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
127780         (noinst_HEADERS): Add unicodeio.h.
127781         (all-local, install-exec-local, charset.alias): New targets.
127783 2000-02-28  Paul Eggert  <eggert@twinsun.com>
127785         * lib/quotearg.c (ALERT_CHAR): New macro.
127786         (quotearg_buffer_restyled): Use it.
127788 2000-02-27  Jim Meyering  <meyering@lucent.com>
127790         * m4/check-decl.m4: Add getenv to the list.
127792 2000-02-27  Jim Meyering  <meyering@lucent.com>
127794         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
127795         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
127797         * lib/backupfile.c: Guard inclusion of stdlib.h with
127798         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
127799         Declare malloc if needed.
127801         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
127802         `#ifndef HAVE_DECL..'
127803         now that autoconf always defines the HAVE_DECL_ symbols.
127804         * lib/human.c: Likewise.
127805         * lib/same.c: Likewise.
127806         * lib/strtoumax.c: Likewise.
127808         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
127809         declaration check was not run.
127810         * lib/hash.c: Likewise.
127811         * lib/human.c: Likewise.
127812         * lib/same.c: Likewise.
127813         * lib/strtoumax.c: Likewise.
127815         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
127816         `.', then first look up the entire `.'-containing string as a login
127817         name.
127819 2000-02-23  Jim Meyering  <meyering@lucent.com>
127821         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
127822         in place of my hack.
127824 2000-02-18  Paul Eggert  <eggert@twinsun.com>
127826         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
127827         (textint): New typedef.
127828         (parser_control): Member year changed from int to textint.
127829         All uses changed.
127830         (YYSTYPE): Removed; replaced by %union with int and textint members.
127831         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
127832         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
127833         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
127834         (tSNUMBER, tUNUMBER): Now of type <textintval>.
127835         (date, number, to_year): Use width of number in digits, not its value,
127836         to determine whether it's a 2-digit year, or a 2-digit time.
127837         (yylex): Store number of digits of numeric tokens.
127838         Reported by John Kendall.
127840         (parser_control): Changed from struct parser_control to typedef (for
127841         consistency).  All uses changed.
127843         (tID): Removed; not used.
127844         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
127846 2000-02-14  Paul Eggert  <eggert@twinsun.com>
127848         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
127849         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
127851 2000-02-12  Jim Meyering  <meyering@lucent.com>
127853         * lib/userspec.c (ISDIGIT): Define it.
127854         (isdigit): Remove definition.
127855         (is_number): Use ISDIGIT, not isdigit.
127856         <libintl.h>: Include.
127857         (_ and N_): Define.
127858         (parse_user_spec): Mark translatable strings.
127860 2000-02-10  Jim Meyering  <meyering@lucent.com>
127862         With these changes, nanosleep.[ch] are finally enough like the other
127863         lib/* replacement files to compile on a few more losing systems.
127865         * lib/nanosleep.h: Don't include config.h.
127866         Remove prototype from declaration of nanosleep.
127867         (PARAMS): Remove now-unneeded definition.
127868         * lib/nanosleep.c: #undef nanosleep.
127869         (rpl_nanosleep): Rename from nanosleep.
127871 2000-02-10  Jim Meyering  <meyering@lucent.com>
127873         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
127874         gnu_nanosleep to rpl_nanosleep.
127876 2000-02-09  Jim Meyering  <meyering@lucent.com>
127878         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
127879         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
127881 2000-02-08  Akim Demaille  <akim@epita.fr>
127883         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
127884         `[' and `]' and remove uses of `changequote'.
127885         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
127886         (AC_SYS_LARGEFILE): Likewise.
127887         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
127888         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
127889         of changequote.
127890         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
127891         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
127892         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
127893         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
127895 2000-02-05  Jim Meyering  <meyering@lucent.com>
127897         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
127898         Remove explicit use of AC_HEADER_TIME.  It is required by
127899         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
127900         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
127901         in autoconf whereby the expansion of the latter ended up preceding
127902         the expansion of its prerequisite, AC_HEADER_TIME.
127903         Reported by Volker Borchert.
127905 2000-02-03  Jim Meyering  <meyering@lucent.com>
127907         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
127909 2000-02-03  Jim Meyering  <meyering@lucent.com>
127911         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
127912         rather than with `#if HAVE_UTMPNAME'.
127914 2000-02-02  Jim Meyering  <meyering@lucent.com>
127916         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
127917         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
127918         Reported by Eli Zaretskii.
127920 2000-02-01  Jim Meyering  <meyering@lucent.com>
127922         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
127924 2000-01-31  Jim Meyering  <meyering@lucent.com>
127926         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
127927         functions.  Add the time.h and sys/time.h headers along with the
127928         AC_REQUIRE'ment of AC_HEADER_TIME.
127930 2000-01-31  Jim Meyering  <meyering@lucent.com>
127932         * lib/nanosleep.h (nanosleep): Guard declaration with
127933         `#if ! HAVE_DECL_NANOSLEEP'.
127934         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
127935         the declaration in that vendor's sys/timers.h.
127936         Reported by Christian Krackowizer.
127938         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
127939         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
127940         (ISPRINT): Likewise.
127941         Reported by Tom Tromey.
127943 2000-01-30  Jim Meyering  <meyering@lucent.com>
127945         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
127947         * m4/prereq.m4 (utmp_includes): Define.
127948         Check for ut_user and ut_name members in both struct utmpx
127949         and struct utmp.
127951 2000-01-30  Jim Meyering  <meyering@lucent.com>
127953         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
127954         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
127955         header files where only utmpx.ut_user is declared.
127957         * lib/readutmp.h (UT_USER): Define.
127959 2000-01-29  Jim Meyering  <meyering@lucent.com>
127961         * m4/lib-check.m4: New file containing library-related checks from
127962         fileutils and sh-utils (textutils had none).
127964 2000-01-28  Jim Meyering  <meyering@lucent.com>
127966         * m4/perl.m4: Change format of warning message to look more like that
127967         from the missing script.  Suggestion from François Pinard.
127969 2000-01-25  Jim Meyering  <meyering@lucent.com>
127971         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
127972         well as time.h in the compile check.
127973         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
127974         Fix typo in cross-compiling case: s/yes/no/.
127976 2000-01-23  Jim Meyering  <meyering@lucent.com>
127978         * m4/jm-macros.m4: Move df-related tests here from
127979         fileutils/configure.in
127981         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
127982         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
127984         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
127985         s/space/ac_fsusage_space/.
127986         (jm_FILE_SYSTEM_USAGE): Take two parameters.
127988         * m4/ftruncate.m4: New file (derived from part of
127989         fileutils/configure.in).
127990         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
127991         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
127993         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
127994         AC_SUBST these here, rather than just in sh-util/configure.in, so
127995         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
127996         all the same.
127997         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
127998         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
127999         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
128000         (AC_SUBST(POW_LIBM)): Likewise.
128001         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
128003 2000-01-23  Jim Meyering  <meyering@lucent.com>
128005         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
128006         obstack.c.
128008 2000-01-22  Jim Meyering  <meyering@lucent.com>
128010         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
128012         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
128014         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
128015         configure.in
128016         (AC_CHECK_HEADERS): Likewise for sh-utils.
128017         (AC_CHECK_HEADERS): Likewise for textutils.
128018         Merge the three lists of headers.
128020         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
128021         from fileutils' configure.in.
128023         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
128024         code. Moved tests into their own function (_jm_DECL_HEADERS) in
128025         check-decl.m4.
128027         * m4/check-decl.m4: Use #if rather than #ifdef.
128028         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
128029         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
128030         (_jm_DECL_HEADERS): Define new function.
128031         (jm_CHECK_DECLARATIONS): Require it.
128033 2000-01-22  Jim Meyering  <meyering@lucent.com>
128035         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
128036         [! HAVE_DECL_STRTOULL]: Declare strtoull.
128037         Required for some AIX systems.  Reported by Christian Krackowizer.
128038         [TESTING] (main): New function.
128040         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
128041         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
128042         letters.
128044         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
128045         iswprint.
128047         * lib/strverscmp.c (ISDIGIT): Define.
128048         (strverscmp): Use ISDIGIT, not isdigit.
128050 2000-01-19  Jim Meyering  <meyering@lucent.com>
128052         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
128053         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
128054         defines `struct timespec' in <sys/time.h>
128056         * m4/c-bs-a.m4: Remove uses of changequote altogether.
128057         Thanks to Akim for explaining.
128059 2000-01-17  Paul Eggert  <eggert@twinsun.com>
128061         * lib/nanosleep.c (nanosleep):
128062         Don't use SA_INTERRUPT to decide whether to call sigaction, as
128063         POSIX.1 doesn't require SA_INTERRUPT and some systems
128064         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
128065         it's been part of POSIX.1 since day 1 (in 1988).
128067 2000-01-17  Jim Meyering  <meyering@lucent.com>
128069         * lib/interlock: Remove unused file.  Reported by François Pinard.
128071 2000-01-16  Paul Eggert  <eggert@twinsun.com>
128073         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
128074         alert, backslash, formfeed, and vertical tab unnecessarily in
128075         shell quoting style.
128077 2000-01-16  Jim Meyering  <meyering@lucent.com>
128079         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
128080         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
128081         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
128082         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
128084 2000-01-16  Jim Meyering  <meyering@lucent.com>
128086         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
128087         because the latter didn't work.
128089 2000-01-15  Jim Meyering  <meyering@lucent.com>
128091         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
128092         (AC_REPLACE_FUNCS): Add memcpy and memset.
128093         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
128094         Add strpbrk.
128095         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
128097 2000-01-12  Jim Meyering  <meyering@lucent.com>
128099         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
128100         (jm_PREREQ): Use it.
128101         (jm_PREREQ_READUTMP): New macro.
128102         (jm_PREREQ): Use it.
128104 2000-01-11  Paul Eggert  <eggert@twinsun.com>
128106         Quote multibyte characters correctly.
128107         * m4/c-bs-a.m4: New file.
128108         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
128109         (jm_PREREQ): Use it.
128111 2000-01-11  Paul Eggert  <eggert@twinsun.com>
128113         * m4/uintmax_t.m4: Port to autoconf 2.13.
128115 2000-01-08  Jim Meyering  <meyering@ascend.com>
128117         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
128118         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
128120 2000-01-04  Jim Meyering  <meyering@ascend.com>
128122         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
128123         jm_STRUCT_DIRENT_D_TYPE.
128124         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
128125         jm_STRUCT_DIRENT_D_INO.
128126         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
128127         jm_STRUCT_UTIMBUF.
128128         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
128129         renamings.
128130         * m4/utime.m4: Likewise.
128132         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
128133         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
128135 2000-01-03  Paul Eggert  <eggert@twinsun.com>
128137         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
128138         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
128140 2000-01-02  Jim Meyering  <meyering@ascend.com>
128142         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
128143         remember if this is necessary.
128145 1999-12-26  Jim Meyering  <meyering@ascend.com>
128147         * m4/jm-macros.m4: Use it here.
128148         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
128150 1999-12-23  Jim Meyering  <meyering@ascend.com>
128152         * m4/jm-macros.m4: Check for clock_gettime (moved from
128153         fileutils/configure.in)
128154         Check for gettimeofday.
128156 1999-12-20  Jim Meyering  <meyering@ascend.com>
128158         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
128159         autoconf-2.14a-1999-12-20.
128161 1999-12-19  Jim Meyering  <meyering@ascend.com>
128163         * m4/lstat-slash.m4: New file.
128164         * m4/jm-macros.m4: Use the new macro:
128165         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
128167 1999-12-07  Jim Meyering  <meyering@ascend.com>
128169         * m4/perl.m4: Require that File::Compare be available, too.
128170         Too many systems seem to lack it.
128172         * m4/strftime.m4: Add checks for most of the cpp macros tested in
128173         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
128175 1999-11-18  Paul Eggert  <eggert@twinsun.com>
128177         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
128178         problem with the QNX 4.25 shell, which doesn't propagate exit
128179         status of failed commands inside shell assignments.
128181 1999-11-17  Jim Meyering  <meyering@ascend.com>
128183         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
128185 1999-11-07  Jim Meyering  <meyering@ascend.com>
128187         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
128189 1999-11-06  Jim Meyering  <meyering@ascend.com>
128191         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
128192         * m4/jm-macros.m4 (jm_MACROS): Use it here.
128194 1999-11-05  Jim Meyering  <meyering@ascend.com>
128196         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
128197         configure.in of textutils, fileutils, and sh-utils into this one
128198         (shared between those packages) file.
128199         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
128200         AC_STRUCT_ST_BLKSIZE.
128202 1999-11-03  Jim Meyering  <meyering@ascend.com>
128204         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
128205         of AC_CHECK_TYPE checks includes unistd.h.
128206         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
128207         Suggestion from Akim Demaille.
128209 1999-10-30  Jim Meyering  <meyering@ascend.com>
128211         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
128212         m4-quoted string.
128213         * m4/ls-mntd-fs.m4: Likewise.
128214         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
128215         * m4/jm-winsz1.m4: Likewise.
128217         * m4/const.m4: Remove file, since the fix made it into the experimental
128218         version of autoconf.
128219         * m4/mktime.m4: Likewise.
128221         * m4/check-type.m4: Remove file, now that the latest version of
128222         AC_CHECK_TYPE takes a third arg to specify additional #includes.
128224         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
128225         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
128226         AC_CHECK_TYPE.
128228 1999-10-04  Jim Meyering  <meyering@ascend.com>
128230         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
128232 1999-09-22  Paul Eggert  <eggert@twinsun.com>
128234         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
128235         2.95.1 bug with HP-UX 10.20.
128237 1999-09-17  Jim Meyering  <meyering@ascend.com>
128239         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
128240         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
128241         due to missing strdup (against sh-utils-2.0).
128243 1999-08-29  Jim Meyering  <meyering@ascend.com>
128245         * m4/jm-macros.m4: Require jm_BISON.
128246         * m4/bison.m4: New file.
128248 1999-08-17  Paul Eggert  <eggert@twinsun.com>
128250         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
128251         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
128253 1999-08-05  Jim Meyering  <meyering@ascend.com>
128255         * m4/getline.m4: Rename test file from conftestdata to conftest.data
128256         to avoid conflicts with `conftest' on 8+3 filesystems.
128257         Suggestion from Eli Zaretskii.
128259 1999-08-04  Jim Meyering  <meyering@ascend.com>
128261         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
128262         fileutils and sh-utils (textutils's getline test was inadequate).
128263         (AM_FUNC_GETLINE): Run this test.
128264         (AC_CHECK_FUNCS): Check for getdelim.
128265         Reported by Bob Proulx.
128267 1999-08-02  Jim Meyering  <meyering@ascend.com>
128269         * m4/jm-macros.m4: Add a comment.
128271 1999-08-01  Paul Eggert  <eggert@twinsun.com>
128273         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
128274         <inttypes.h> defines strtoumax as a macro (and not as a
128275         function).
128277 1999-08-01  Paul Eggert  <eggert@twinsun.com>
128279         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
128280         that we can shift, multiply and divide unsigned long long
128281         values; Ultrix cc can't do it.
128283 1999-08-01  Paul Eggert  <eggert@twinsun.com>
128285         * m4/mktime.m4: New file, which is a preview of what should appear
128286         in the next public autoconf release.
128288 1999-08-01  Paul Eggert  <eggert@twinsun.com>
128290         * m4/lfs.m4: Remove this file.
128291         * m4/largefile.m4: New file.  It contains the old contents of
128292         lfs.m4, except that all names with prefix AC_LFS have been
128293         changed to use the prefix AC_SYS_LARGEFILE instead, to be
128294         compatible with future autoconf versions.  Also, some minor m4
128295         quoting problems have been fixed.
128297 1999-08-01  Paul Eggert  <eggert@twinsun.com>
128299         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
128300         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
128301         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
128302         and simplify the shell code.
128304 1999-08-01  Jim Meyering  <meyering@ascend.com>
128306         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
128307         m4.
128309 1999-07-20  Jim Meyering  <meyering@ascend.com>
128311         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
128313 1999-07-15  Jim Meyering  <meyering@ascend.com>
128315         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
128317 1999-05-22  Jim Meyering  <meyering@ascend.com>
128319         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
128321 1999-05-20  Jim Meyering  <meyering@ascend.com>
128323         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
128324         Add a colon after each `then' in case $4 is empty.
128326 1999-05-16  Jim Meyering  <meyering@ascend.com>
128328         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
128330 1999-05-10  Jim Meyering  <meyering@ascend.com>
128332         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
128334         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
128335         AC_FUNC_MKTIME.
128337 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
128339         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
128341 1999-05-04  Paul Eggert  <eggert@twinsun.com>
128343         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
128344         not CPPFLAGS, so that linking works correctly in IRIX.
128346 1999-04-30  Paul Eggert  <eggert@twinsun.com>
128348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
128350 1999-04-20  Paul Eggert  <eggert@twinsun.com>
128352         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
128353         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
128354         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
128355         jm_AC_TYPE_UNSIGNED_LONG_LONG.
128356         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
128358         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
128360 1999-04-20  Jim Meyering  <meyering@ascend.com>
128362         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
128363         AC_REPLACE xstroull if necessary.  From Paul Eggert.
128364         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
128366 1999-04-18  Jim Meyering  <meyering@ascend.com>
128368         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
128369         * m4/jm-macros.m4: Use it.
128371 1999-04-06  Jim Meyering  <meyering@ascend.com>
128373         * m4/strftime.m4: Remove test for %f.
128375 1999-03-29  Jim Meyering  <meyering@ascend.com>
128377         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
128378         superset of the AC_TYPE_* checks in the textutils, fileutils,
128379         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
128380         AC_TYPE_PID_T.
128382 1999-03-28  Jim Meyering  <meyering@ascend.com>
128384         * m4/jm-macros.m4: Define GNU_PACKAGE here.
128385         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
128386         replaced e.g., in the *.sh files of the sh-utils.
128388 1999-03-20  Jim Meyering  <meyering@ascend.com>
128390         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
128391         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
128392         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
128394 1999-03-19  Jim Meyering  <meyering@ascend.com>
128396         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
128398 1999-03-12  Jim Meyering  <meyering@ascend.com>
128400         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
128402 1999-03-07  Jim Meyering  <meyering@ascend.com>
128404         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
128405         declared.
128407 1999-02-17  Jim Meyering  <meyering@ascend.com>
128409         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
128410         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
128412 1999-02-07  Jim Meyering  <meyering@ascend.com>
128414         * m4/group-member.m4: New file -- extracted from sh-utils'
128415         configure.in.
128417         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
128418         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
128420 1999-02-06  Jim Meyering  <meyering@ascend.com>
128422         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
128423         * m4/fnmatch.m4: Likewise.
128424         * m4/getgroups.m4: Likewise.
128425         * m4/lstat.m4: Likewise.
128426         * m4/malloc.m4: Likewise.
128427         * m4/putenv.m4: Likewise.
128428         * m4/realloc.m4: Likewise.
128429         * m4/regex.m4: Likewise.
128430         * m4/stat.m4: Likewise.
128431         * m4/strftime.m4: Likewise.
128432         Suggestion from Alain Magloire.
128434         * m4/chown.m4: Use `.$ac_objext', not `.o'.
128435         * m4/fnmatch.m4: Likewise.
128436         * m4/getgroups.m4: Likewise.
128437         * m4/getline.m4: Likewise.
128438         * m4/lstat.m4: Likewise.
128439         * m4/malloc.m4: Likewise.
128440         * m4/memcmp.m4: Likewise.
128441         * m4/putenv.m4: Likewise.
128442         * m4/realloc.m4: Likewise.
128443         * m4/regex.m4: Likewise.
128444         * m4/stat.m4: Likewise.
128445         * m4/strftime.m4: Likewise.
128446         Suggestion from Alain Magloire.
128448         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
128449         an argument.
128451         * m4/regex.m4: Add a run-time Test for proper operation of
128452         re_compile_pattern.
128454 1999-01-31  Jim Meyering  <meyering@ascend.com>
128456         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
128458 1999-01-30  Jim Meyering  <meyering@ascend.com>
128460         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
128462         * m4/jm-mktime.m4: Make this a wrapper around the official
128463         AM_FUNC_MKTIME rather than my private copy, now that the official one
128464         is up to date.
128465         * m4/mktime.m4: Remove file.
128467         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
128468         * m4/uptime.m4: Likewise.
128469         * m4/uintmax_t.m4: Likewise.
128471 1999-01-28  Jim Meyering  <meyering@ascend.com>
128473         * m4/jm-macros.m4: Use jm_AFS.
128474         * m4/afs.m4: New file (from fileutils' configure.in).
128476         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
128477         * m4/chown.m4: Likewise.
128478         * m4/d-ino.m4: Likewise.
128479         * m4/d-type.m4: Likewise.
128480         * m4/fnmatch.m4: Likewise.
128481         * m4/getgroups.m4: Likewise.
128482         * m4/gettext.m4: Likewise.
128483         * m4/jm-mktime.m4: Likewise.
128484         * m4/jm-winsz2.m4: Likewise.
128485         * m4/lcmessage.m4: Likewise.
128486         * m4/ls-mntd-fs.m4: Likewise.
128487         * m4/malloc.m4: Likewise.
128488         * m4/memcmp.m4: Likewise.
128489         * m4/putenv.m4: Likewise.
128490         * m4/realloc.m4: Likewise.
128491         * m4/st_mtim.m4: Likewise.
128492         * m4/strftime.m4: Likewise.
128494 1999-01-16  Jim Meyering  <meyering@ascend.com>
128496         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
128497         (ARGMATCH_DIE_DECL): Define.
128499 1999-01-12  Jim Meyering  <meyering@ascend.com>
128501         * m4/Makefile.am.in: Rewrite to avoid using fmt.
128502         Reported by Lars Hecking.
128504 1999-01-10  Jim Meyering  <meyering@ascend.com>
128506         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
128507         gross kludge.
128508         * m4/inttypes_h.m4: Likewise.
128509         * m4/lstat.m4: Likewise.
128510         * m4/malloc.m4: Likewise.
128511         * m4/readdir.m4: Likewise.
128512         * m4/realloc.m4: Likewise.
128513         * m4/st_dm_mode.m4: Likewise.
128514         * m4/stat.m4: Likewise.
128515         * m4/utimbuf.m4: Likewise.
128516         * m4/utimes.m4: Likewise.
128518         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
128519         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
128520         comments in config.h.in are meaningful.
128522         * m4/jm-macros.m4: Require autoconf-2.13 here.
128524         * m4/regex.m4: By default, don't use the included regex.c on systems
128525         with glibc 2.  Suggestion from Uli Drepper.
128527 1999-01-02  Jim Meyering  <meyering@ascend.com>
128529         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
128531 1998-12-18  Jim Meyering  <meyering@ascend.com>
128533         * m4/Makefile.am.in (Makefile.am): Simplify rule.
128534         Based on a suggestion from Lars Hecking.
128536 1998-11-16  Paul Eggert  <eggert@twinsun.com>
128538         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
128540 1998-11-16  Jim Meyering  <meyering@ascend.com>
128542         * m4/lfs.m4: Double-quote the `uname...` expression.
128544 1998-11-14  Jim Meyering  <meyering@ascend.com>
128546         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
128547         * m4/stat.m4: Likewise.
128549 1998-11-03  Jim Meyering  <meyering@ascend.com>
128551         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
128552         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
128554 1998-10-18  Jim Meyering  <meyering@ascend.com>
128556         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
128558 1998-10-17  Jim Meyering  <meyering@ascend.com>
128560         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
128561         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
128562         calls for those previously hard-coded headers.  Instead, take a new
128563         parameter.
128564         (jm_CHECK_DECLARATIONS): Reflect interface change.
128565         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
128566         (jm_CHECK_DECL_LOCALTIME_R): New macro.
128568         * m4/mktime.m4: Test for spring-forward gap before long-running test.
128570 1998-10-14  Jim Meyering  <meyering@ascend.com>
128572         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
128573         instead of "TZ=America/Vancouver".  From Paul Eggert.
128575 1998-10-11  Jim Meyering  <meyering@ascend.com>
128577         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
128578         This adds a test for a recently added compatibility fix for mktime.c.
128579         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
128581 1998-09-27  Jim Meyering  <meyering@ascend.com>
128583         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
128585         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
128586         ../configure.in, including a change from Gordon Matzigkeit to allow
128587         cross-compiling for the Hurd.
128589         * m4/glibc.m4: New file/macro to test for the GNU C Library
128590         versions 1 and 2.  From Gordon Matzigkeit.
128591         Indent.
128593 1998-09-21  Jim Meyering  <meyering@ascend.com>
128595         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
128597 1998-08-18  Paul Eggert  <eggert@twinsun.com>
128599         Port nanosecond-resolution times to UnixWare 2.1.2 and
128600         pedantic Solaris 2.6.
128602         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
128603         AC_STRUCT_ST_MTIM.
128604         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
128605         Generate name of ns member, instead of just 1 or undef.
128606         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
128608 1998-08-15  Jim Meyering  <meyering@ascend.com>
128610         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
128611         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
128612         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
128613         instead of jm_TYPE_SSIZE_T.
128615 1998-08-12  Jim Meyering  <meyering@ascend.com>
128617         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
128619 1998-08-02  Jim Meyering  <meyering@ascend.com>
128621         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
128622         in acconfig.h manually.
128624 1998-07-31  Paul Eggert  <eggert@twinsun.com>
128626         * m4/st_mtim.m4: New file.
128628 1998-07-28  Jim Meyering  <meyering@ascend.com>
128630         * m4/utimes.m4: Undef stat.
128632 1998-07-25  Jim Meyering  <meyering@ascend.com>
128634         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
128635         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
128637 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
128639         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
128640         uid and gid actually remain unchanged.
128642 1998-07-07  Jim Meyering  <meyering@ascend.com>
128644         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
128646 1998-07-04  Jim Meyering  <meyering@ascend.com>
128648         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
128649         to prove that this macro can be used in packages without regex.c.
128651 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
128653         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
128654         is to be used.
128656 1998-07-03  Jim Meyering  <meyering@ascend.com>
128658         * m4/gettext.m4: Add -lintl if it's found to be necessary.
128660         * m4/gettext.m4: New file -- from gettext-0.10.35.
128661         * m4/lcmessage.m4: Likewise.
128662         * m4/progtest.m4: Likewise.
128664         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
128665         * m4/jm-macros.m4: Require the new macro.
128667 1998-06-29  Jim Meyering  <meyering@ascend.com>
128669         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
128670         for the definition of NGROUPS (used in a system header included
128671         by sys/mount.h).
128673 1998-06-28  Jim Meyering  <meyering@ascend.com>
128675         * m4/ls-mntd-fs.m4: New file.
128676         * m4/fstypename.m4: New file.
128678         * m4/jm-macros.m4: Require the new macro.
128679         * m4/jm-glibc-io.m4: New file.
128681 1998-05-19  Jim Meyering  <meyering@ascend.com>
128683         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
128684         * m4/lchown.m4: New file.
128686         * m4/Makefile.am.in: New file.
128687         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
128689 1998-05-14  Jim Meyering  <meyering@ascend.com>
128691         * m4/Makefile.am (EXTRA_DIST): Add them.
128692         * m4/jm-macros.m4: New file.
128693         * m4/utimbuf.m4: New file.
128695 1998-05-12  Jim Meyering  <meyering@ascend.com>
128697         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
128699 1998-05-11  Jim Meyering  <meyering@ascend.com>
128701         * m4/isc-posix.m4: New file.
128703 1998-05-10  Jim Meyering  <meyering@ascend.com>
128705         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
128707 1998-05-09  Jim Meyering  <meyering@ascend.com>
128709         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
128710         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
128711         with automake.
128713         * m4/ssize_t.m4: New file.
128714         * m4/mktime.m4: Remove file -- the new automake has this now.
128716 1998-04-26  Jim Meyering  <meyering@ascend.com>
128718         * m4/assert.m4: New file.
128719         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
128721 1998-04-05  Jim Meyering  <meyering@ascend.com>
128723         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
128724         (jm_PREREQ): Use it here.
128726 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
128728         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
128729         in acconfig.h.
128731 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
128733         * m4/prereq.m4: New file.
128734         * m4/error.m4: New file.
128735         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
128737 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
128739         * m4/getline.m4: Don't set am_cv_func_working_getline before the
128740         cache-check for the same variable -- that defeated the purpose of
128741         the test; the test program was never run.  This was a problem only
128742         on systems with losing getline functions -- HP-UX 10.20 is one.
128743         Reported by Bjorn Helgaas.
128745 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
128747         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
128749 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
128751         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
128753         * m4/const.m4: New file.  Use an initializer in this declaration
128754         typedef int charset[2]; const charset x;
128755         Reported by Bob Glickstein.
128757 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
128759         * m4/chown.m4: Fix reversed types on -1 args to chown.
128760         From Kaveh Ghazi.
128762 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
128764         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
128765         Add lseek and memchr.
128767         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
128768         T.E.Dickey <dickey@clark.net> said that some older preprocessors
128769         have a 20-character limit on names.
128771 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
128773         * m4/inttypes_h.m4: New file.
128774         * m4/uintmax_t.m4: New file.
128775         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
128778         -----
128780         Local Variables:
128781         coding: utf-8
128782         End:
128784         Copyright (C) 1997-2020 Free Software Foundation, Inc.
128786         Copying and distribution of this file, with or without
128787         modification, are permitted provided the copyright notice
128788         and this notice are preserved.